小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 liang1234_ 2020-03-10

TiDB 簡(jiǎn)介

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

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

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

TiDB 具備如下特性

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

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

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

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

TiDB 整體架構(gòu)

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

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

TiDB Server

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

PD Server

Placement Driver (簡(jiǎn)稱 PD) 是整個(gè)集群的管理模塊,其主要工作有三個(gè):一是存儲(chǔ)集群的元信息(某個(gè) Key 存儲(chǔ)在哪個(gè) TiKV 節(jié)點(diǎn));二是對(duì) 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ù)個(gè) PD 節(jié)點(diǎn)。

TiKV Server

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

TiSpark

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

TiDB 部署方式

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

  • 使用 Ansible 部署:如果用于生產(chǎn)環(huán)境,須使用 Ansible 部署 TiDB 集群。
  • 使用 Ansible 離線部署:如果部署環(huán)境無(wú)法訪問網(wǎng)絡(luò),可使用 Ansible 進(jìn)行離線部署。
  • 使用 Docker Compose 部署:如果你只是想測(cè)試 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ù)庫(kù),可以很好的部署和運(yùn)行在 Intel 架構(gòu)服務(wù)器環(huán)境及主流虛擬化環(huán)境,并支持絕大多數(shù)的主流硬件網(wǎng)絡(luò)。作為一款高性能數(shù)據(jù)庫(kù)系統(tǒng),TiDB 支持主流的 Linux 操作系統(tǒng)環(huán)境。

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

Linux 操作系統(tǒng)平臺(tái)版本
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)行過大量的測(cè)試,同時(shí)社區(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)評(píng)
  • 今日頭條
  • 轉(zhuǎn)轉(zhuǎn)
  • 小米科技
  • Mobike
  • 愛奇藝
  • 去哪兒
  • 同程旅游
  • 鳳凰網(wǎng)
  • ……

TiDB 更多支持

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多