ビデオ: DB設計 入門講座#01 ガイダンスとテーブル定義【MySQL/SQL講座】 2024
NoSQLの頭を奪うのはちょっと難しいかもしれません。あなたが学校でデータベースを勉強した場合、あなたはリレーショナルな考え方で教えられているかもしれません。ほとんどの人に データベース と言うと、彼らは リレーショナルデータベース管理システム と考えています。これは、過去30年の間にRDBMSが非常に支配的であったため、当然です。
この旅をお手伝いするために、NoSQLデータベースに適用されたときの意味だけでなく、普及している主要用語をいくつか紹介します。
<! - 1 - >-
データベース構築
-
データベース: 複数のマシンにまたがる可能性がある単一の論理ユニットで、データを追加したり、そのデータに含まれるデータを照会することができます。
リレーショナル用語 表領域 は、NoSQLデータベースまたはコレクションにも適用できます。
-
データ・ファーム: RDBMSからの用語で、管理対象マシンのクラスタ全体に格納されている読取り専用レプリカ・セットを指します。
<! - 2 - >RDBMSでは、これらは通常、休止時間なしにマシンを追加することはできません。 NoSQLクラスタでは、すぐにスケールアウトすることが望ましいです。
-
パーティション: 効率を処理するため、または複製するために、単一のノード上に一緒に格納される一連のデータ。
クエリにも使用できます。この場合、それは コレクション と考えることができます。
-
-
データベース構造
<! - 3 - >-
コレクション: まとめてグループ化されたレコードセット、通常はドキュメント。これは、レコードセット内のプロパティではなく、メタデータ内にあります。レコードをコレクションに割り当てることは、通常、作成時または更新時に行われます。
-
スキーマ: RDBMSおよびある程度の列ストア。データがロードされる前に、データ構造をデータベースに設定する必要があります。文書データベースでは、任意の構造を記憶することができるが、XMLスキーマ定義のように、スキーマを強制することによって構造を制限する方が良い場合がある。ただし、NoSQLは一般的にスキーマフリーと見なされます。
レコード
-
-
レコード:
-
記述されている特定のデータベースにおけるデータ表現の単一原子単位。 RDBMSでは、これは列ストアにあるように行になります。これは、キーストア、ドキュメントストア内のドキュメント、またはトリプルストア内のサブジェクト(トリプルではない)の値とすることもできます。
行:
-
RDBMSまたは列ストアのレコードのアトミック単位。 ドキュメントストア内の要素またはキー値ストア内のマップとしてモデル化できます。
フィールド:
-
レコード内の単一のフィールド。 RDBMSの列。 すべてのレコードに存在することはできませんが、存在する場合は同じタイプまたは構造である必要があります。表:
レコードの単一クラス。 Bigtableでは、テーブルとも呼ばれます。トリプルストアでは、それらは、文脈に応じて、サブジェクトRDFタイプと呼ばれるか、またはグラフと名付けられます。ドキュメントストアでは、それらはコレクションである場合があります。
-
レコード結合 主キー:
-
-
レコードを常に参照するために使用できる、特定のテーブル内の保証された一意の値。キーストアのキー、ドキュメントストアのURI、またはトリプルまたはグラフストアのIRI。
-
外部キー: レコードが異なるテーブルまたはレコードセットのレコードに関連していることを示すデータ値。関連テーブルのプライマリキーと同じ値です。関係:
-
2つのレコードが意味論的リンクを有することを示すリンクまたはグラフ理論のエッジ。この関係は、同じテーブルまたは異なるテーブル内の2つのレコード間で行うことができます。 RDBMSでは通常は他のテーブルですが、トリプルストアでは同じタイプの主題(ソーシャルグラフの人など)を関連付けるのが一般的です。一部のデータベース、主にグラフストアは、関係にメタデータを追加することをサポートしています。
-
ストレージ組織 サーバー:
クラスタ内の単一コンピュータノード。通常、データベースサーバーのコードの単一インスタンスを実行します。
-
-
クラスタ:
-
単一のサービスを提供するために同じデータセンターで一緒に管理される物理的なグループまたはサーバー。そのデータベースを他のデータセンターのクラスタに複製する場合があります。 標準形式:
-
RDBMS内のデータの重複を正規化または最小化する方法。 NoSQLデータベースは、より高速なクエリまたはデータアクセスを提供するために、一般に非正規化データ構造につながります。
-
レプリケーション技術 ディスクレプリケーション:
単一ノードの障害時に高可用性回復力を提供するために、単一クラスタ内のノード間でデータを透過的に複製します。
-
-
データベース複製:
-
異なるクラスタのデータベース間の複製。あるクラスタから別のクラスタに更新順にすべてのデータをレプリケートします。常に単方向です。 柔軟なレプリケーション:
-
異なるクラスター内のデータベース間で、アプリケーションが制御するデータ複製を提供します。更新プログラムは、最初のデータベースに適用されたのと同じ順序で到着しないことがあります。通常は、次に送信するデータ更新の優先順位付けなどのカスタム処理が必要です。適切な更新競合解消コードで双方向にすることができます。 検索ツール
-
索引: 特定のレコードに存在する値の順序付きリスト。
-
-
逆索引:
-
順序付けられた値(用語)のリスト、およびこれらの用語を使用するレコードの主キーのリスト。 効率的な非構造化テキスト検索と、メモリにキャッシュされたときの高速集約関数とソートを提供します。
-
クエリ: 特定のフィールド値の順序で返されたクエリに正確に一致するレコードのリストを生成する一連の条件。
検索:
-
検索条件に合致する関連性順リストをもたらす一連の基準。検索基準は、完全一致を必要とせず、代わりに、一致の近さによって重み付けされた関連性計算を基準に戻すことができる。これは、検索を実行する際にGoogleが行う処理です。
-