NewSQL にゅーえすきゅーえる
NewSQL分散SQLスケールアウトACIDCockroachDBTiDB
NewSQLってSQLとNoSQLの何が違うの?
簡単に言うとこんな感じ!
従来のSQLは「ACID保証はあるけどスケールが難しい」、NoSQLは「スケールしやすいけどACIDが弱い」という弱点があったんだけど、NewSQLは「両方の良いとこ取り」を目指したDBだよ!SQLが使えて、水平スケールもできる、次世代RDBMSって感じ。
NewSQLとは
NewSQL とは、従来のRDBMSのACIDトランザクション保証を維持しながら、NoSQLに匹敵する水平スケールアウト性能を持つ次世代分散SQLデータベースの総称です。
2011年にMatthew Aslett(451 Research)が命名した概念で、「OLTPワークロードを対象に、RDBMSとNoSQLの両方の利点を持つDB」と定義されています。
RDB・NoSQL・NewSQLの比較
| 比較軸 | 従来RDB | NoSQL | NewSQL |
|---|---|---|---|
| SQL対応 | ◎ | △ | ◎ |
| ACID保証 | ◎ | △(緩い整合性) | ◎ |
| 水平スケール | △ | ◎ | ◎ |
| 成熟度 | ◎ | ◎ | △(発展中) |
| 用途 | 一般OLTP | 大規模・柔軟性 | 大規模OLTP |
主なNewSQL製品
| 製品 | 開発元 | 特徴 |
|---|---|---|
| CockroachDB | Cockroach Labs | Googleのスパナに着想を得た分散ACID DB |
| TiDB | PingCAP | MySQLと互換性のある分散NewSQL |
| Google Spanner | 世界規模の分散RDBMS(クラウド専用) | |
| YugabyteDB | YugaByte | PostgreSQL互換の分散DB |
| VoltDB | VoltDB Inc. | インメモリNewSQL |
歴史と背景
- 2007年:GoogleがBigTableとSpannerの基礎技術を発表(論文)
- 2011年:NewSQLの概念が命名・定義される
- 2012年:Google Spannerが本番運用・論文公開
- 2020年代:クラウドネイティブなNewSQLが金融・EC分野で採用増