Skip to Content
CockroachDB:決定版ガイド
book

CockroachDB:決定版ガイド

by Guy Harrison, Jesse Seldess, Ben Darnell
May 2025
Intermediate to advanced
488 pages
7h 56m
Japanese
O'Reilly Media, Inc.
Content preview from CockroachDB:決定版ガイド

第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のこの基本パターンを見てみよう:

package chapter06c;

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

実践的レイクハウス・アーキテクチャー

実践的レイクハウス・アーキテクチャー

Gaurav Ashok Thalpati
ゲームストーム2.0

ゲームストーム2.0

Dave Gray, Sunni Brown
実践者向けの説明可能なAI

実践者向けの説明可能なAI

Michael Munn, David Pitman

Publisher Resources

ISBN: 9798341651838