
YugabyteDB事始め
NewSQLという新しいデータベースが出ていますね。なんでも宇宙規模のスケーラビリティとリージョンレベルの可用性も担保出来る素晴らしいものだとか?!?
本当なのでしょうか?今回はNewSQLの1つであるYugabyteDBを使ってサクッとベンチマークを取ってみたいとおもいます!
YugabyteDBとは
YugabyteDBはGoogle Cloud Spannerにインスパイアされて作られた分散SQLデータベース(NewSQL)です。
次のような特徴があるみたいです。
水平スケーラビリティと高可用性(マルチリージョン、マルチクラウド)
ミッションクリティカルなトランザクション処理をサポート
高いPostgreSQLとの互換性
ハイブリッド環境で実行可能(Any Cloud or On-Premise)
地理的分散
100%オープンソース
ちなみに、Yugabyteという名前は、サンスクリット文字の「yuga」から来ており、時代もしくは非常に長い期間を表す言葉のようです。そこに「byte」というデータサイズを表す言葉を組み合わせ「制限なく永遠にデータが存続」という想いが込められたとのことでした。
YugabyteDBにはフルマネージドサービスもあるみたいなので、今回はそちらを使います。まずはベンチマークをとる環境を整えたいので、無料で使えるSandboxでベンチマークが出来そうかを確認します。

YugabyteDB Managedを使ってみる
ここからサインアップすれば使えそうです。
サインアップしてAdd Clusterから進みます。

気合の入ったベンチマークの場合はDedicatedを選択する必要がありそうですが、まずはお試しのため、今回はSandboxを選択します。

その後、ガイドに沿って3ステップの設定を行います。
AWSのap-northeast-1を選択
ネットワーク設定としてアクセスを許可するIPを設定(後からでも変えられるらしい)
DBへアクセスする際のクレデンシャルをダウンロード

待つこと5分…………………

データベース作成が出来ました!

スケーラブルでマルチリージョンレベルの可用性があるデータベースがこんなに簡単に使えるのはグッドですね!
YugabyteDBへ繋いでみる
psqlクライアント(Docker)から繋いでみます。
docker run -it postgres:12-alpine psql -h ${hostname} -U admin -p 5433 yugabyte
${hostname}:管理コンソールのSettingsから確認出来ます
port:5433となり通常のPostgreSQLとは違うみたいです。こちらも管理コンソールのSettingsから
db user:クラスター作成時にダウンロードしたユーザーを指定します。デフォルトはadminです
password:こちらもダウンロードしたクレデンシャルから
試しにテーブルを作ってみましょう。
create table account (
id text primary key,
pass text not null
);
管理コンソールから作成したテーブルが確認できました!

管理コンソールの「Connect」からCloud Shellを起動して作成したテーブルを確認します。

なんと!左側のQuick Startを使うとDB関連の操作が確認できるみたいですね!これは便利!
次回はいよいよベンチーマーク!!
ここまででYugabyteDB Managedを使用して簡単に分散SQLデータベースが作成できました!次回はいよいよベンチマークをとります!!