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データベースの一覧[編集]

特徴[編集]

NewSQLデータベースソリューションに共通する際立った2つの特徴は、NoSQLデータベースのオンラインスケーラビリティと、SQLを主要インターフェースとするリレーショナルデータモデル(ACID特性を含む)をサポートすることである[11]

NewSQLシステムは、大まかに3つのカテゴリーに分類することができる[2][12]

新規アーキテクチャ[編集]

さまざまな内部アーキテクチャを採用したNewSQLシステム。一部のシステムは、シェアードナッシングノードのクラスタを採用し、各ノードがデータのサブセットを管理している。これには、分散同時実行制御、フロー制御、分散クエリ処理などのコンポーネントが含まれる。

SQLエンジン[編集]

第2のカテゴリーは、SQL用に最適化されたストレージエンジンである。これらのシステムでは、 SQLと同じプログラミング・インタフェースを提供し、ビルトインエンジンよりも拡張性が高い。

透過的シャーディング[編集]

これらのシステムは、RaftまたはPaxosコンセンサスアルゴリズムを利用して、データベースを自動的に複数のノードに分割する。

参照項目[編集]

脚注[編集]

  1. ^ Aslett, Matthew (2011年). “How Will The Database Incumbents Respond To NoSQL And NewSQL?”. 451 Group. 2020年2月22日閲覧。
  2. ^ a b Pavlo, Andrew; Aslett, Matthew (2016). "What's Really New with NewSQL?" (PDF). SIGMOD Record. 2020年2月22日閲覧
  3. ^ Stonebraker, Michael (2011年6月16日). “NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps”. Communications of the ACM Blog. 2020年2月22日閲覧。
  4. ^ Hoff, Todd (2012年9月24日). “Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In”. 2020年2月22日閲覧。
  5. ^ a b Aslett, Matthew (2011年4月6日). “What we talk about when we talk about NewSQL”. 451 Group. 2020年2月22日閲覧。
  6. ^ Lloyd, Alex (2012年). “Building Spanner”. Berlin Buzzwords. 2020年2月22日閲覧。
  7. ^ Aslett, Matthew (2008年3月4日). “Is H-Store the future of database management systems?”. 2020年2月22日閲覧。
  8. ^ Monash, Curt (2008年2月20日). “H-Store: Complete destruction of the old DBMS order?”. ZDNet. 2020年2月22日閲覧。
  9. ^ 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日閲覧
  10. ^ 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. 
  11. ^ 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 2020年2月22日閲覧。. 
  12. ^ Venkatesh, Prasanna (2012年1月30日). “NewSQL - The New Way to Handle Big Data”. 2020年2月22日閲覧。