現在、データベース ベンダーを選択しようとしています。
仲間のデータベース開発者からの個人的な意見を求めているだけです。
私の質問は、特に次のような人々を対象としています。
1) 以前にディスク (ハイブリッド) へのレプリケーションをサポートするメイン メモリ DB (MMDB) を使用したことがある (つまり、 ExtremeDB )
また
2) Versant Object Databaseおよび/またはObjectivity Databaseおよび/またはProgress ObjectStoreを使用したことがある
質問は本当に: あなたの経験に基づいて、私のアプリケーションに適したデータベース ベンダーをお勧めできるかどうかです。
私のアプリケーションは商用のリアルタイム (ハイパフォーマンス) オブジェクト指向 C++ GIS アプリであり、多くの緯度/経度検索を行う必要があります (つまり、特定のエリアで、そのエリア内の一致するすべてのターゲットを検索します)。 ..R ツリー インデックス)。
データベースに保存したいデータの型はすべてオブジェクトとしてモデル化されており、それらは std::list と std::vector を使用しているため、当然オブジェクト データベースは理にかなっているように思えます。従来の RDBMS はおそらく私が実際に探しているものではないことを確信するのに十分な記事を読みました。
- パフォーマンス (リスト/ベクターなどの動的長データの結合または複数のテーブル)
- プログラミングの容易さ (インピーダンスのミスマッチ)
ただ、性能面では、
入力データは、約 40 MB/秒でシステムに供給されています。
したがって、システムは 1 秒あたり約 350 回の挿入の速度でデータベースへの挿入も行います (各オブジェクトは 64KB から 128KB まで変化します)。
- データベースは、複数のスレッドを介して一貫して検索および更新されます。
私の理解では、ここにリストしたすべてのオブジェクト DB はデータベース オブジェクトを格納するためにキャッシュを使用します。ExtremeDB は、特にメモリ用に設計されているため、キャッシュ ロジックなどのオーバーヘッドを回避できると主張しています。
だから..私は少し混乱しています。オブジェクト DB はリアルタイム システムで使用できますか? MMDB と同じくらい「高速」ですか?