見出し画像

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ステップの設定を行います。

  1. AWSのap-northeast-1を選択

  2. ネットワーク設定としてアクセスを許可するIPを設定(後からでも変えられるらしい)

  3. 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データベースが作成できました!次回はいよいよベンチマークをとります!!

この記事が気に入ったらサポートをしてみませんか?