👻

TiDBの概要

2024/06/06に公開

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への移行をする際、多くの場合はコードの変更は必要がない。もしくは数行の変更のみで移行が完了する。
GitHubで編集を提案

Discussion