👻
TiDBの概要
TiDBとは
TiDBは、分散型SQLデータベースシステムであり、オープンソースで開発されています。
その設計は、分散アーキテクチャを採用しており、GoogleのSpannerにインスパイアされていますが、MySQLとの互換性を持つことを特徴としています。TiDBは、PingCAP社によって主に開発されています。
主な特徴
- 簡単な水平スケーリング
- TiDBアーキテクチャでは、コンピューティング部分とストレージ部分が分離されてる。そのため、必要に応じて容量をスケールアウトorスケールインすることができる。
- 高い可用性
- データのレプリカが複数保存され、Multi-Raftプロトコルを使用してトランザクションログが取得される。トランザクションは、データレプリカの過半数に書き込みが成功した時のみ反映される。
- リアルタイムHTAP
- HTAP(Hybrid Transaction Analytical Processing):トランザクション処理と分析処理を同じインメモリデータベース上で処理する技術
- 行ベースストレージエンジン(TiKV)と列ベースストレージエンジン(TiFlash)、2つのストレージエンジンを提供する。TiFlashは、Mult-Raft Learnerプロトコルを使用して、TiKVからデータをリアルタイムに複製し、TiKV行ベースのストレージエンジンとTiFlash列ベースのストレージエンジン間でデータの一貫性を確保する。
- MySQLプロトコルおよびMySQLエコシステムと互換性
- TiDBへの移行をする際、多くの場合はコードの変更は必要がない。もしくは数行の変更のみで移行が完了する。
Discussion