SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2022 レポート(AD)

MySQL互換のスケーラブルなデータベース「TiDB」とは? リアルタイム分析にも最適【デブサミ2022】

【18-E-5】クラウドネイティブアプリ開発にはスケーラブルなRDBの採用が必要な話

  • このエントリーをはてなブックマークに追加

特徴2:クラウドネイティブ

 TiDBはオープンソースのソフトウェアなので、コミュニティ版が存在する。サーバー上のLinuxにインストールしたり、Kubernetesをコンテナとしてデプロイしたりすることも可能だ。また、TiDB Cloudというフルマネージドのサービスもあり、AWSやGCP上で開発することもできる。2021年11月にリリースしたTiDB Cloud Developer Tierは、TiDB Cloudを無料で使うこともできる。

 「PingCAPのサーバー上でインストールし、ロードバランサーをつけて利用していただきます。障害が起きたときの対応やメンテナンス、ファームウェアのアップグレードなども、PingCAP側で全て行います」

TiDBはOSSのほかエンタープライズ版、マネージドサービスも提供
TiDBはOSSのほかエンタープライズ版、マネージドサービスも提供

 さらにアーキテクチャについても語られた。TiKVのKVはKey-Valueストアを意味しており、実際どのようにデータがレイアウトしているのか、4台構成をイメージして示したものが、以下のスライドである。

TiKVにおけるデータレイアウト
TiKVにおけるデータレイアウト

 TiKVではリージョンという単位でデータが保存されており、プライマリーキーをキーとしてレンジでパーティショニングされ、同容量になるように自動で配置される。この状態でノードを増やしていくと、5台目を追加したときも、直ちに移動が始まって自動的に同容量でスケールアウトする。

 この実装はデータベースによって異なる。例えばTiDBとSpannerを比較してみると、データ単位はTiDBが32MBでSpannerは数GBである。データ配置設計においては、TiDBはAUTO_INCREMENTでも構わないが、SpannerはUUID推奨、スケールアウトではTiDBはノードを追加することによって直ちにスケールアウトが開始するが、Spannerはさらにそのスケールアウトするだけにふさわしい負荷をかけていく必要がある。

 また、データ整合性を担保するRaftといった新しいアーキテクチャも使われている、例えば、ノードに障害が起きたときに、AとBという2つのノードがあったとしたら、過半数を取ったものが正しいとする耐障害性のアルゴリズムである。

特徴3:リアルタイム分析

 3つ目の特徴として紹介されたのは、OLTPのレイヤーをデータハブに進化させて、リアルタイム分析に活用するというもの。例えば、アプリケーションのログを全てTiDBに投入し、それを分析対象にする使い方や、列指向のMPPエンジンやSparkSQLとのコネクタで分析するといった使い方もある。

 また、データを列ごとに保存して分析処理を高速化するコンポーネント、TiFlashについても紹介された。HTAPによるリアルタイム分析を実現し、3倍以上の効率化を実現できたという。

TiDBのリアルタイム分析への活用
TiDBのリアルタイム分析への活用

 最後に林氏は、改めてクラウドネイティブアプリ開発にはスケーラビリティが必要であり、MySQL互換のTiDBを活用してほしいとメッセージを送り、セッションをまとめた。

 「TiDBは、オンラインイントランザクションとリアルタイム分析を一つのシステムで実装でき、マルチプラットフォームでの対応が可能。フルマネージドも揃っています。TiDBのコミュニティもあり、Slackでいろいろ質問や相談を受けることもできますので、ぜひ活用ください」

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2022 レポート連載記事一覧

もっと読む

この記事の著者

馬場 美由紀(ババ ミユキ)

 エンジニアとテクノロジーが好きな編集・ライター。エンジニア向けキャリアサイト「Tech総研」「CodeIQ MAGAZINE」、Web技術者向けの情報メディア「HTML5 Experts.jp」などでライティング、コンテンツディレクション、イベント企画などを行う。HTML5 開発者コミュニティ「h...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15728 2022/03/31 16:56

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング