目次:
ビデオ: RDBMSとはなんだったのか?(MySQL Document Storeの話)【第十五回中国地方DB勉強会】 2024
ビッグデータプロジェクトには2種類のドキュメントデータベースがあります。 1つは、完全な文書スタイルのコンテンツのリポジトリとして記述されることがよくあります。もう1つは、静的なエンティティとして、またはドキュメントの部分の動的アセンブリとして、永続的な格納のためのドキュメントコンポーネントを格納するためのデータベースです。ドキュメントとその部分の構造は、JavaScript Object Notation(JSON)やBinary JSON(BSON)によって提供されています。
<! - 1 - >ドキュメントデータベースは、多くのレポートを作成する必要があり、頻繁に変更される要素から動的に組み立てる必要がある場合に最も便利です。
JSONは、JavaScriptプログラミング言語のサブセットに基づいたデータ交換フォーマットです。プログラミング言語の一部ですが、本質的にテキストであり、読み書きが非常に簡単です。また、コンピュータが扱いやすいという利点もあります。 JSONには2つの基本構造が存在し、それらはすべてではないにしても多くの最新のプログラミング言語によってサポートされています。
<! - 2 - >最初の基本構造は、名前と値のペアの集合であり、プログラム、オブジェクト、レコード、キー付きリストなどとして表されます。 2番目の基本構造は値の順序付けられたリストであり、配列、リスト、またはシーケンスとしてプログラムで表現されます。 BSONは、パフォーマンスとスケーラビリティを向上させるために設計されたJSON構造のバイナリシリアル化です。
MongoDB for big data
<! - 3 - >MongoDBは "hu(mongo)usデータベース"システムのプロジェクト名です。これはオープンソースとして10genという会社によって維持されており、GNU AGPL v3の下で自由に利用できます。 0ライセンス。完全サポート付きの商用ライセンスは10genから入手できます。
MongoDBは、「コレクション」を含むデータベースで構成されています。コレクションは「ドキュメント」で構成され、各ドキュメントはフィールドで構成されています。リレーショナルデータベースと同様に、コレクションにインデックスを付けることができます。
これにより、データ検索のパフォーマンスが向上します。しかし、他のデータベースとは異なり、MongoDBは "カーソル"と呼ばれるものを返します。これはデータへのポインタとして機能します。これは、データを抽出せずにカウントまたは分類するオプションを提供するため、非常に便利な機能です。ネイティブに、MongoDBはJSONドキュメントのバイナリ実装であるBSONをサポートしています。
MongoDBは、以下の要素で構成されたエコシステムです。
-
ローカルおよびワイドエリアネットワークでスケーラビリティを実現する高可用性と複製サービス。
-
大きなオブジェクトを複数のドキュメントに分割して格納できる、グリッドベースのファイルシステム。
-
MapReduceは、さまざまなコレクション/ドキュメントの分析と集計をサポートします。
-
シャーディングサービス。単一または複数のデータセンター内のサーバーのクラスタに単一のデータベースを配布します。サービスは、シャードキーによって駆動されます。シャードキーは、複数のインスタンス間でドキュメントをインテリジェントに配布するために使用されます。
-
随時照会、分散照会、および全文検索をサポートする照会サービス。
有効なMongoDBの実装には、
-
大量のコンテンツ管理
-
ソーシャルネットワーキング
-
アーカイブ
-
リアルタイム分析
CouchDB for big data
MongoDBと同様に、CouchDBはオープンソースです。これはApache Software Foundationによって管理され、Apache License v2で利用可能になりました。 0 MongoDBとは異なり、CouchDBはあらゆる点でウェブを模倣するように設計されています。
たとえば、CouchDBはネットワークのドロップアウトに対して復元力があり、ネットワーク接続が不安定な地域でも引き続き美しく動作します。スマートフォンやデータセンターの家庭にもあります。これにはいくつかのトレードオフがあります。根本的なWebの模倣のため、CouchDBは待ち時間が長くなり、ローカルデータストレージを優先します。
CouchDBは小規模な実装には適していません。ビッグデータの実装を開始するときに、これらのトレードオフを無視できるかどうかを判断する必要があります。
CouchDBデータベースは、システムによって自動的に維持されるメタデータの形式の文書の「記述」と、フィールドおよび添付ファイルからなる文書で構成される。基礎となる技術は、すべてのACID機能を備えています。 CouchDB over Relationalの利点は、データがパッケージ化され、行や表に散在するのではなく、操作や保管の準備が整っていることです。
CouchDBは以下の機能を備えたエコシステムです。
-
圧縮: あるレベルの空になったときに無駄なスペースをなくすためにデータベースを圧縮します。これにより、永続性のパフォーマンスと効率が向上します。 View model:
-
データベースに文書として格納されている一連の定義を利用して、データをフィルタリング、整理、レポートするためのメカニズム。ビューとデータベースとの一対一の関係があるため、スライスしてダイスしたデータをさまざまな方法で表現することができます。 " レプリケーションと分散サービス:
-
ドキュメントストレージは、双方向レプリケーションを提供するように設計されています。限られた接続性を持つデバイスへの基準ベースの配布または移行をサポートするために、部分レプリカを維持することができます。ネイティブレプリケーションはピアベースですが、マスター/スレーブ、マスター/マスター、およびその他のタイプのレプリケーションモダリティを実装できます。 効果的なCouchDBの実装には、
大量のコンテンツ管理
-
スマートフォンからデータセンターへの拡張
-
ネットワーク接続が制限されたまたは遅いアプリケーション