トップQs
タイムライン
チャット
視点
NewSQL
ウィキペディアから
Remove ads
NewSQL(ニュー・エスキューエル)は、従来のデータベースシステムのACID特性を維持しながら、オンライントランザクション処理(OLTP)の作業負荷に対してNoSQLシステムのスケーラビリティを提供しようとするリレーショナルデータベース管理システムの一種である[1][2][3][4]。
関心の高いデータを扱う多くの基幹システム(財務や受注処理システムなど)は、従来のリレーショナルデータベースで扱うには大規模すぎるものの、NoSQLシステムには実用的ではないトランザクションと一貫性の要件を持っている[5][6]。こうした組織でこれまで利用可能だった唯一の選択肢は、より高性能なコンピュータを購入するか、従来のDBMSにリクエストを分散させるカスタムミドルウェアを開発することであった。どちらのアプローチも、高額なインフラコストや開発コストを特徴とする。NewSQLシステムは、このような矛盾を解決しようとする試みである。
Remove ads
歴史
この用語は、新世代のデータベース管理システムの台頭について論じた2011年の研究論文で、451グループのアナリストであるマシュー・アスレット(Matthew Aslett)が最初に使用した[5]。最初のNewSQLシステムの1つは、H-Store並列データベースシステムであった[7][8]。
アプリケーション
典型的なアプリケーションは、OLTPトランザクション量が大きいことが特徴である。OLTPトランザクションは、
- 短時間で終了し(つまり、ユーザーの応答待ち(ユーザーストール)がない)、
- トランザクションごとに少量のデータにアクセスし、
- インデックス付きのルックアップ(テーブルスキャンなし)を使用し、
- 少数のフォーム(異なる引数を持つ少数のクエリー)を持つ[9]。
しかし、中にはハイブリッドトランザクション/分析処理(HTAP)アプリケーションをサポートするものもある。このようなシステムでは、大規模なリカバリや同時実行制御を省略することで、性能とスケーラビリティを向上させる[10]。
NewSQLデータベースの一覧
- Amazon Aurora
- Apache Trafodion
- Clustrix
- CockroachDB
- Couchbase Server
- Google Spanner
- NuoDB
- Pivotal Software XD
- SingleStore 以前はMemSQLとして知られていた
- TIBCO Software Spaces
- TiDB
- TokuDB
- TransLatticeElastic Database
- VoltDB
- YugabyteDB
特徴
NewSQLデータベースソリューションに共通する際立った2つの特徴は、NoSQLデータベースのオンラインスケーラビリティと、SQLを主要インターフェースとするリレーショナルデータモデル(ACID特性を含む)をサポートすることである[11]。
NewSQLシステムは、大まかに3つのカテゴリーに分類することができる[2][12]。
新規アーキテクチャ
さまざまな内部アーキテクチャを採用したNewSQLシステム。一部のシステムは、シェアードナッシングノードのクラスタを採用し、各ノードがデータのサブセットを管理している。これには、分散同時実行制御、フロー制御、分散クエリ処理などのコンポーネントが含まれる。
SQLエンジン
第2のカテゴリーは、SQL用に最適化されたストレージエンジンである。これらのシステムでは、 SQLと同じプログラミング・インタフェースを提供し、ビルトインエンジンよりも拡張性が高い。
透過的シャーディング
これらのシステムは、RaftまたはPaxosコンセンサスアルゴリズムを利用して、データベースを自動的に複数のノードに分割する。
Remove ads
参照項目
脚注
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads