web-dev-qa-db-ja.com

大規模でスパースな行列を格納およびクエリするための最良のオープンソースDBテクノロジー

私は大きなベクトル空間モデルを持っており、各点は多変量観測です。言い換えれば、私は非常に大きなレコードを多数持っており、そのほとんどはintとfloatです。私はメモリ内の行列から始めましたが、多数のポイント(1B +)と多数の次元(1K +)を考えると、それがオプションではないことにすぐに気付きました。

する必要がある

1)全体を永続的かつ動的にします(ポイント/寸法を簡単に追加/更新/削除したい)

2)VSMを効率的にクエリし、類似性クエリ(ポイントを指定して、上位K個の類似ポイントを検索)と範囲クエリ(サブスペース内のすべてのポイントを検索)を実行します。

いくつかの読書に基づいて、これを行うための既製のパッケージはないようです。この種のシナリオを実装するために何を使用しますか?ディメンションの数が多いため、リレーショナルデータベースの行として各ポイントをダンプすることはできませんでした。正規化した後でも、リレーショナルデータベースは明らかに遅すぎて類似性クエリを実行できませんでした。

さらに、マトリックスのチャンクで内積を計算する必要があります。この場合、どのテクノロジーをお勧めしますか?たとえば、配列データベースとOLAPキューブについて読んだことがありますが、実際のDBAからアドバイスをもらいたいと思います。

ありがとう、Mulone

2
Mulone

SciDB -まさにこのユースケース向けに設計されたデータベースをご覧ください。それはその主要な推進力として Michael Stonebraker 、データベースについてよく知っている人です-彼はほとんどの人が温かい夕食を食べたよりも多くのデータベースシステムに関与していると言っても過言ではありませんがそれほどではない:-)!

「Ingres、Illustra、Cohera、StreamBase Systems、Vertica、VoltDB、およびParadigm4を含みます。以前はInformixの最高技術責任者(CTO)でした。また、 『Readings in Database Systems』の編集者でもあります。」.

グーグル「マイケルストーンブレーカーscidbスパース行列」とそのサブセットと私はそれがあなたが望むものにぴったりかもしれないと思います。

2
Vérace