トップ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データベースの一覧

特徴

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

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

新規アーキテクチャ

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

SQLエンジン

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

透過的シャーディング

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

Remove ads

参照項目

脚注

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads