NewSQL

Summary:

NewSQLとは,リレーショナルデータベース[RDB]の完全なACIDトランザクション処理能力とSQLインターフェースを保持しながら,NoSQLが志向するスケーラビリティや分散性能を併せ持つ,新世代のデータベース管理システム群を指す用語である.

従来のRDBMSと同様に,データはリレーショナルモデルに従って構造化され,問い合わせには標準的なSQLが使用される点でRDBと共通するが,高スループット・低レイテンシ・水平方向スケーリングを実現する点において,NoSQL的なアーキテクチャと目的を共有する.NewSQLは,RDBNoSQLの中間的立場ではなく,リレーショナル性とトランザクション整合性を維持したまま,クラウドや分散環境に適した高性能処理を実現することを目的とする新たな設計思想に基づくものである.

NewSQLは,2011年に451 Research[後に,S&P Global Market Intelligenceの一部となる]のマット・アスレット[Matt Aslett]によって,VoltDBやMemSQL[後のSingleStore]等に対して初めて使用された用語である.

背景には,NoSQLブームへの反動があった.2000年代後半,Webスケールのデータ処理において従来のRDBMSがスケーラビリティの限界に直面する中,CAP定理に基づく設計哲学を採るNoSQLが注目を集めた.しかし,NoSQLは柔軟性や性能の向上を得る代わりに,厳密な一貫性やACID特性[原子性,一貫性,独立性,耐久性]を犠牲にすることが多く,金融や基幹業務など整合性を最優先とする分野には適さなかった.これに対し,NewSQLRDBの原理を保持したまま,NoSQL的なスケーラビリティを達成することを目指して開発された.代表的なNewSQLシステムには,Google Spanner,CockroachDB,VoltDB,NuoDB,TiDB,MemSQL[現SingleStore],Amazon Aurora,YugabyteDB,FaunaDBなどがある.これらのシステムは,トランザクション処理と分散性能の両立という課題に対して,それぞれ異なる技術スタック[分散コンセンサスアルゴリズム,時計同期技術,自動シャーディング機構など]を用いて解を提示している.

NewSQLの技術的特徴としては,従来のRDBMSでは困難だった水平方向のスケーリング[スケールアウト]を,ノード間でのデータシャーディングや分散トランザクション制御によって実現する点を挙げることができる.データベースエンジンはスレッドセーフでメモリ効率に優れ,ロックレスあるいはMVCC[Multiversion Concurrency Control]に基づいた同時実行制御を採用するものが多い.多くの実装では,グローバルな分散トランザクションプロトコル[例えば,Two-Phase Commit,Google SpannerにおけるTrueTime API,またはPercolatorプロトコルなど]を通じて厳密な整合性を確保しつつ,ノード障害時にも可用性を維持する仕組みが備わっている.また,一部のNewSQLはクエリ処理エンジンとストレージエンジンを分離し,ストレージを分散オブジェクトストアに置き換えるなど,クラウドネイティブな設計も特徴的である.さらに,インメモリ処理,カラム型ストレージ,ベクトル化実行,コード生成などの最適化技術も積極的に採用され,従来のRDBMSを大幅に上回る処理性能を実現している.ユーザはSQLによって問い合わせを行いながら,裏ではNoSQL的な分散アーキテクチャが透過的に動作する点において,アプリケーション開発の生産性とシステムの拡張性の両立を可能にしている.

NewSQLは一般的に,新規設計のアーキテクチャ[CockroachDB,TiDB],従来のRDBMSの透過的シャーディングミドルウェア[Vitess],高性能インメモリエンジン[VoltDB,MemSQL]の3つのカテゴリに分類される.また,地理的分散における一貫性レベル[強一貫性,結果整合性,因果整合性]の選択,パーティション許容性と可用性のトレードオフ,レイテンシとスループットの最適化など,CAP定理の制約内で様々なアプローチが取られている.NewSQLは,現代的な分散アプリケーションにおいてもACID整合性を必要とするユースケースにおいて,RDBMSとNoSQLのいずれにも代替し得るアーキテクチャとして,重要な選択肢となっている.特にクラウドネイティブ開発,グローバルな可用性を前提とした分散システム,大規模リアルタイム処理,マルチテナントSaaS,IoTデータ処理などの分野において,その価値は今後も高まり続けると考えられる.また,エッジコンピューティングやハイブリッドクラウド環境における一貫したデータ管理の需要も,NewSQLの適用領域を拡大する要因となっている.

さらに,ベクトルデータベースとの関係性において,NewSQLは明確に補完的な役割を果たす.ベクトルデータベースは,LLMやAIアプリケーションにおいて重要な,ベクトル埋め込みに基づく近傍検索に特化しており,非構造データの類似性検索を高速に処理するためのインデックス構造とアルゴリズムを備える.一方でNewSQLは,構造化データの厳格な整合性管理やトランザクション処理に優れており,ユーザ情報,メタデータ,検索結果の属性管理などを担う.これにより,LLMの文脈検索や検索拡張生成[RAG]といった応用において,ベクトルDBが類似候補の抽出を行い,NewSQLがそれに関連する正規データの取得や整合性の検証を行うという,役割の分担が成立する.実際,SingleStoreのようにベクトル検索機能を統合するNewSQL実装も現れており,両者をシームレスに統合するデータ基盤が登場しつつある.このように,NewSQLベクトルDBは設計目的と内部アーキテクチャこそ異なるが,AI時代における分散データ処理の中核を担う存在として,相互補完的に機能する.

Mathematics is the language with which God has written the universe.





















自然対数の底 Open Table Format KubeDB Operator Kafka ステートフル処理 Llama Stack