2

ユーザープロファイルを管理する必要があります。ユーザープロファイルの数は非常に多くなる可能性があります(5億プロファイル)。システム要件は、これらのプロファイルを更新し(1日1回、1週間、または要求に応じて)、実行時に常に読み取ることです。

この機能に最適なSQLデータベースはどれですか?mongodb、cassandra、またはhbase?

現在、mongodb(シャーディングあり)を使用しています。これは、グローバルロックがあるという問題の1つであり、大量の書き込みを行うたびに、読み取りパフォーマンスが低下します。また、ランタイムコンポーネントは常に何らかのプロファイルを読み取る必要があるため、パフォーマンスは重要です。

さらに、多分私はいくつかのキャッシュ技術を追加で使用する必要がありますか?

ありがとう、

4

1 に答える 1

2

1)パフォーマンスの調整は、no-sqlデータベースに関して重要な部分です。

2)私はCassandraを1年以上使用していますが、書き込みはシーケンシャルであるため、他の場合と同じように高速です。sstableloaderBulkOutPutFrormatを使用するとパフォーマンスが向上します。

3)ただし、読み取りパフォーマンスは実際には懸念事項であり、さまざまなパラメーターで調整でき、データ(データベーススキーマ)のモデル化方法にも依存します。

4)しかし、Cassandraの動作を考慮して設計すると、読み取りも高速になります。ただし、上記のバルクロード戦略のいずれかを使用している場合は、データのロード中に比較的長い読み取りレイテンシが発生する可能性があります

5)ユーザーデータは可用性の目的で重要なデータであるため、より大きなレプリケーション係数を検討する必要があります。

于 2012-07-03T12:49:52.083 に答える