2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CockroachDBをローカルで構築してみた

Last updated at Posted at 2025-12-13

はじめに

12 日のアドベントカレンダーで NewSQL について触れました。
13 日には NewSQL データベースの一つで MySQL 互換である TiDB をローカル構築してみましたが、今度は同じ NewSQL データベースの一つであり PostgreSQL 互換である CockroachDB も実際にローカルで構築して触ってみたいと思います。

環境

  • MacOS
  • fish Shell

CockroachDB とは

G が苦手な私はこの名前に少しゾッとしてしまいますが、G の生態の通りしぶとく中々ダウンしないデータベースであるという意味だそうです。
その名に恥じない強い耐障害性が特徴のデータベースとなっています。

インストール

Homebrew を使ってインストールします。

brew install cockroachdb/tap/cockroach

シングルノードクラスタの起動

ローカル開発用にシングルノードで起動します。

cockroach start-single-node --insecure --store=node1 --listen-addr=localhost:26257 --http-addr=localhost:8080 --background

それぞれのオプションの意味は以下になります。

オプション 説明
--insecure 認証なしで起動(開発用)
--store=node1 データ保存ディレクトリ
--listen-addr SQL クライアント用ポート(26257)
--http-addr Web UI 用ポート(8080)

今回は一旦手元で構築するだけなので insecure オプションを使用していますが、本番などで使う場合には気を付けて設定すると良さそうです。

SQL シェルに接続

cockroach sql --insecure --host=localhost:26257

接続すると以下のようなウェルカムメッセージが表示されます。

# Welcome to the CockroachDB SQL shell.
# All statements must be terminated by a semicolon.
# To exit, type: \q.
#
# Server version: CockroachDB CCL v25.4.1

基本的な SQL 操作

では簡単に操作を行なってみます。

データベースの作成

CREATE DATABASE mydb;

データベースの使用

USE mydb;

テーブルの作成

CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    name STRING,
    created_at TIMESTAMP DEFAULT now()
);

データの挿入

INSERT INTO users (name) VALUES ('test');

データの取得

SELECT * FROM users;

結果:

                   id                  | name |         created_at
---------------------------------------+------+-----------------------------
  7aa879ea-9edb-46b2-9e66-c9f83f5fcb75 | test | 2025-12-13 12:30:24.033981
(1 row)

PostgreSQL 互換なので、見慣れた SQL 構文がそのまま使えます。

Web UI の確認

ブラウザで http://localhost:8080 にアクセスすると、クラスタの状態を可視化した管理画面を確認できます。

スクリーンショット 2025-12-13 午後9.31.33.png

その他 SQL のログ等もみることができます。
スクリーンショット 2025-12-13 午後9.31.22.png

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?