ゼロからマイクロサービスに取り組むイオン、DB運用や組織課題の解決に「TiDB」が寄与できることとは
【15-B-6】【イオンスマートテクノロジー】マイクロサービス導入により生まれた組織課題に対するソリューションとしてのTiDB
「Developers Summit 2024」では、「マイクロサービス導入により生まれた組織課題に対するソリューションとしてのTiDB」と題し、イオンスマートテクノロジーがマイクロサービスアーキテクチャを採用した際に発生している課題解決にどう取り組んでいるかの紹介がされた。マイクロアーキテクチャを採用したことで発生するトランザクション管理の難しさや、新たに必要となる組織設計などの課題に対し、TiDBの水平方向のスケーラビリティ、強力な一貫性、高可用性、HTAPなどの特長が有用と考えている。講演では同社がTiDBの導入を検討する背景、TiDB Cloud導入によりどのような変化があると予測しているかなどを、イオンスマートテクノロジー株式会社 CTO室SREチームリーダーの香西俊幸氏が解説した。
イオンスマートテクノロジーが期待するTiDBとは
2020年10月に設立されたイオンスマートテクノロジーは、イオングループのデジタルシフト戦略を担う企業だ。「お客様の買い物体験の向上と、店舗DXを進める会社と位置づけられています」と言うのは、イオンスマートテクノロジー株式会社 CTO室 SREチームリーダーでDevRelの担当も兼任する香西俊幸氏だ。
イオングループの代表的なアプリケーションに「iAEON」がある。膨大な顧客IDと購買データを集約し、イオングループが提供する決済機能やポイントプログラム機能がまとめられたアプリケーションだ。iAEONは提供開始から3年ほどで500万人以上の会員があり、独自のコード決済サービス「AEON Pay」は836万人が利用している。
香西氏は自社の取り組みを紹介する前に、今回のテーマでもあるTiDBとPingCAPを紹介した。TiDBは複数コンポーネントからなる分散データシステムで、HTAP(Hybrid Transactional and Analytical Processing)を実現するMySQL互換のNewSQLデータベースだ。拡張性の高さに大きな強みがある。
TiDBを開発、提供しているのがPingCAP社だ。元InnoDB開発者のサニー・ベインズ氏を始めとし国内外のデータベースのスペシャリストが集まっており、日本法人のPingCAP JapanにTiDB主要コンポーネントの1つTiKVのコアデベロッパーが在籍しているのもユニークな点だと説明する。
NewSQLは、SQLデータベースとNoSQLデータベースの両方の特性を持ち、「シンプルに言えば、RDBMSとNoSQLのいいところを利用したもの」と香西氏。NewSQLはPostgreSQL互換のものが多い中、MySQL互換なのもTiDBのユニークな点だと言う。
TiDBは、大きく4つのコンポーネントで構成される。MySQLプロトコルの接続エンドポイントを外部公開するステートレスSQLレイヤのTiDB。ここにデータは保存されず、コンピューティングとSQL分析・処理のみを行う。実際のデータは、TiKVノードやTiFlashノードに送信され保存される。TiDBは、Golang製のOSSだ。
TiKVは、分散トランザクション型のKey-Valueストアで、データの永続化にRocksDBが使われている。CNCFによってホストされるRust製のOSSで、Graduatedステータスとなっている。TiFlashは、データを列ごとに保存し分析処理を高速化しHTAPを実現する。これはC++製のOSSで、オプションのコンポーネントとなる。TiDBクラスター全体の頭脳となるコンポーネントが、プレイスメント・ドライバーでメタデータ管理を行う。また管理UIも提供されている。
TiDBには無限のスケーラビリティがあり、さまざまな優位性がある。「唯一合わないユースケースとしては、複数コンポーネントから構成されるのでネットワーク遅延の加算によるレイテンシがあるため、数ミリセックのレスポンスが求められる要件のシステムには向かないでしょう」と香西氏は言う。
HTAPとはOLTPとOLAPのワークロードを同じアーキテクチャで処理でき、ワークロードが互いに干渉しないものだ。従来はOLTPのデータベースからETL処理をはさみOLAPのデータベースにデータを入れる構成が多かったが、HTAPのTiDBならETLなしで1つの仕組みにより実現できる。
PingCAPが提供する、TiDBを用いたDBaaSがTiDB Cloudだ。2024年2月現在、AWSとGoogle Cloudから提供されている。「イオンスマートテクノロジーではAzureをメインに使っているので、Azure版を心待ちにしています」と香西氏。
TiDB Cloudでは、ServerlessとDedicatedのサービスが選べる。ServerlessはAWSのみで、Dedicatedはリソース課金、Serverlessはクエリ課金となっている。プライベートの接続方式は、DedicatedではVPC Peeringが可能だが、ServerlessはPrivate Linkのみとなる。またServerlessでは、スケールアップ、スケールアウトは自動で行えるがいくつかの機能制限もある。
この記事は参考になりましたか?
- Developers Summit 2024 セッションレポート連載記事一覧
- この記事の著者
-
谷川 耕一(タニカワ コウイチ)
かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリストとして、クラウド、データベース、ビッグデータ活用などをキー...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:PingCAP株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
