NewSQLとは?
NewSQL(ニューエスキューエル) は、従来のリレーショナルデータベース(RDBMS)の特徴である厳密なトランザクション整合性(ACID特性)を保ちながらも、NoSQLデータベースが持つ高いスケーラビリティや分散処理能力を取り入れた新世代のデータベースシステムです。
NewSQLの登場背景
従来のリレーショナルデータベース(Oracle、MySQL、PostgreSQLなど)は、ACID特性を厳密に実現しますが、大規模なシステムにおいてスケールアウト(水平分散)が難しいという課題を抱えていました。一方、NoSQLデータベースはスケールアウトが容易で高性能な処理が可能ですが、多くの場合ACID特性の一部を犠牲にしています。
NewSQLは、こうしたRDBMSとNoSQLの利点を融合させ、両者の課題を克服することを目的に開発されました。
NewSQLの主な特徴
-
ACID特性の維持
- トランザクションの原子性、一貫性、独立性、永続性を厳密に保証。
-
高いスケーラビリティ
- クラスタ環境での水平分散を前提とし、大規模トランザクションを効率的に処理。
-
SQLインターフェースの利用
- 標準的なSQLをサポートしているため、既存のアプリケーションとの親和性が高い。
-
高性能なトランザクション処理
- インメモリ技術や効率的な分散トランザクション制御により、高いスループットを実現。
代表的なNewSQLデータベース
-
CockroachDB
- Google Spannerにインスパイアされた分散型のオープンソースデータベース。マルチリージョンでの一貫性を維持。
-
Google Cloud Spanner
- 世界規模で分散処理を実現し、グローバルなACID整合性を保証する。
-
Amazon Aurora
- AWSが提供するクラウド型データベース。MySQL・PostgreSQL互換の高スケーラビリティと高性能を提供。
-
TiDB
- オープンソースの分散型データベースで、MySQLとの互換性を持ち、高度なスケールアウトが可能。
NewSQLが適しているシナリオ
- 銀行・金融取引のように高い整合性が必須となる大規模トランザクション処理。
- グローバル展開を行うサービスで、地域を超えて一貫性を保証したいケース。
- 急激な成長により即座にスケールアウトが求められるオンラインサービス。
RDBMS、NoSQL、NewSQLの比較表
特性・項目 | RDBMS(従来型) | NoSQLデータベース | NewSQLデータベース |
---|---|---|---|
ACID特性 | 完全サポート | 部分的または緩和 | 完全サポート |
水平スケーラビリティ | 限定的 | 高い | 高い |
SQL標準サポート | 完全 | 限定的またはなし | 完全または高度な互換性 |
トランザクション処理性能 | 中程度~高 | 高い(ただしACIDは緩和) | 非常に高い(ACID維持) |
まとめ
NewSQLは、高い一貫性を求める大規模トランザクション処理とスケールアウトの両立を可能にし、次世代の分散型データベースとして、金融やグローバルなWebサービスを中心に注目されています。今後のシステム設計やデータベース選定において重要な選択肢となっています。