日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

TiDB 開源分布式關(guān)系型數(shù)據(jù)庫

 liang1234_ 2020-03-10

TiDB 簡介

TiDB 開源分布式關(guān)系型數(shù)據(jù)庫

TiDB 是 PingCAP 公司設(shè)計(jì)的開源分布式 HTAP (Hybrid Transactional and Analytical Processing) 數(shù)據(jù)庫,結(jié)合了傳統(tǒng)的 RDBMS 和 NoSQL 的最佳特性。TiDB 兼容 MySQL,支持無限的水平擴(kuò)展,具備強(qiáng)一致性和高可用性。TiDB 的目標(biāo)是為 OLTP (Online Transactional Processing) 和 OLAP (Online Analytical Processing) 場景提供一站式的解決方案。

最近的兩個項(xiàng)目日流量>一千萬,單數(shù)據(jù)庫>500GB,小集群,模塊與數(shù)據(jù)分離,使用傳統(tǒng)的備份同步方案已經(jīng)完全不能滿足需求,找到TiDB后感覺是個不錯的選擇,特記錄。

TiDB 具備如下特性

  • 高度兼容 MySQL大多數(shù)情況下,無需修改代碼即可從 MySQL 輕松遷移至 TiDB,分庫分表后的 MySQL 集群亦可通過 TiDB 工具進(jìn)行實(shí)時遷移。
  • 水平彈性擴(kuò)展通過簡單地增加新節(jié)點(diǎn)即可實(shí)現(xiàn) TiDB 的水平擴(kuò)展,按需擴(kuò)展吞吐或存儲,輕松應(yīng)對高并發(fā)、海量數(shù)據(jù)場景。
  • 分布式事務(wù)TiDB 100% 支持標(biāo)準(zhǔn)的 ACID 事務(wù)。
  • 真正金融級高可用相比于傳統(tǒng)主從 (M-S) 復(fù)制方案,基于 Raft 的多數(shù)派選舉協(xié)議可以提供金融級的 100% 數(shù)據(jù)強(qiáng)一致性保證,且在不丟失大多數(shù)副本的前提下,可以實(shí)現(xiàn)故障的自動恢復(fù) (auto-failover),無需人工介入。
  • 一站式 HTAP 解決方案TiDB 作為典型的 OLTP 行存數(shù)據(jù)庫,同時兼具強(qiáng)大的 OLAP 性能,配合 TiSpark,可提供一站式 HTAP 解決方案,一份存儲同時處理 OLTP & OLAP,無需傳統(tǒng)繁瑣的 ETL 過程。
  • 云原生 SQL 數(shù)據(jù)庫TiDB 是為云而設(shè)計(jì)的數(shù)據(jù)庫,支持公有云、私有云和混合云,使部署、配置和維護(hù)變得十分簡單。

TiDB 的設(shè)計(jì)目標(biāo)是 100% 的 OLTP 場景和 80% 的 OLAP 場景,更復(fù)雜的 OLAP 分析可以通過 TiSpark 項(xiàng)目來完成。

TiDB 對業(yè)務(wù)沒有任何侵入性,能優(yōu)雅的替換傳統(tǒng)的數(shù)據(jù)庫中間件、數(shù)據(jù)庫分庫分表等 Sharding 方案。同時它也讓開發(fā)運(yùn)維人員不用關(guān)注數(shù)據(jù)庫 Scale 的細(xì)節(jié)問題,專注于業(yè)務(wù)開發(fā),極大的提升研發(fā)的生產(chǎn)力。

三篇文章了解 TiDB 技術(shù)內(nèi)幕:

TiDB 整體架構(gòu)

要深入了解 TiDB 的水平擴(kuò)展和高可用特點(diǎn),首先需要了解 TiDB 的整體架構(gòu)。TiDB 集群主要包括三個核心組件:TiDB ServerPD ServerTiKV Server。此外,還有用于解決用戶復(fù)雜 OLAP 需求的 TiSpark 組件。

TiDB 開源分布式關(guān)系型數(shù)據(jù)庫

TiDB Server

TiDB Server 負(fù)責(zé)接收 SQL 請求,處理 SQL 相關(guān)的邏輯,并通過 PD 找到存儲計(jì)算所需數(shù)據(jù)的 TiKV 地址,與 TiKV 交互獲取數(shù)據(jù),最終返回結(jié)果。TiDB Server 是無狀態(tài)的,其本身并不存儲數(shù)據(jù),只負(fù)責(zé)計(jì)算,可以無限水平擴(kuò)展,可以通過負(fù)載均衡組件(如LVS、HAProxy 或 F5)對外提供統(tǒng)一的接入地址。

PD Server

Placement Driver (簡稱 PD) 是整個集群的管理模塊,其主要工作有三個:一是存儲集群的元信息(某個 Key 存儲在哪個 TiKV 節(jié)點(diǎn));二是對 TiKV 集群進(jìn)行調(diào)度和負(fù)載均衡(如數(shù)據(jù)的遷移、Raft group leader 的遷移等);三是分配全局唯一且遞增的事務(wù) ID。

PD 通過 Raft 協(xié)議保證數(shù)據(jù)的安全性。Raft 的 leader server 負(fù)責(zé)處理所有操作,其余的 PD server 僅用于保證高可用。建議部署奇數(shù)個 PD 節(jié)點(diǎn)。

TiKV Server

TiKV Server 負(fù)責(zé)存儲數(shù)據(jù),從外部看 TiKV 是一個分布式的提供事務(wù)的 Key-Value 存儲引擎。存儲數(shù)據(jù)的基本單位是 Region,每個 Region 負(fù)責(zé)存儲一個 Key Range(從 StartKey 到 EndKey 的左閉右開區(qū)間)的數(shù)據(jù),每個 TiKV 節(jié)點(diǎn)會負(fù)責(zé)多個 Region。TiKV 使用 Raft 協(xié)議做復(fù)制,保持?jǐn)?shù)據(jù)的一致性和容災(zāi)。副本以 Region 為單位進(jìn)行管理,不同節(jié)點(diǎn)上的多個 Region 構(gòu)成一個 Raft Group,互為副本。數(shù)據(jù)在多個 TiKV 之間的負(fù)載均衡由 PD 調(diào)度,這里也是以 Region 為單位進(jìn)行調(diào)度。

TiSpark

TiSpark 作為 TiDB 中解決用戶復(fù)雜 OLAP 需求的主要組件,將 Spark SQL 直接運(yùn)行在 TiDB 存儲層上,同時融合 TiKV 分布式集群的優(yōu)勢,并融入大數(shù)據(jù)社區(qū)生態(tài)。至此,TiDB 可以通過一套系統(tǒng),同時支持 OLTP 與 OLAP,免除用戶數(shù)據(jù)同步的煩惱。

TiDB 部署方式

TiDB 可以部署在本地和云平臺上,支持公有云、私有云和混合云。你可以根據(jù)實(shí)際場景或需求,選擇相應(yīng)的方式來部署 TiDB 集群:

  • 使用 Ansible 部署:如果用于生產(chǎn)環(huán)境,須使用 Ansible 部署 TiDB 集群。
  • 使用 Ansible 離線部署:如果部署環(huán)境無法訪問網(wǎng)絡(luò),可使用 Ansible 進(jìn)行離線部署。
  • 使用 Docker Compose 部署:如果你只是想測試 TiDB、體驗(yàn) TiDB 的特性,或者用于開發(fā)環(huán)境,可以使用 Docker Compose 在本地快速部署 TiDB 集群。該部署方式不適用于生產(chǎn)環(huán)境。
  • 使用 Docker 部署:你可以使用 Docker 部署 TiDB 集群,但該部署方式不適用于生產(chǎn)環(huán)境。

TiDB 軟件和硬件環(huán)境建議配置

TiDB 作為一款開源分布式 NewSQL 數(shù)據(jù)庫,可以很好的部署和運(yùn)行在 Intel 架構(gòu)服務(wù)器環(huán)境及主流虛擬化環(huán)境,并支持絕大多數(shù)的主流硬件網(wǎng)絡(luò)。作為一款高性能數(shù)據(jù)庫系統(tǒng),TiDB 支持主流的 Linux 操作系統(tǒng)環(huán)境。

Linux 操作系統(tǒng)版本要求

Linux 操作系統(tǒng)平臺版本
Red Hat Enterprise Linux7.3 及以上
CentOS7.3 及以上
Oracle Enterprise Linux7.3 及以上
Ubuntu LTS16.04 及以上

TiDB 只支持 Red Hat 兼容內(nèi)核 (RHCK) 的 Oracle Enterprise Linux,不支持 Oracle Enterprise Linux 提供的 Unbreakable Enterprise Kernel。

TiDB 在 CentOS 7.3 的環(huán)境下進(jìn)行過大量的測試,同時社區(qū)也有很多該操作系統(tǒng)部署的最佳實(shí)踐,因此,建議使用 CentOS 7.3 以上的 Linux 操作系統(tǒng)來部署 TiDB。

以上 Linux 操作系統(tǒng)可運(yùn)行在物理服務(wù)器以及 VMware、KVM、XEN 主流虛擬化環(huán)境上。

注意

TiDB 項(xiàng)目源碼

TiDB 集群所有組件的源碼均可從 GitHub 上直接訪問。

TiDB 用戶案例

  • 北京銀行
  • 海航
  • 美團(tuán)點(diǎn)評
  • 今日頭條
  • 轉(zhuǎn)轉(zhuǎn)
  • 小米科技
  • Mobike
  • 愛奇藝
  • 去哪兒
  • 同程旅游
  • 鳳凰網(wǎng)
  • ……

TiDB 更多支持

TiDB文檔:https://www./docs-cn/

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多