ビデオ: AWS re:Invent 2018 - Keynote with Andy Jassy 2024
NoSQL(not-only-SQL)データベース大きなデータ環境では、Key-Valueペア(KVP)モデルを採用しています。 KVPデータベースはRDBMSのようなスキーマを必要とせず、大きな柔軟性とスケーラビリティを提供します。
KVPデータベースは、ACID(Atomicity、Consistency、Isolation、Durability)機能を提供せず、テクノロジ自体によって明示的に制御されていないため、データの配置、複製、およびフォールトトレランスについて考える必要があります。 KVPデータベースは入力されません。その結果、ほとんどのデータは文字列として格納されます。
<! -キー | 値 |
---|---|
色 | 青 |
ライブ | ビール |
ヒーロー | 兵士 |
値。大規模なデータの実装では、多くの個人が色、題名、およびヒーローに関するさまざまなアイデアを持ちます。
キー | 値 |
---|---|
FacebookUser12345_Color | 赤色 |
TwitterUser67890_Color | 茶色い |
FoursquareUser45678_Libation | 「白ワイン」 |
Google + User24356_Libation | " |
LinkedInUser87654_Hero | "トップセールスパフォーマー " |
ユーザーの数が増えるにつれて、正確なキーと関連する値を把握するのは難しい場合があります。何百万人ものユーザーの意見を把握する必要がある場合は、関連するキーと値のペアの数が指数関数的に増加する可能性があります。値の選択肢を制約したくない場合、KVPの一般的な文字列表現は柔軟性と可読性を提供します。
キーバリューデータベースにデータを整理するための助けが必要な場合があります。ほとんどは、キー(および関連する値)をコレクションに集約する機能を提供します。コレクションは任意の数のキーと値のペアで構成することができ、個々のKVP要素を排他的に制御する必要はありません。
<! - 3 - >広く使われているオープンソースのキーバリューペアデータベースの1つをRiakといいます。 Basho Technologiesという企業によって開発され、サポートされており、Apache Software License v2で利用可能になっています。 Riakは、キーバリューデータベースの非常に高速かつスケーラブルな実装です。これは、軽量であるため、データの変化が速い大量の環境をサポートします。 Riakは、金融サービスにおけるリアルタイムの取引分析に特に効果的です。これは、キーと値の収集のための編成メカニズムとして「バケット」を使用します。 Riak実装は、ピア・ツー・ピア方式で配置された物理ノードまたは仮想ノードのクラスタである。マスターノードは存在しないため、クラスタは復元力があり、スケーラビリティに優れています。すべてのデータと操作はクラスタ全体に分散されます。より大きいクラスタは、より少ないノードを持つクラスタよりも優れたパフォーマンスを発揮します。クラスタ内の通信はGossipと呼ばれる特殊なプロトコルを介して実装されています。ゴシップはクラスタに関するステータス情報を保存し、バケットに関する情報を共有します。
Riakには多くの機能があり、以下のようなエコシステムの一部です:
並列処理:MapReduceを使用して、Riakはリアルタイム分析と計算のためにクラスタ全体でクエリを分解し再構成する機能をサポートします。
リンクとリンクウォーキング:
-
リンクを使用してグラフデータベースを模倣するようにRiakを構築できます。リンクは、キーと値のペア間の一方向の接続と考えることができます。リンクをたどると、キーと値のペアの間の関係のマップが提供されます。 検索:
-
Riak Searchにはフォールトトレラントな全文検索機能があります。バケットは、値をキーに迅速に解決するために索引付けすることができます。 セカンダリインデックス:
-
開発者は、1つまたは複数のキーフィールド値を使用して値にタグを付けることができます。アプリケーションはインデックスを照会し、一致するキーのリストを返すことができます。これは、操作がアトミックでリアルタイムビヘイビアをサポートするため、大きなデータ実装で非常に便利です。 Riakの実装は、ソーシャルネットワーク、コミュニティ、またはゲームのための
-
ユーザーデータに最も適しています。 大容量で大量のデータ収集と格納
RDBMSとNoSQLデータベースを接続するためのキャッシュ層
-
柔軟性と信頼性を必要とするモバイルアプリケーション