0

非常に単純なユースケースがありますが、ニーズに合った最適な DB ソリューションを選択するのに苦労しています。

要件:

さまざまなプロパティ (数千) で数百万のレコードをクエリでき、1 つの主キーを保持できる OLAP DB。また、データのアップロード時に部分的に高速である必要があります。

ユースケース:

ユーザーデータベースがあり、すべてのユーザーは異なるプロパティに属しています。最大 10,000 のプロパティがありますが、ほとんどのユーザーのプロパティはそれぞれ 30 未満です。

表の例:

ユーザー/プロパティ

ユーザー1/1,5,10

user2/7,5,9,24,42,1090

ユーザー3/9

ユーザー4/98,1049,2000

. .

理想的なシナリオは、すべてのプロパティが列であり、データベースで 10,000 を超えるプロパティを許可する列型ストア データベースを使用することです。

Monetdb は私たちにぴったりですが、非常に重大な欠点が 2 つあります。

  • バルク ロードは非常に低く、テストでは、アップロードされたレコードごとに 5 ミリ秒でした。100 万件のレコードをアップロードするには 1 時間以上かかり、非常に時間がかかります。
  • 重複する主キーで一括読み込みが失敗します (その「重複するキー」のプロパティ値を更新したいのですが、このデータベースでは不可能です)。

ドルイドについても考えていましたが、より「イベント」主導です。すべてのプロパティが追加されたときのタイムスタンプが必要です。除外されたわけではありませんが、私たちが必要としているものに完全に適合するわけではありません.

必要に応じてさらに説明を行うことができます。ガイダンスをいただければ幸いです。

ありがとう

4

1 に答える 1

0

データベースに一括ロードする方法は不明です。100 列と 1 億 2500 万行のテーブルに対する単純な COPY INTO は、通常の 4 コア デスクトップと 16G RAM で約 30 分以上かかりません。たとえば、http: //homepages.cwi.nl/~mk/ontimeReportを参照してください。

10K 列を導入すると、ユーザーごとにすべての値が設定されることに注意してください。データベースの設計を再考し、user:property テーブルの設定にもっと頼るかもしれません。

于 2016-03-27T13:13:12.067 に答える