私は今、nosqlキー/値データベースについてオンラインでたくさん聞いています。用途の例を教えてください。この種のデータベースには、どのような実世界のデータが最適ですか?
1 に答える
「一体何のために NoSQL を実際に使用しているのですか」は、NoSQL データベースの実際の使用例の優れた読み物だと思います。ここでそれらのいくつかを引用しましょう:
非トランザクション データの大規模なストリームの管理: Apache ログ、アプリケーション ログ、MySQL ログ、クリックストリームなど。
オンライン データとオフライン データの同期。これは、CouchDB がターゲットとしているニッチです。すべての負荷の下での高速応答時間。
複雑な結合のクエリ負荷が RDBMS に対して大きくなりすぎる場合に備えて、重い結合を回避します。
低レイテンシが重要なソフト リアルタイム システム。ゲームはその一例です。
さまざまな異なる書き込み、読み取り、クエリ、および一貫性のパターンをサポートする必要があるアプリケーション。50% の読み取り、50% の書き込み、95% の書き込み、または 95% の読み取りに最適化されたシステムがあります。
極端な速度と回復力、単純なクエリを必要とし、わずかに古いデータを許容できる読み取り専用アプリケーション。
中程度のパフォーマンス、読み取り/書き込みアクセス、単純なクエリ、完全に信頼できるデータを必要とするアプリケーション。
クエリ要件が複雑な読み取り専用アプリケーション。
データと使用量の集中に対応し、マイクロプロセッサをビジー状態に保つのに役立つロード バランス。
リアルタイムの挿入、更新、クエリ。
スレッド化されたディスカッションや部品展開などの階層データ。
動的テーブルの作成。
高速な NoSQL インターフェイスを介して低レイテンシ データを利用できるようにする 2 層アプリケーション。ただし、データ自体は高レイテンシの Hadoop アプリまたはその他の優先度の低いアプリによって計算および更新できます。
順次データ読み取り。適切な基盤となるデータ ストレージ モデルを選択する必要があります。B ツリーは、シーケンシャル リードの最適なモデルではない場合があります。
より優れたパフォーマンス/スケーラビリティを必要とする可能性があるサービスの一部を独自のシステムに切り離します。たとえば、ユーザー ログインは高パフォーマンスである必要があり、この機能は専用のサービスを使用してそれらの目標を達成できます。
キャッシング。Web サイトやその他のアプリケーション向けの高性能キャッシュ層。例は、Large Hadron Collider によって使用されるデータ集約システムのキャッシュです。
投票。
リアルタイムのページ ビュー カウンター。
ユーザー登録、プロファイル、およびセッション データ。
ドキュメント、カタログ管理、およびコンテンツ管理システム。これらは、複雑なドキュメントをリレーショナル テーブルとして整理するのではなく、全体として格納する機能によって促進されます。同様のロジックが、在庫、ショッピング カート、およびその他の構造化データ タイプに適用されます。
アーカイブ。オンラインで引き続きアクセス可能な大量の継続的なデータ ストリームを格納します。
時間の経過に伴うスキーマの変更を処理できる柔軟なスキーマを備えたドキュメント指向データベース。
分析。MapReduce、Hive、または Pig を使用して、高い書き込み負荷をサポートする分析クエリとスケールアウト システムを実行します。