01_tidb 資料參考

TiDB 是 PingCAP 公司設計的開源分佈式 HTAP (Hybrid Transactional and Analytical Processing) 數據庫,結合了傳統的 RDBMS 和 NoSQL 的最佳特性

高度兼容MySQL,並且能免去傳統數倉ETL過程實現數據分析,同時支持高併發、大吞吐量的在線事務處理的PB級數據存儲數據庫,同時支持海量數據在線事務(OLTP)和在線分析(OLAP)的HTAP關係型數據庫。

來源 網址 場景
官方文檔 QCon北京2018-《TiDB架構與開源之路》-申礫.pdf
git 社區 https://github.com/pingcap/community 項目源碼 TiDB 集羣所有組件的源碼均可從 GitHub 上直接訪問:https://github.com/pingcap/tidb https://github.com/tikv/tikv https://github.com/pingcap/pd https://github.com/pingcap/tispark . https://github.com/pingcap/tidb-operator
csdn https://blog.csdn.net/tidb_pingcap/article/details/80062425
大廠應用及實踐 https://blog.csdn.net/dev_csdn/article/details/78839392(摩拜) 1、開關鎖日誌成功率統計 2、實時數據分析 3、實時在線 OLTP 業務 4、違章停車記錄/開鎖短信庫等日誌歸集庫
專業名詞 備註
OLTP (Online Transactional Processing) 在線事務處理
OLAP (Online Analytical Processing) 在線分析處理
HTAP (Hybrid Transactional and Analytical Processing) 混合事務/分析處理關係型分佈式數據庫

1、tidb優劣分析

TiDB 對業務沒有任何侵入性,能優雅的替換傳統的數據庫中間件、數據庫分庫分表等 Sharding 方案。同時它也讓開發運維人員不用關注數據庫 Scale 的細節問題,專注於業務開發,極大的提升研發的生產力。

pros(官方文檔描述)
1、高度兼容 MySQL——大多數情況下,無需修改代碼即可從 MySQL 輕鬆遷移至 TiDB,分庫分表後的 MySQL 集羣亦可通過 TiDB 工具進行實時遷移
2、水平彈性擴展——通過簡單地增加新節點即可實現 TiDB 的水平擴展,按需擴展吞吐或存儲,輕鬆應對高併發、海量數據場景。
3、分佈式事務——TiDB 100% 支持標準的 ACID 事務。
4、真正金融級高可用 ——相比於傳統主從 (M-S) 複製方案,基於 Raft 的多數派選舉協議可以提供金融級的 100% 數據強一致性保證,且在不丟失大多數副本的前提下,可以實現故障的自動恢復 (auto-failover),無需人工介入。
5、一站式 HTAP 解決方案——TiDB 作爲典型的 OLTP 行存數據庫,同時兼具強大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解決方案,一份存儲同時處理 OLTP & OLAP,無需傳統繁瑣的 ETL 過程。
6、雲原生 SQL 數據庫——TiDB 是爲雲而設計的數據庫,支持公有云、私有云和混合雲,使部署、配置和維護變得十分簡單。

實際應用中:
pros:
分佈式sql,自動擴容
在線ddl
支持update
支持spark
架構簡單,可專注於業務開發。
cons:
1. 成本較高,公司無大規模使用經驗。
2. 更加偏向於TP,不是列式存儲,不能支持向量化計算。
3. 解決問題時間可能會較慢。

2、TiDB的架構圖 (Architecture Evolution 技術演進參考 —— QCon北京2018-《TiDB架構與開源之路》-申礫.pdf)

在這裏插入圖片描述

在這裏插入圖片描述

  • PD是整個 集羣的管理模塊,負責元信息管理、集羣調度和分配全局遞增非連續ID;

  • TiDB 是客戶端接入層,負責SQL解析、執行計劃優化,通過PD定位存儲計算所需數據的TiKV 地址;

  • TiKV是數據的存儲層,底層是基於RocksDB的KV引擎,並在其上分別封裝MVCC和Raft 協議,保證數據的安全、一致;

  • TiSpark是Spark接入層,負責把Spark和TiKV 連接到一起,在執行非常重的OLAP業務時可以利用到Spark集羣的優勢。

————————————————————————————————

  • TiDB 是 Server 計算層,主要負責 SQL 的解析、制定查詢計劃、生成執行器。
  • TiKV 是分佈式 Key-Value 存儲引擎,用來存儲真正的數據,簡而言之,TiKV 是 TiDB 的存儲引擎。
  • PD 是 TiDB 集羣的管理組件,負責存儲 TiKV 的元數據,同時也負責分配時間戳以及對 TiKV 做負載均衡調度。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章