
2024年7月3日に開催された「TiDB User Day 2024」では、オープンソースのNewSQLデータベース「TiDB」が、実際にどのように使われているか、ユーザーによる事例などを通して紹介された。サイバーエージェント グループIT推進本部 データプロダクトユニットの渡邉敬之氏からは、「大規模データ処理基盤におけるHBaseからTiDBへの移行事例」と題して、HBaseの課題と移行先となったTiDBの選定理由が明かされた。さらにHBaseからTiDBへの移行方法、移行後の性能と運用面での変化なども紹介してくれた。
老朽化したHBaseのデータ処理基盤をTiDBに移行
渡邉氏が所属するグループIT推進本部のデータプロダクトユニットは、「データの力で事業成長を加速させる」をミッションに掲げている組織横断での課題解決チームだ。ミッション遂行のために、チームではデータ処理基盤の開発・運用および生成AIの活用などに取り組んでいる。
サイバーエージェントでは、2010年にリリースした大規模データ処理基盤「Patriot」を運用してきたが老朽化。これにともない、現在データプロダクトユニットが刷新に取り組んでおり、HBaseで運用してきた部分を新たにTiDBに置き換えようとしている。
たとえば、Sparkなどによる分析結果の集計データをTiDBに書き込み、それらのデータに対して、さまざまなシステムからクエリなどの処理を行うことを目指す。他にも蓄積されたデータは、レコメンドや検索でも利用されるという。サイバーエージェントでは、プライベートクラウド「Cycloud」を運用しており、旧データ処理基盤はCycloudのVM上に構築されている。加えて、将来的にKubernetesクラスターに新しいシステムを載せていくことになるため、「今回刷新するデータ処理基盤もKubernetesクラスターに載せています」と渡邉氏。なるべく運用担当者の負荷を減らしていきたいという。

旧データ処理基盤で利用してきたHBaseは、データモデルがワイドカラム型のNoSQLデータベースの1つ。リージョンという単位でキーレンジとして論理的に分割しており、それらを管理するリージョンサーバーが存在している。なお、リージョンサーバーに対するリージョンの管理や割り当てを行うマスターがあり、ZooKeeperを利用してクラスター全体の障害検知やメタデータ管理を行う。
そして、クライアントはリージョンサーバーに接続してデータを読み込むため、これは「TiKV」とかなり似た構造になるとして「TiKVはHBaseを元に開発されており、似たアーキテクチャになっています」と渡邉氏は説明した。

しかし、明瞭な違いもいくつか存在する。たとえば、TiDBのデータモデルはリレーショナル型であることだ。加えてHBaseはトランザクションをサポートしないが、TiDBはサポートできる。一方、TiDBはトランザクションの分離レベルがスナップショットアイソレーション(Snapshot isolation)になっている点などには注意したいと渡邉氏。HBaseではセカンダリ・インデックスに対応せず、JOINによる検索もサポートしていないなどの留意点もある。他にも、レイテンシーにおいて差がでる場面もあるため、1桁ミリ秒程度が要求される場合は考慮すべきだとアドバイスを送った。

この記事は参考になりましたか?
- 関連リンク
- この記事の著者
-
谷川 耕一(タニカワ コウイチ)
EnterpriseZine/DB Online チーフキュレーターかつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリスト...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:PingCAP株式会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア