NoSQLとNewSQLの技術革新、マルチテナンシーの実現と高いスケーラビリティを提供
CloudNative Days Summer 2024において、PingCAP株式会社の小板橋 由誉氏が「変化と挑戦:NoSQLとNewSQL、Serverless Databaseの技術革新とマルチテナンシーの秘密」と題するセッションを行った。データベース技術の進化、NoSQLとNewSQLの違い、そしてサーバーレスデータベースの最新技術について詳細に解説を行った。とくにAmazon DynamoDBとTiDBに焦点を当て、これらのデータベースがどのようにマルチテナンシーを実現し、高いスケーラビリティとパフォーマンスを提供しているかについて紹介した。
NoSQLとNewSQLの理解に重要な3つの観点
NoSQLデータベースは、インターネット普及に伴い、水平スケーリングを実現するために登場した。代表例として、GoogleのBigTable、FacebookのCassandra、AmazonのDynamoDBがある。これらは非リレーショナルデータモデルを採用し、大規模データ処理を可能にするが、一貫性を犠牲にすることが多い。一方、NewSQLデータベースは、RDBMSとNoSQLの利点を融合し、高いスケーラビリティと強整合性を提供する。代表例には、GoogleのCloud SpannerやTiDBがある。
小板橋氏はまず、NoSQLとNewSQLの理解において重要な3つの観点について説明した。まず「RDBMSにおけるシャーディングの課題についてです。設計によってはパフォーマンスの低下や分散トランザクションの問題を引き起こすことがあります。とくにテーブル結合がストレージをまたぐ場合、性能が低下しやすくなります」と述べた。
次の観点はNoSQLデータベースのデータモデルだ。非リレーショナルなデータモデルとして設計されていることや、SQLのインターフェースを持たないことが課題になるケースがある。「複雑に組み上げられたサブクエリによって高負荷がかかることも珍しくありません」と小板橋氏。
三つ目に「一番重要な観点」として、分散システムの仕組みについても詳述した。「分散データベースにおける整合性の話が一番重要だと思っている」と強調しながら、小板橋氏は分散システムにおける課題について説明した。
「分散システムの整合性を維持するための仕組みとして、まずWriterの観点があります。これはデータを書き込む際にどのノードに書き込むかを制御し、一貫性を保つ方法です。次に、シャーディングの観点です。データを複数のノードに分散させることでスケーラビリティを向上させますが、テーブルリレーションを持つデータのシャーディングは複雑であり、慎重に設計する必要があります。そして分散トランザクションの観点です。これは、複数のノードにまたがるトランザクションを管理し、一貫性を保つための仕組みです」と語った。
とくに分散システムにおける整合性の重要性について、小板橋氏は以下のように語った。「分散システムでは、データの一貫性を保つために合意形成アルゴリズム(例えばPaxosやRaft)が不可欠です。これらのアルゴリズムを用いることで、システム全体が一致した状態を保ち、データの信頼性と可用性を確保します。整合性の確保は、分散システムのパフォーマンスとスケーラビリティを両立させるために非常に重要な要素です」と述べた。
さらに小板橋氏はCAP定理についても説明した。CAP定理は、一貫性(Consistency)、可用性(Availability)、分断耐性(Partition Tolerance)の3つを同時に満たすことができないという理論だ。「NoSQLデータベースでは、スケーラビリティを高めるために一貫性を犠牲にすることが多いです」と説明した。またConsistent Hashingについても言及し、「Consistent Hashingは、データを均等に分散させるための技術であり、DynamoDBやCassandraなどで採用されています。この技術により、ノードの追加や削除があってもデータの再配置が最小限に抑えられ、システムの安定性と効率性が向上します」と述べた。
小板橋氏はまた分散システムの設計と運用におけるベストプラクティスについても触れ、「分散システムの設計には、データの一貫性、可用性、スケーラビリティをバランス良く考慮することが求められます。これにより、システム全体の信頼性と性能を最大化することができます」と述べた。
Amazon DynamoDBに見るNoSQLのアーキテクチャ
次に小板橋氏はAmazon DynamoDBを例に、NoSQLデータベースの具体的な技術的特徴について解説した。
「DynamoDBは、Key-Valueのデータモデルを採用し、結果整合性を維持しながらスケールするShardingアルゴリズムを使用しています。この設計により高いスケーラビリティとパフォーマンスを実現しています」と説明した。
さらに、DynamoDBの多重なレプリケーションについても触れ、「DynamoDBは、常に3つのアベイラビリティゾーン(AZ)でデータをレプリケートし、I/O操作も3つのAZで実行することで、データの可用性と耐障害性を確保しています」と述べた。
システム管理については、「DynamoDBのシステム管理には、パーティションメタデータシステムや自動管理機能が含まれており、テーブルとインデックスの作成、プロビジョニング、パーティションの分割・修復が自動で行われます」と具体的な機能を紹介した。
またマルチテナンシーの実現方法についても言及し、「DynamoDBのアーキテクチャには、メタデータシステム、リクエストルーター、Auto Adminが含まれており、各リクエストを適切なストレージノードにルーティングすることで、効率的なリソース利用が可能となります」と小板橋氏は語った。
TiDBに見るNewSQLのアーキテクチャ
次に小板橋氏はNewSQLの具体例として、TiDBの具体的な技術的特徴について説明した。TiDBは、PingCAPによって開発されたNewSQLデータベースであり、高い耐久性、可用性、パフォーマンスを提供する。またサーバーレスの形態でも提供されており、数十秒で起動し、自動でスケールするといった特徴を備える。
TiDBのストレージとコンピューティングの分離については、TiDBはストレージ層とコンピューティング層を分離しており、Amazon EBSとAmazon S3を組み合わせることで、高いデータ信頼性を実現している。
またマルチテナントアーキテクチャについても説明があり、「TiDBのマルチテナントアーキテクチャは、Shared Gateway、Isolated SQL Layer、Shared Storage Layerで構成されており、負荷に応じて専用のTiDBがアサインされることで、効率的なリソース利用が可能となります」と小板橋氏は述べた。
さらにサーバーレスの利点についても強調し、TiDB Serverlessはサーバーの管理不要で自動拡張し、従量課金で利用できる点が非常に魅力的であることや、リアルタイム分析やAIアシスタント機能も利用可能であり、柔軟なデータ処理が可能である点を説明した。
スケーラビリティの向上についても触れ、「TiDBは、コンピューティングノードの追加やデータの水平分割が容易であり、スケーラビリティの向上が図られています。またデータの永続性や整合性も確保されており、信頼性の高いデータベース運用が可能です」と小板橋氏は強調した。
変化と挑戦
NoSQLとNewSQLの技術革新は、分散システムやサーバーレス設計における課題を解決し、業界に新たな可能性をもたらしている。とくにAmazon DynamoDBとTiDBの例は、マルチテナンシーの実現と高いスケーラビリティを提供するための具体的な技術的アプローチを示している。これらの技術革新が、今後もデータベースの世界における重要な役割を果たすだろう。
小板橋氏は「皆さんが携わっているサービスの裏側には変化と挑戦が必ずあります。今日のセッションが何かの参考になれば幸いです」として、セッションを締めくくった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 【事例から学ぶ】アーキテクチャ多様化時代にデータベースを「TiDBにまとめる」という選択
- NewSQL DBの国内カンファレンス「TiDB User Day 2022」開催、クラウドネイティブ環境の次世代DBは「MySQL互換」がカギ
- MySQL互換のTiDBを開発するPingCAP、日本での本格始動を開始
- PingCAP CEOのMax Liu、米HTAP Summit 2022でHTAP登場の背景を語る
- GCP上のKey-Value型データベースCloud Datastore
- 分散データベースに関する技術概要
- MongoDB Tokyo 2013で語られた、NoSQLを上手に使うためのポイントとは
- IIJ社における分散DB技術「ddd」(1)
- IoTに適したNoSQL・分散Key-Valueストア
- NOSQLは「知る時代」から「使う時代」へ