問題タブ [anchor-modeling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
4542 参照

frameworks - データ ウェアハウスのフレームワークはありますか?

レポートを生成するために必要な mysql データがたくさんあります。ほとんどが過去のデータであるため、あまり変化しませんが、20 ~ 30 ギガバイトの容量があり、今後も大きくなることが予想されます。私は現在、いくつかの複雑なクエリを実行し、csv および Excel ファイルを出力する php スクリプトのコレクションを持っています。また、ブックマークされたクエリで phpMyAdmin を使用しています。それらを手動で編集してパラメーターを変更します。データの量が増えており、それにアクセスする必要がある人の数も増えているため、この状況を改善するために時間を割いています。

先日、データ ウェアハウジングについて読み始めましたが、これは私がしなければならないことに関連する分野のようです。私はいくつかの 良い 記事を読み、本を待っています. この種のシステムが何をするのか、何ができるのかを把握していると思います。

自分のデータのレポート システムを作成することは、常にやるべきことのリストにありましたが、最近まで、それは非常にニッチなプログラミング ベンチャーになるだろうと考えていました。データ ウェアハウジングが一般的なものであることを知ったので、開発を容易にするために利用可能な何らかのレポート/ウェアハウジング フレームが必要であると考えています。レポートなどをスケジュールしたりメールで送信したりするためのインターフェースやスクリプトを書くことは喜んで飛ばし、クエリを書いたり関係を設定したりすることに専念したいと思います。

私は主にランプの男でしたが、言語やプラットフォームを切り替えることは好きではありません。1 回限りのスクリプトはうまくスケーリングできないため、より堅牢なソリューションが必要です。

では、始めるのに適した場所はどこでしょうか?

0 投票する
5 に答える
8147 参照

sql - ひねりを加えたテンポラル データベース設計 (ライブ vs ドラフト行)

ライブ オブジェクトとドラフト オブジェクトの両方が必要であるというひねりを加えたオブジェクトのバージョン管理の実装を検討しています。潜在的に恐ろしいハックなしでそれが可能であるかどうか疑問に思っているので、これに関する誰かの経験からの洞察を使用できます。

例のためにタグ付きの投稿に分割しますが、私のユースケースはもう少し一般的です (ゆっくりと変化する次元を含む - http://en.wikipedia.org/wiki/Slowly_changeing_dimension )。

posts テーブル、tags テーブル、post2tag テーブルがあるとします。

私はいくつかのことが必要です:

  1. 削除された行を含め、任意の日時に投稿がどのように見えるかを正確に示すことができます。
  2. 完全な監査証跡のために、誰が何を編集しているかを追跡します。
  3. 参照整合性を維持するために、具体化されたビュー (「ライブ」テーブル) のセットが必要です (つまり、ログは開発者に対して透過的である必要があります)。
  4. ライブおよび最新のドラフト行に対して適切に高速である必要があります。
  5. 下書き投稿とライブ投稿を共存させることができます。

さまざまなオプションを調査してきました。これまでのところ、私が思いついた最高のもの (ポイント #4/#5 を除く) は、SCD type6 ハイブリッド セットアップに少し似ていますが、現在のブール値を持つ代わりに、現在の行の具体化されたビューがあります。すべての意図と目的のために、次のようになります。

ピリオド (created_at、deleted_at) のインデックスを維持するために pg_temporal を使用しています。そして、トリガーを使用してさまざまなテーブルを同期させます。ヤダヤダヤダ... 下書きが公開されずにリビジョンに保存されるように、投稿/タグの編集をキャンセルできるトリガーを作成しました。それはうまくいきます。

post2tag の下書き行関連の関係について心配する必要がある場合を除きます。その場合、すべての地獄が解き放たれます。これは、何らかの設計上の問題があることを示唆しています。でもアイデアが尽きた…

データの重複を導入することを検討しました (つまり、ドラフト リビジョンごとに導入された n 個の post2tag 行)。この種の作品は、私が望むよりもずっと遅くなる傾向があります。

「最後のドラフト」にドラフトテーブルを導入することを検討しましたが、これはすぐに非常に見苦しくなります。

私はあらゆる種類のフラグを検討しました...

質問: 行バージョン制御環境でライブ行と非ライブ行を管理する一般的に受け入れられている方法はありますか? そうでない場合、何を試してかなりの成功を収めましたか?

0 投票する
5 に答える
6540 参照

sql - アンカーモデリングの長所と短所は何ですか?

私は現在、データの非常に大きな割合が一時的なものであるデータベースを作成しようとしています。これを行うための多くのテクニック(ほとんどは6nfの正規化を含む)を読んだ後、アンカーモデリングに遭遇しました。

私が開発していたスキーマは、特にユースケース(時間データ+既知の未知数)が非常に似ているため、アンカーモデリングモデルに非常に似ていたため、完全に採用したいと思っています。

私が抱えている2つの最大の問題は、このアプローチの欠点を詳しく説明しているものが見つからないことと、戦争の物語や落とし穴の制作にこのアプローチを使用している組織への言及が見つからないことです。

ここにいる誰かが、いくつかのネガティブ(ポジティブは研究論文とそのサイトで非常によく宣伝されているため)と、それを本番環境で使用した経験について簡単に説明するのに十分な知識があるかどうか疑問に思います。

0 投票する
1 に答える
636 参照

database-design - アンカー モデリングにおける非破壊的なスキーマ進化とは何を意味しますか?

アンカー モデルがあり、単一の Name 属性を FirstName、MiddleName、および LastName の 3 つの属性に置き換えるとします。元の名前属性はどうなりますか? 破壊的に感じるスキーマ変更は他にもあると想像できますが、非破壊的な方法でスキーマを進化させるという Anchor Modeling の主張は何を意味するのでしょうか?

0 投票する
2 に答える
406 参照

mongodb - 進化するコンテンツ管理アプリケーションのためのアジャイル/進化的データベース モデリング

明確にするために、私がアジャイルと言うとき、アジャイル開発プロセスのことを意味しているわけではありません。つまり、新しいオブジェクト属性を追加および管理できる、進化するデータ モデルです。

ユーザーがデータ入力用の新しいコンテンツ フォームを作成できるようにする Web アプリケーションの課題に取り組もうとしています。このフォームは、追加のフィールドを追加 (または場合によっては変更) することで進化 (おそらくバージョン管理) できます。これ自体は単純明快です。各ユーザーのコンテンツ フォームには、読み取り/書き込みを処理する動的に作成されたビューとトリガーがあり、コンテンツ フォームの構造が変更されると、基になるテーブルが動的に作成されます。データ入力ではトリガーを使用して書き込みを行い、ビューを使用して読み取りを行います。

私がアドバイスを求めているのは、この種の課題に役立つ既存のデータベース モデリング手法またはデータベース タイプがあるかどうかです。アプリケーションには、変更の追跡、履歴の表示、根本的に異なるコンテンツ フォーム間の移行などに関するより多くの要件があります。おそらく、いくつかの複雑な認証ベースの Web アプリケーションの表示も同様に追加されるでしょう。

私はAnchor Modelingを詳しく調べました。これにはバイテンポラル モデリングの側面があり、その 6NF によってアジャイルなスキーマ開発が可能になりますが、適切に開発されたモデルから SQL スクリプト、コンテンツを進化させることができる Web アプリケーションに移行する方法が明確ではありません。データ。たぶん私はそれを間違って見ているかもしれませんが、アンカーモデルのトリガーやビューを変更したくないので、オンデマンドで拡張できるモデルを作成できるとは思いません. 変更を安全に行うには、モデリング ツールが必要です。

利用可能な NoSQL データベースのいくつかをさらに調査する必要があります。MongoDBは、そのドキュメント指向のストレージで非常に興味深いようです。

これらのツールまたは説明したデータ モデリングの課題に関するアドバイスや経験は大歓迎です。事前にご回答いただきありがとうございます。

0 投票する
1 に答える
342 参照

sql-server - ETL手順を使用してOLE DBソースからアンカーモデルテーブルにデータを送信する方法は?

私は現在、このタスクを解決しています: 一部のデータは、AdventureWorks2012 から MSQL の同じサーバー上のアンカー モデル テーブルに送信する必要があります。これは私のアンカーモデルです アンカーモデル

MsSQL のアンカー モデル ダイアグラム

この時点で、Visual Studio に非常に単純な Integration Services プロジェクトがあり、次のようになっています。制御フロー:
ここに画像の説明を入力 たとえば、Load_territories は次のとおりです。 ![ここに画像の説明を入力

主な要件は、MsSQL のアンカー モデル テーブルのすべてのテーブルを埋めることですが、私は常に問題に直面しています: テーブル内の属性の量が異なり、それらのいくつかが繰り返されています。 、TR_TNM_TR_ID には dwh_key からの同じ値が含まれていますが、属性間に 1 対多の関係を作成することは不可能です。私の家庭教師は Lookup の使用を勧めましたが、このプロジェクトでそれらを実装する方法がわかりません。 ここに画像の説明を入力