用語集
この用語集には、ScalarDB を使用するときによく使用されるデータベースおよび分散システムの用語が含まれています。
グローバルトランザクション
グローバルトランザクションは複数のデータベースまたは分散システムにまたがり、関係するすべてのシステムが単一のユニットとして変更をコミットまたはロールバックすることを保証します。
コンセンサス
分散システムにおけるコンセンサスとは、単一のデータ値またはシステム状態について複数のコンピューターまたはノード間で合意を得るプロセスを指します。
直列化可能な分離
直列化可能な分離は、トランザクションシステムにおける最高の分離レベルであり、同時に実行されるトランザクションの結果が、順番に実行された場合と同じになることを保証します。
スナップショット分離
スナップショット分離は、トランザクションがデータベースの一貫したスナップショットを読み取ることを可能にする分離レベルです。これにより、トランザクションが完了するまで、他のトランザクションによる変更が表示されなくなります。
データフェデレーション
データフェデレーションとは、データを移動せずにさまざまなソースのデータを統合し、クエリと分析のための統一されたビューを作成するプロセスです。
データメッシュ
データメッシュは、企業内のデータを各ビジネスドメインが自律的に管理し、データを効率的に利活用できるようにする分散型のデータアーキテクチャです。
データ仮想化
データ仮想化は多くの点でデータフェデレーションに似ています。つまり、複数のデータソースを統一されたビューに仮想化し、データを移動せずにクエリを簡素化します。
データベース異状
データベース異状とは、挿入、更新、削除などの操作が適切なトランザクション管理なしで実行されたときに発生する可能性があるデータの不整合またはエラーです。
トランザクション
データベース内のトランザクションは、単一の論理作業単位として扱われる一連の操作であり、一貫性と整合性を確保し、通常は ACID プロパティに準拠します。
トランザクションマネージャー
トランザクションマネージャーは、複数のシステムまたはデータベースにわたるトランザクションの実行を調整し、トランザクションのすべてのステップが1つの単位として成功または失敗することを保証します。
フェデレーションエンジン
フェデレーションエンジンは、多くの場合、データフェデレーションアーキテクチ ャの一部として、複数の異なるデータソース間でのデータ統合とクエリを容易にします。
ポリストア
ポリストアは、ユーザーが、特定のワークロードまたはデータタイプに合わせて最適化された複数の異種データストアを、あたかも単一のシステムであるかのように操作できるようにするデータベースアーキテクチャです。
リレーショナルデータベース
リレーショナルデータベースは、行と列を持つテーブルにデータを格納し、構造化クエリ言語 (SQL) を使用してデータを定義、クエリ、および操作します。
レプリケーション
データベースのレプリケーションでは、信頼性、可用性、およびフォールトトレランスを確保するために、複数のマシンまたは場所にデータをコピーして配布します。
線形化可能性
線形化可能性は、分散 システムにおける強力な一貫性モデルであり、操作はリアルタイム順序付けと一致する順序でアトミックに発生し、各操作は開始から終了までの間に有効になります。
同時実行制御
データベースの同時実行制御は、通常、ロックやタイムスタンプ順序付けなどのメカニズムを通じて、データの不整合を引き起こすことなく複数のトランザクションが同時に発生することを保証します。
読み取りコミット分離
読み取りコミット分離は、各トランザクションがコミットされたデータのみを参照する分離レベルです。ダーティリードは防止されますが、反復不可能な読み取りは許可されます。
異種データベース
異種データベースとは、異なるデータモデル、クエリ言語、およびトランザクションメカニズムを持つ可能性のある、異なるデータベーステクノロジで構成されたシステムのことです。
2フェーズコミット
2フェーズコミットは、分散トランザクションのすべての参加者がトランザクションをコミットまたはロールバックし、システム間の一貫性を保証するためのプロトコルです。
ACID
原子性、一貫性、独立性、耐久性 (ACID) は、データベーストランザクションが確実に処理され、エラーやシステム障害が発生した場合でも整合性が維持されるようにする一連の特性です。
HTAP
ハイブリッドトランザクション/分析処理 (HTAP) とは、トランザクションワークロードと分析ワークロードの両方を同じデータセットで同時に処理できるシステムのことです。これにより、個別のデータベースが不要になります。
JDBC
Java Database Connectivity (JDBC) は、Java アプリケーションがデータベースと対話できるようにする API であり、リレーショナルデータベースでデータをクエリおよび更新するための方法を提供します。
NoSQL データベース
NoSQL データベースは、ドキュメント、キー値、ワイドカラム、グラフストアなどの特定のデータモデル向けに設計された非リレーショナルデータベースであり、大規模な分散データの処理によく使用されます。
Paxos
Paxos は、ノード障害が発生した場合でも合意を得るために分散システムで使用されるプロトコルのファミリーです。
PITR
ポイントインタイムリカバリ (PITR) を使用すると、通常はデータ破損などの意図しないイベントが発生した後に、データベースを特定の時間に以前の状態に復元できます。
Saga
Saga パターンは、分散システムで長時間実行されるトランザクションを管理する方法です。トランザクション内の各操作の後に、障害が発生した場合の補償アクションが続きます。
TCC
Try-Confirm/Cancel (TCC) は、操作を3つのステップに分割し、複数のシステム間での調整と回復を可能にする分散トランザクションのパターンです。