0

現在開発中ですが、機能しているソリューションで SQL データベースを本質的に置き換えるための最良のソリューションを見つけようとしています。データ ストアには、バックアップおよび/またはロール イン/アウトが可能なテーブル パーティショニングとファイル グループを含める必要があります (IBM DB2 パーティショニングで説明されているように: http://www.ibm.com/developerworks/data/library/ techarticle/dm-0605ahuja2/index.html )、大量の行の挿入/更新も許可します。

現在、SQL データベースに格納されているテーブルの構造は単純です。 ID long (PRIMARY KEY) TimeStamp DateTime (PRIMARY KEY) Value float Attribute int

ID は現在のデータベースの ID とは関係ありませんが、別の場所から取得されます。ID とタイムスタンプは一緒に挿入/更新の主キーとして使用されます

テーブル内のデータ。現在、テーブル値パラメーターを持つストアド プロシージャを .NET から使用して、一度に 50K 行のデータをテーブルにマージできるようにしています。現在、開発マシンで 1 秒あたり約 10,000 エントリを測定しましたが、これには満足しています。ただし、このソリューションはコストに敏感であり、テーブルが大きくなるにつれてパフォーマンスが要求されるため、テーブルのパーティショニング (TimeStamp フィールドの範囲) を実行し、パーティションを複数のファイルに分割してメンテナンス/バックアップを簡素化する機能が必要です。さらに、顧客が少なくとも ODBC を介してデータに対してクエリ (読み取り専用) を実行できる必要があります。

私はいくつかの NoSQL オプション、mySQL、および DB2 を見てきました (現在のところ、これが最も適しているようです)。何が最適かについて、誰かが持っている洞察をいただければ幸いです。もちろん、「パーティショニング」ロジックをコードに移動するオプションは常にありますが、可能であればそれは避けたいと思います。

4

1 に答える 1

0

また、NonSQL ソリューションも検討しています。私のお気に入りは、Twitter と Facebook で使用されている Cassandra です。

http://cassandra.apache.org/

.net を使用して Cassandra と対話する方法もいくつかあります。

http://www.ridgway.co.za/archive/2009/11/06/net-developers-guide-to-getting-started-with-cassandra.aspx

http://wiki.apache.org/cassandra/ClientOptions06

于 2011-07-29T14:26:08.177 に答える