NewSQL
NewSQL(ニュー・エスキューエル)は、従来のデータベースシステムのACID特性を維持しながら、オンライントランザクション処理(OLTP)の作業負荷に対してNoSQLシステムのスケーラビリティを提供しようとするリレーショナルデータベース管理システムの一種である[1][2][3][4]。
関心の高いデータを扱う多くの基幹システム(財務や受注処理システムなど)は、従来のリレーショナルデータベースで扱うには大規模すぎるものの、NoSQLシステムには実用的ではないトランザクションと一貫性の要件を持っている[5][6]。こうした組織でこれまで利用可能だった唯一の選択肢は、より高性能なコンピュータを購入するか、従来のDBMSにリクエストを分散させるカスタムミドルウェアを開発することであった。どちらのアプローチも、高額なインフラコストや開発コストを特徴とする。NewSQLシステムは、このような矛盾を解決しようとする試みである。
歴史
この用語は、新世代のデータベース管理システムの台頭について論じた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(英語版)
- TransLattice(英語版)Elastic Database
- VoltDB
- YugabyteDB(英語版)
特徴
NewSQLデータベースソリューションに共通する際立った2つの特徴は、NoSQLデータベースのオンラインスケーラビリティと、SQLを主要インターフェースとするリレーショナルデータモデル(ACID特性を含む)をサポートすることである[11]。
NewSQLシステムは、大まかに3つのカテゴリーに分類することができる[2][12]。
新規アーキテクチャ
さまざまな内部アーキテクチャを採用したNewSQLシステム。一部のシステムは、シェアードナッシングノードのクラスタを採用し、各ノードがデータのサブセットを管理している。これには、分散同時実行制御、フロー制御、分散クエリ処理などのコンポーネントが含まれる。
SQLエンジン
第2のカテゴリーは、SQL用に最適化されたストレージエンジンである。これらのシステムでは、 SQLと同じプログラミング・インタフェースを提供し、ビルトインエンジンよりも拡張性が高い。
透過的シャーディング
これらのシステムは、RaftまたはPaxosコンセンサスアルゴリズムを利用して、データベースを自動的に複数のノードに分割する。
参照項目
- トランザクション処理
- パーティション (データベース)
- Distributed Relational Database Architecture
- 分散SQL(英語版)
脚注
- ^ Aslett, Matthew (2011年). “How Will The Database Incumbents Respond To NoSQL And NewSQL?”. 451 Group. February 22, 2020閲覧。
- ^ a b Pavlo, Andrew; Aslett, Matthew (2016). "What's Really New with NewSQL?" (PDF). SIGMOD Record. 2020年2月22日閲覧。
- ^ Stonebraker, Michael (June 16, 2011). “NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps”. Communications of the ACM Blog. February 22, 2020閲覧。
- ^ Hoff, Todd (September 24, 2012). “Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In”. February 22, 2020閲覧。
- ^ a b Aslett, Matthew (April 6, 2011). “What we talk about when we talk about NewSQL”. 451 Group. February 22, 2020閲覧。
- ^ Lloyd, Alex (2012年). “Building Spanner”. Berlin Buzzwords. February 22, 2020閲覧。
- ^ Aslett, Matthew (March 4, 2008). “Is H-Store the future of database management systems?”. February 22, 2020閲覧。
- ^ Monash, Curt (February 20, 2008). “H-Store: Complete destruction of the old DBMS order?”. ZDNet. February 22, 2020閲覧。
- ^ Stonebraker, Michael; et al. (2007). "The End of an Architectural Era (It's Time for a Complete Rewrite)" (PDF). VLDB '07: Proceedings of the 33rd international conference on Very large data bases. Vienna, Austria. 2020年2月22日閲覧。
- ^ Stonebraker, Michael; Cattell, R. (2011). “10 rules for scalable performance in 'simple operation' datastores”. Communications of the ACM 54 (6): 72. doi:10.1145/1953122.1953144.
- ^ Cattell, R. (2011). “Scalable SQL and NoSQL data stores”. ACM SIGMOD Record 39 (4): 12–27. doi:10.1145/1978915.1978919. http://cattell.net/datastores/Datastores.pdf February 22, 2020閲覧。.
- ^ Venkatesh, Prasanna (January 30, 2012). “NewSQL - The New Way to Handle Big Data”. February 22, 2020閲覧。
| |
---|---|
概念 | |
オブジェクト |
|
SQL |
|
構成要素 | |
![]() |