Pinterestが世界有数規模のHBaseクラスタをNewSQLのTiDBへ置き換え、その理由と成果は[PR]

今回は「Pinterestが世界有数規模のHBaseクラスタをNewSQLのTiDBへ置き換え、その理由と成果は[PR]」についてご紹介します。

関連ワード (性能、構成、社内開発等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


さまざまな画像のコレクションを共有できるWebサービス「Pinterest」は、データ基盤としてNoSQLの分散型データストアであるHBaseを用い、10ペタバイト以上のデータを運用していました。

しかしWebサービスの進化に伴ってデータ基盤に対してより多くの機能が要求されるようになると、多数のソフトウェアによってシステムが複雑になること、NoSQLであるためにデータの一貫性を保つことが難しくなること、メンテナンスコストが増大することなどが課題となってきます。

2021年には、これらの課題を克服できる新たなデータ基盤のためのソフトウェアを模索し始め、さまざまなソフトウェアを検討した上で、スケーラブルなリレーショナルデータベースとして知られる「TiDB」が選定されます。そしてTiDBに移行したことで、より優れたデータ基盤の構築に成功しました。

Pinterestにおける脱HBaseとTiDBの選択はどのように行われたのか、同社のデータエンジニアリングのヘッドを5年間務めていた元Pinterest,Inc. VP Data EngineeringのDr. Dave Burgess氏が2024年7月3日に都内で行われたイベント「TiDB User Day 2024」のセッション「How Pinterest Leverages TiDB to Deprecate HBase」で解説しています。その概要をここで紹介しましょう。

世界有数規模のHBaseクラスタを構築したPinterest

Dave Burgess氏。同氏は既にPinterestを退職していますが、このセッションはPinterestの許可の下で行われました。

fig

2012年にPinterestがサービスを開始した当初はデータ基盤としてMySQLが採用されていましたが、2013年にはHBaseに移行し、2023年まで使われました。

その際のHBaseの規模は50クラスタ程度の構成で、10ペタバイトを超えるデータ容量に対して毎秒1億以上のクエリを処理しており、そして数百のユースケースが構築されています。世界でも有数の規模のHBaseによるデータ基盤だと言えます。

fig

HBaseはパワフルなデータストアですが機能は比較的シンプルであるため、グラフサービスやカラムナストア、トランザクション、セカンダリインデックスなどの追加機能をPinterstが独自に開発し、HBase上に構築していました。

fig

しかしデータの不整合がしばしば発生し、クエリの柔軟性に欠け、本番稼働時に発生する多数のアラートへの対応が必要でした。また、多数のクラスタの稼働によりソフトウェアのメンテナンスが不可欠となり、結果として運用コストの増大などの課題が生じていました。

15以上のテクノロジーを検証し、TiDBを選択

そこで2021年半ばに、PinterestはHBaseを置き換える新しいソリューションを探すことになります。

その要件としてあげられたのは、分散トランザクションにより必要なときには強い一貫性が実現できること、NoSQLのように小さなレイテンシかつスケーラブルな高い性能を持つこと。そしてSQLとの互換性も求められました。

fig

社内開発からクラウドサービス、オープンソースまで15以上のテクノロジーを候補とし、性能やスケーラビリティ、SQLとの互換性だけでなく、運用の負荷やマイグレーションのコストなども含めたさまざまな側面を評価しました。

現在の要件だけでなく、将来的にどういう要件が考えられるのかについても検討し、分析をしました。

fig

そして評価結果ですが、TiDBはシステムの複雑性を大幅に削減できることが分かりました。一方、トランザクションによるデータの整合性であったり一貫性はより高まることも分かりました。

さまざまな性能のテストが行われ、運用コストも削減できることが分かりました。

これらから、PinterestはTiDBを選択することに決めたのです。

fig

1年かかったアップデートはTiDBで1日~2日に

運用コスト面では、HBaseではつねに4人程度の運用担当が、本番環境の運用やメンテナンスアップデート、デバッグなどを行っており、かなりの作業負荷が発生していました。

HBaseではアップデートをするのにも1年ほどかかることもありました。

これがTiDBでは1日から2日程度でアップデートが行えるようになり、つねに信頼性の高い最新バージョンで運用できるようになりました。

またHBaseでは毎週のように多数のアラートが出ていたのですが、TiDBではこれが実質的にゼロになりました。

fig

性能面では、TiDBの開発元であるPingCAPと一緒に検証を行ったテストの1つでは、14のインデックスを用いたところ、HBaseと比較して99パーセンタイルにおけるレイテンシを3倍から5倍削減できました。

移行後の本番環境において、TiDBのクラスタを手動で管理する操作は2カ月以上発生しませんでした。

fig

MySQLとの互換やOLTP/OLAP並行処理など新しい可能性

TiDBの採用はPinterestに新しい可能性も開いてくれました。

例えばMySQLとの互換性です。やろうと思えば、既存のMySQLによるシステムもTiDBに置き換えることが可能になりました。

データセット間のトランザクションの保証も得ることができましたし、トランザクション処理と並行してアナリティックな処理も可能になりました。

本番環境でアナリティクスのクエリを実行しつつ、リアルタイムでデータのアップデートも可能だという点は、他ではなかなか見られないことだと思います。

将来的にはマルチリージョンへの展開も可能になると思います。

それからスキーマの変更だったりインデックスの追加なども、HBaseを使っていたときよりずっと楽になりました。

fig

こうしてTiDBを採用したことで、Pinterestが抱えていた多くの問題点、高いメンテナンスコスト、機能の制約、複雑性、インフラコストの高さ、こういったものに関して解決できました。

そしてPinterestはHBaseからTiDBへ完全に移行することになる予定です。

fig

≫TiDB User Day 2024
≫TiDB | MySQL互換のNewSQLデータベース | PingCAP株式会社

(本記事はPingCAP提供のタイアップ記事です)

COMMENTS


Recommended

TITLE
CATEGORY
DATE
ウクライナ軍に入隊したアジャイルコーチが、さまざまなメソッドを駆使して中隊長としてのリーダーシップを実現した話(前編)
アジャイル開発
2024-02-08 20:15
Twitterも真似するClubhouse、新ラウンドで資金調達 クリエイター支援へ
企業・業界動向
2021-01-26 06:33
Raspberry Pi財団、「Python」入門講座を開始–無料で利用可能な6プロジェクト
IT関連
2022-02-17 09:58
AWS、大型トラックでデータセンターのデータを吸い上げる「AWS Snowmobile」がサービス終了に
AWS
2024-04-23 14:27
Google CloudがIntelのベテランをカスタムチップ開発チームに招く
ハードウェア
2021-03-24 11:40
ポケモンGO、“カントーツアー”補填イベントの内容が明らかに
くらテク
2021-03-04 07:14
グーグルのバグ報奨金プログラム、2020年の支払額は過去最高の670万ドル
IT関連
2021-02-08 07:31
シスコがSplunkの買収を発表、約4兆円で。同社の歴史上最大規模の買収
Cisco
2023-09-22 09:29
株主優待:8月の人気トップ「イオン」の強さを分析–コロナ後の成長見えてきた
IT関連
2021-08-12 11:09
Internet Explorerが2022年6月15日にサポート終了、ただしEdgeのIEモードは2029年までを予定
ソフトウェア
2021-05-21 02:29
次期「Dart 3」はNullセーフ、WebAssemblyとRISC-Vサポートなど、Googleが発表。Flutter Forward 2023
Dart
2023-01-30 07:46
グーグル、「AI Test Kitchen」を一般公開–対話型AIなど最新の成果を体験可能に
IT関連
2022-08-30 17:14
NVIDIAとエクイニクス、日本でAI開発支援プログラムを立ち上げ
IT関連
2022-04-15 14:22
新たなサーバサイドJavaScriptランタイム「WinterJS 1.0」正式リリース、WebAssemblyへのコンパイルも可能。Wasmerが開発
JavaScript
2024-03-13 03:05