NewSQLについての色々と調べて読み漁ってみたので読んだものをまとめておく。
元々いくつかのNewSQLのDBについての比較をしてみたいと思って漁っていたのだが、内部で使われている技術について知っておく必要があったので、関連技術についての記事が多めになっている。
資料一覧
所感
実際にDB選定する際は要件に合わせた検証や性能比較が必要と思われるが、比較する際のポイントがいくつか分かった。
- 採用しているSQLインタフェース
- MySQLやPostgreSQLといったSQLへの互換性
- 分散トランザクションの仕様
- ちょっと難しくて理解できていないが、RaftやPaxosといった分散合意プロトコルや分散クロックなど採用している技術や方針によって整合性をどういう形で担保するかといった仕様が異なる、はず
- computeとストレージが別になっているか、同居しているアーキテクチャ構成か
- Spannerしか使ったことがないので、Spannerのように別になっているのが当たり前だと思っていたが、そうではないものもあるらしい
- スケーラビリティの担保に影響するかと思う
- HTAPか否か
- 分析用途も考慮するなら大事なポイントかと思われる
- とはいってもTiDB以外でサポートしているNew SQLあったっけ・・??