Help us understand the problem. What is going on with this article?

Alibaba Cloud の POLARDB を試してみる(1)MySQL 8.0 互換版起動編

Alibaba Cloud の ApsaraDB for POLARDB が 2019/08 ~ 09 にかけていくつかのリージョンで GA になったようなので、早速試してみました。

(注)2019/11/18 現在、日本版のアカウントでは ApsaraDB for POLARDB は使用できません(東京リージョンでも使用できません)。そのため、この記事では国際版アカウントで試しています。

ApsaraDB for POLARDB とは

ざっくりいうと「Alibaba Cloud 版の Amazon Aurora」のようなものです。
MySQL・PostgreSQL といったオープンソースの RDBMS をベースとしながらも(ただし POLARDB には Oracle 互換版もあります)、処理性能およびストレージ容量がスケールしやすいような構造に拡張されています。

Amazon Aurora と似ているところ

  • DB(SQL)ノードとストレージノードが別々の階層に分離されている
  • ストレージが Log Structured になっている
  • 複数の DB ノード(Writer / Reader インスタンス)が同じストレージ(ストレージクラスタ/データチャンク群)を共有する(共有型の分散ストレージ)

Amazon Aurora と違うところ

  • ストレージ層に NVMe SSD、RoCE RDMA ネットワークを導入し、ハードウェアの力で I/O の高速化を図っている(Aurora は汎用的なハードウェアを使用)
  • ストレージは同一ゾーン内の 3 ノード(データチャンクサーバ)を 1 組としてデータを記録している(Aurora は 3 つのゾーンに合計 6 つ 1 組で記録)。ゾーン跨ぎはオプション
    • データ一貫性を保証するために Parallel-Raft プロトコルを使用。Aurora のように不整合が見つかった場合にゴシッププロトコルで修正を掛けるような仕組みはなさそう(?)
  • 前段のプロキシで Writer / Reader へのアクセスを振り分けている(MySQL 互換版のみ)
    • 2019/11/26 追記:2019/11 現在、PostgreSQL 互換版でも Preview テストとしてプロキシ機能が提供されている模様
  • オリジナルの OSS に対して手を加えている範囲が Aurora と比較して小さい模様(推測)。そのため 2019/09 時点ですでに MySQL 8.0 互換版も存在している
    • 2019/11/26 追記:続き(2)の記事を書くにあたり動作させてみたところ、サーバ変数の大量追加などを確認。プロキシとの協調動作などもあり、それなりに手が加わっている印象に変わった

こちらの図のようなアーキテクチャになっています。

参考リンク(公式マニュアル/ブログ等)

MySQL 8.0 互換版を起動してみる

今回は国際版アカウントでクラスタを作成し、起動してみます。

クラスタの作成

polar01.png

杭州リージョンに MySQL 8.0 のクラスタを、最低サイズである 2 コア 4GB × 2 で作成します。

ゾーン・VPC・Vswitch も選択します。

polar02_01.png

polar02_02.png

polar03.png

polar04.png

作成後、クラスタ名をtestdbに変更します。

polar05.png

ホワイトリストの指定

作成されたクラスタを確認します。

polar06_01.png

polar06_02.png

ホワイトリスト(アクセス元として許可する IP アドレス範囲)を指定します。

polar06_03.png

管理アカウントの作成

Privileged Account を作成します。

polar07_01.png

polar07_02.png

パラメータの設定

必要に応じて、データベース(クラスタ)のパラメータを設定します。
AWS のパラメータグループとは異なり、クラスタ毎に設定するようです。
また、変更不可のパラメータはコンソールに表示されないようです。

polar08_01.png

polar08_02.png

polar08_03.png

polar08_04.png

polar08_05.png

polar08_06.png

polar08_07.png

polar08_08.png

polar08_09.png

polar08_10.png

polar08_11.png

polar08_12.png

polar08_13.png

接続してみる

同じ VPC にある ECS インスタンスから接続してみます。

polar10.png

ベースのバージョンは 8.0.13 のようです(2019/11/18 現在)。

モニタリング

項目数は少ないですが、動作状況をグラフ表示することができます。

polar09_01.png

polar09_02.png

そのほか、スロークエリの確認などができるようになっています。

※テスト用に作成した環境なので ID 等はそのまま表示しています(実環境では既に削除済)。


次回は MySQL 8.0 互換版とともに PostgreSQL 11 互換版も起動し、でバッファプール/共有バッファ周りの挙動を確かめてみる予定です。

2019/11/24 追記:
書きました。
- Alibaba Cloud の POLARDB を試してみる(2)MySQL 8.0 互換版のバッファプールまわりを中心に

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away