第6章 アプリケーションの設計 アプリケーションの設計と実装
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
すべてのデータベースと同様に、CockroachDBはアプリケーションコードからのリクエストに応答する。 アプリケーションがどのようにデータを要求し、使用するかは、アプリケーションのパフォーマンスとスケーラビリティに大きく関係する。 この章では、CockroachDBリクエストとトランザクション・モデルをコーディングするためのベスト・プラクティスを含め、アプリケーションがCockroachDBとどのように連携すべきかをレビューする。
CockroachDBはPostgreSQLワイヤ・プロトコル互換であるため、PostgresSQLをサポートする言語であればCockroachDBで使用できる。 また、一般化として、PostgreSQLのプログラミング・イディオムとベスト・プラクティスがCockroachDBに適用される。 ただし、CockroachDBは分散型であるため、CockroachDBとPostgreSQLではプログラミング・スタイルに若干の違いがある。
CockroachDBは、一般的に使用されているプログラミング言語であれば、ほぼすべての言語を使用して作業できるが、この章では4つの言語に限定して説明する: Go、Java、Python、JavaScriptである。
前回、各言語のドライバをインストールする方法を示した。 ドライバのインストール方法については第3章に戻るか、他の言語のドライバや代替ドライバのインストール方法を含むより詳細なガイドラインについてはCockroachDBのドキュメントを参照されたい。
CockroachDBプログラミング
CockroachDBは、SQLリレーショナルデータベースと幅広く互換性があり、特にPostgreSQLと互換性がある。 しかし、分散トランザクションの性質とトランザクション一貫性モデルの結果として、CockroachDB特有のプログラミング・イディオムがいくつかある。
以下のセクションでは、CockroachDBサーバに対してアプリケーションをコード化する際の一般化原則をレビューし、CockroachDBに特有の問題をいくつか見ていく。
CRUD演算子の実行
各言語の基本的な "Hello world "の例を第3章で紹介した。、これらの例を拡張して、自明でない "CRUD "演算子(Create、Read、Update、Delete)を実行してみよう。
プログラミング・ドライバはボキャブラリーの点で異なるが、一般的に同じような文法を採用している。 データベースプログラムにおける基本的な演算子は以下の通りである:
-
ドライバはデータベースサーバへの接続を表す接続オブジェクトを確立する。この章では、個別の接続を作成するが、アプリケーションでは、複数の再利用可能な接続を管理するために、接続プールを使用することが多い。
-
接続オブジェクトはSQLステートメントの実行に使われる。
-
いくつかのステートメントは、
SELECTステートメント、RETURNING節を含む DML ステートメント、および結果を返す他のステートメントによって返される表形式出力を反復するために使用できる結果セットを返す。
ここでは、Javaのこの基本パターンを見てみよう:
packagechapter06c;import ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access