メインコンテンツまでスキップ
バージョン: 3.14

ScalarDB の基盤となるデータベースの設定

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

このドキュメントでは、ScalarDB を使用するアプリケーションが正しく効率的に動作するように、ScalarDB の基盤となるデータベースを設定する方法について説明します。

基盤となるデータベースの一般的な要件

ScalarDB では、基盤となる各データベースが、データベースでトランザクションと分析を実行するための特定の機能を提供する必要があります。このドキュメントでは、一般的な要件と、要件を満たすために各データベースを設定する方法について説明します。

トランザクション

ScalarDB では、基盤となる各データベースが、データベースでトランザクションを実行するために少なくとも次の機能を提供する必要があります。

  • 単一のデータベースレコードに対する線形化可能な読み取りと条件付きミューテーション (書き込みと削除)。
  • 書き込まれたデータベースレコードの耐久性。
  • 各データベースレコードにアプリケーションデータのほかに任意のデータを保存できる機能。

分析

ScalarDB では、基盤となる各データベースが、データベースで分析を実行するために次の機能を提供する必要があります。

  • コミットされたレコードのみを返す機能。
注記

ScalarDB は、CRUD 操作だけでなく、スキーマ、テーブル、インデックスの作成や変更などの操作を実行するために、基盤となるデータベース上で実行されるため、ScalarDB を介してデータベースにアクセスするのに十分な権限を持つデータベースアカウントが必要です。基本的に、ScalarDB では、基盤となるデータベースにアクセスするために完全な権限を持つアカウントが必要です。

一般的な要件を満たすようにデータベースを設定する方法

一般的な要件を満たすようにデータベースを設定する方法の詳細については、データベースを選択してください。

トランザクション

  • すべての操作に単一のプライマリサーバーまたは同期された複数のプライマリサーバーを使用します (プライマリデータベースから非同期にレプリケートされた読み取りレプリカに対する読み取り操作はありません)。
  • 読み取りコミットまたはより厳格な分離レベルを使用します。

分析

  • 読み取りコミットまたはより厳格な分離レベルを使用します。

推奨事項

ScalarDB の基盤となる各データベースを適切に設定して、高パフォーマンスと高可用性を実現することが推奨されます。次の推奨事項には、更新すべきいくつかのオプションが含まれています。

注記

ScalarDB は基盤となるデータベースのアプリケーションと見なすことができるため、効率を向上させるためによく使用されるその他のオプションを更新してみることをお勧めします。

  • パフォーマンスを向上させるには、読み取りコミット分離を使用します。
  • 各データベースのパフォーマンス最適化のベストプラクティスに従います。たとえば、パフォーマンスを向上させるには、通常、バッファサイズ (PostgreSQL の shared_buffers など) を増やし、接続数 (PostgreSQL の max_connections など) を増やすことが推奨されます。