summary:
NewSQLは,RDBMSが持つ強力なデータ整合性やトランザクション管理機能を保ちながら,分散環境でのデータストレージと操作を効率的に行えるよう設計されている.
NewSQLの概念は2011年頃に提唱され,NoSQLの登場によって明らかになったRDBMSの限界[水平スケーラビリティの欠如]に対する回答として位置づけられる.NewSQLの主要な特徴としては,シャーディングによる水平スケーラビリティ,分散クエリ処理,障害耐性,自動レプリケーション,そして標準SQLインターフェースのサポートが挙げられる.
代表的なNewSQLデータベースとしては,Google Spanner,CockroachDB,Amazon Aurora,NuoDB,VoltDB,MemSQL[後のSingleStore],Vitess,TiDBなどがある.これらのシステムは,インターネットスケールのアプリケーション,金融取引,電子商取引プラットフォーム,SaaSアプリケーションなど,高いトランザクション処理性能と強力なデータ一貫性の両方が求められるユースケースに適している.
NewSQLの実装アプローチは多様であり,シェアードナッシング[共有なし]アーキテクチャを採用するもの,分散ストレージと計算レイヤーを分離するもの,インメモリデータ処理に特化したもの,既存RDBMSに分散機能を追加するものなど,さまざまな戦略が存在する.これらのシステムに共通するのは,トランザクションの一貫性とパフォーマンスのトレードオフを最小化しようとする試みである.
Mathematics is the language with which God has written the universe.