久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      tidb是go語(yǔ)言么

      是,TiDB采用go語(yǔ)言編寫(xiě)。TiDB是一個(gè)分布式NewSQL數(shù)據(jù)庫(kù);它支持水平彈性擴(kuò)展、ACID事務(wù)、標(biāo)準(zhǔn)SQL、MySQL語(yǔ)法和MySQL協(xié)議,具有數(shù)據(jù)強(qiáng)一致的高可用特性。TiDB架構(gòu)中的PD儲(chǔ)存了集群的元信息,如key在哪個(gè)TiKV節(jié)點(diǎn);PD還負(fù)責(zé)集群的負(fù)載均衡以及數(shù)據(jù)分片等。PD通過(guò)內(nèi)嵌etcd來(lái)支持?jǐn)?shù)據(jù)分布和容錯(cuò);PD采用go語(yǔ)言編寫(xiě)。

      tidb是go語(yǔ)言么

      php入門(mén)到就業(yè)線(xiàn)上直播課:進(jìn)入學(xué)習(xí)
      Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用

      本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

      Go 語(yǔ)言不少重量級(jí)項(xiàng)目,而國(guó)內(nèi)最牛逼的 Go 開(kāi)源項(xiàng)目應(yīng)該就是 TiDB 了吧。TiDB 是一個(gè)分布式數(shù)據(jù)庫(kù),很多人可能對(duì)此一無(wú)所知。今天就跟大家聊聊這個(gè)話(huà)題。

      TiDB設(shè)計(jì)簡(jiǎn)單,官網(wǎng)和代碼都非常易讀,是學(xué)習(xí)分布式數(shù)據(jù)庫(kù)的首選開(kāi)源項(xiàng)目。

      數(shù)據(jù)庫(kù)、操作系統(tǒng)和編譯器并稱(chēng)為三大系統(tǒng),可以說(shuō)是整個(gè)計(jì)算機(jī)軟件的基石。

      很多人用過(guò)數(shù)據(jù)庫(kù),但是很少有人實(shí)現(xiàn)過(guò)一個(gè)數(shù)據(jù)庫(kù),特別是實(shí)現(xiàn)一個(gè)分布式數(shù)據(jù)庫(kù)。了解數(shù)據(jù)庫(kù)的實(shí)現(xiàn)原理和細(xì)節(jié),一方面可以提高個(gè)人技術(shù),對(duì)構(gòu)建其他系統(tǒng)有幫助,另一方面也有利于用好數(shù)據(jù)庫(kù)。

      一、TiDB簡(jiǎn)介

      TiDB是一個(gè)分布式 NewSQL 數(shù)據(jù)庫(kù)。它支持水平彈性擴(kuò)展、ACID 事務(wù)、標(biāo)準(zhǔn) SQL、MySQL 語(yǔ)法和 MySQL 協(xié)議,具有數(shù)據(jù)強(qiáng)一致的高可用特性,是一個(gè)不僅適合 OLTP 場(chǎng)景還適合 OLAP 場(chǎng)景的混合數(shù)據(jù)庫(kù)

      OLTP:On-Line Transaction Processing,聯(lián)機(jī)事務(wù)處理。
      OLAP:On-Line Analytical Processing,聯(lián)機(jī)分析處理。

      • 高度兼容 MySQL 5.7

      TiDB 高度兼容 MySQL 5.7 協(xié)議、MySQL 5.7 常用的功能及語(yǔ)法。雖然 TiDB 支持 MySQL 語(yǔ)法和協(xié)議,但是 TiDB 是由 PingCAP 團(tuán)隊(duì)完全自主開(kāi)發(fā)的產(chǎn)品,并非基于MySQL開(kāi)發(fā)。

      MySQL 5.7 生態(tài)中的系統(tǒng)工具 (PHPMyAdmin、Navicat、MySQL Workbench、mysqldump、Mydumper、Myloader)、客戶(hù)端等均適用于 TiDB。

      TiDB 目前還不支持觸發(fā)器、存儲(chǔ)過(guò)程、自定義函數(shù)、外鍵。

      • 易用性

      TiDB 使用起來(lái)很簡(jiǎn)單,可以將 TiDB 集群當(dāng)成 MySQL 來(lái)用,可以將 TiDB 用在任何以 MySQL 作為后臺(tái)存儲(chǔ)服務(wù)的應(yīng)用中,并且基本上不需要修改應(yīng)用代碼,同時(shí)可以用大部分流行的 MySQL 管理工具來(lái)管理 TiDB。

      只要支持 MySQL Client/Driver 的編程語(yǔ)言,都可以直接使用 TiDB。

      • 支持分布式事務(wù)

      無(wú)論是一個(gè)地方的幾個(gè)節(jié)點(diǎn),還是跨多個(gè)數(shù)據(jù)中心的多個(gè)節(jié)點(diǎn),TiDB 均支持 ACID 分布式事務(wù)。

      TiDB 事務(wù)模型靈感源自 Google Percolator 模型,主體是一個(gè)兩階段提交協(xié)議,并進(jìn)行了一些實(shí)用的優(yōu)化。該模型依賴(lài)于一個(gè)時(shí)間戳分配器,為每個(gè)事務(wù)分配單調(diào)遞增的時(shí)間戳,這樣就檢測(cè)到事務(wù)沖突。在 TiDB 集群中,PD 承擔(dān)時(shí)間戳分配器的角色。

      TiDB不需要像MySQL一樣通過(guò)支持XA來(lái)滿(mǎn)足跨數(shù)據(jù)庫(kù)事務(wù),TiDO的本身的分布式事務(wù)模型無(wú)論是在性能上還是在穩(wěn)定性上都要比 XA 要高出很多,所以不會(huì)也不需要支持 XA。

      與傳統(tǒng)的單機(jī)數(shù)據(jù)庫(kù)相比,TiDB 具有以下優(yōu)勢(shì)

      • 純分布式架構(gòu),擁有良好的擴(kuò)展性,支持彈性的擴(kuò)縮容
      • 支持 SQL,對(duì)外暴露 MySQL 的網(wǎng)絡(luò)協(xié)議,并兼容大多數(shù) MySQL 的語(yǔ)法,在大多數(shù)場(chǎng)景下可以直接替換 MySQL
      • 默認(rèn)支持高可用,在少數(shù)副本失效的情況下,數(shù)據(jù)庫(kù)本身能夠自動(dòng)進(jìn)行數(shù)據(jù)修復(fù)和故障轉(zhuǎn)移,對(duì)業(yè)務(wù)透明
      • 支持 ACID 事務(wù),對(duì)于一些有強(qiáng)一致需求的場(chǎng)景友好,例如:銀行轉(zhuǎn)賬
      • 具有豐富的工具鏈生態(tài),覆蓋數(shù)據(jù)遷移、同步、備份等多種場(chǎng)景

      簡(jiǎn)單來(lái)說(shuō),TiDB 適合具備下面這些特點(diǎn)的場(chǎng)景

      • 數(shù)據(jù)量大,單機(jī)保存不下
      • 不希望做 Sharding 或者懶得做 Sharding
      • 訪(fǎng)問(wèn)模式上沒(méi)有明顯的熱點(diǎn)
      • 需要事務(wù)、需要強(qiáng)一致、需要災(zāi)備
      • 希望 Real-Time HTAP,減少存儲(chǔ)鏈路

      五大核心特性

      • 一鍵水平擴(kuò)容或者縮容

        得益于 TiDB 存儲(chǔ)計(jì)算分離的架構(gòu)的設(shè)計(jì),可按需對(duì)計(jì)算、存儲(chǔ)分別進(jìn)行在線(xiàn)擴(kuò)容或者縮容,擴(kuò)容或者縮容過(guò)程中對(duì)應(yīng)用運(yùn)維人員透明。

      • 金融級(jí)高可用

        數(shù)據(jù)采用多副本存儲(chǔ),數(shù)據(jù)副本通過(guò) Multi-Raft 協(xié)議同步事務(wù)日志,多數(shù)派寫(xiě)入成功事務(wù)才能提交,確保數(shù)據(jù)強(qiáng)一致性且少數(shù)副本發(fā)生故障時(shí)不影響數(shù)據(jù)的可用性??砂葱枧渲酶北镜乩砦恢?、副本數(shù)量等策略滿(mǎn)足不同容災(zāi)級(jí)別的要求。

      • 實(shí)時(shí) HTAP

        提供行存儲(chǔ)引擎 TiKV、列存儲(chǔ)引擎 TiFlash 兩款存儲(chǔ)引擎,TiFlash 通過(guò) Multi-Raft Learner 協(xié)議實(shí)時(shí)從 TiKV 復(fù)制數(shù)據(jù),確保行存儲(chǔ)引擎 TiKV 和列存儲(chǔ)引擎 TiFlash 之間的數(shù)據(jù)強(qiáng)一致。TiKV、TiFlash 可按需部署在不同的機(jī)器,解決 HTAP 資源隔離的問(wèn)題。

      • 云原生的分布式數(shù)據(jù)庫(kù)

        專(zhuān)為云而設(shè)計(jì)的分布式數(shù)據(jù)庫(kù),通過(guò) TiDB Operator 可在公有云、私有云、混合云中實(shí)現(xiàn)部署工具化、自動(dòng)化。

      • 兼容 MySQL 5.7 協(xié)議和 MySQL 生態(tài)

        兼容 MySQL 5.7 協(xié)議、MySQL 常用的功能、MySQL 生態(tài),應(yīng)用無(wú)需或者修改少量代碼即可從 MySQL 遷移到 TiDB。提供豐富的數(shù)據(jù)遷移工具幫助應(yīng)用便捷完成數(shù)據(jù)遷移。

      四大核心應(yīng)用場(chǎng)景

      • 對(duì)數(shù)據(jù)一致性及高可靠、系統(tǒng)高可用、可擴(kuò)展性、容災(zāi)要求較高的金融行業(yè)屬性的場(chǎng)景

        眾所周知,金融行業(yè)對(duì)數(shù)據(jù)一致性及高可靠、系統(tǒng)高可用、可擴(kuò)展性、容災(zāi)要求較高。傳統(tǒng)的解決方案是同城兩個(gè)機(jī)房提供服務(wù)、異地一個(gè)機(jī)房提供數(shù)據(jù)容災(zāi)能力但不提供服務(wù),此解決方案存在以下缺點(diǎn):資源利用率低、維護(hù)成本高、RTO (Recovery Time Objective)RPO (Recovery Point Objective) 無(wú)法真實(shí)達(dá)到企業(yè)所期望的值。TiDB 采用多副本 + Multi-Raft 協(xié)議的方式將數(shù)據(jù)調(diào)度到不同的機(jī)房、機(jī)架、機(jī)器,當(dāng)部分機(jī)器出現(xiàn)故障時(shí)系統(tǒng)可自動(dòng)進(jìn)行切換,確保系統(tǒng)的 RTO <= 30s 及 RPO = 0。

      • 對(duì)存儲(chǔ)容量、可擴(kuò)展性、并發(fā)要求較高的海量數(shù)據(jù)及高并發(fā)的 OLTP 場(chǎng)景

        隨著業(yè)務(wù)的高速發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸性的增長(zhǎng),傳統(tǒng)的單機(jī)數(shù)據(jù)庫(kù)無(wú)法滿(mǎn)足因數(shù)據(jù)爆炸性的增長(zhǎng)對(duì)數(shù)據(jù)庫(kù)的容量要求,可行方案是采用分庫(kù)分表的中間件產(chǎn)品或者 NewSQL 數(shù)據(jù)庫(kù)替代、采用高端的存儲(chǔ)設(shè)備等,其中性?xún)r(jià)比最大的是 NewSQL 數(shù)據(jù)庫(kù),例如:TiDB。TiDB 采用計(jì)算、存儲(chǔ)分離的架構(gòu),可對(duì)計(jì)算、存儲(chǔ)分別進(jìn)行擴(kuò)容和縮容,計(jì)算最大支持 512 節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)最大支持 1000 并發(fā),集群容量最大支持 PB 級(jí)別。

      • Real-time HTAP 場(chǎng)景

        隨著 5G、物聯(lián)網(wǎng)、人工智能的高速發(fā)展,企業(yè)所生產(chǎn)的數(shù)據(jù)會(huì)越來(lái)越多,其規(guī)??赡苓_(dá)到數(shù)百 TB 甚至 PB 級(jí)別,傳統(tǒng)的解決方案是通過(guò) OLTP 型數(shù)據(jù)庫(kù)處理在線(xiàn)聯(lián)機(jī)交易業(yè)務(wù),通過(guò) ETL 工具將數(shù)據(jù)同步到 OLAP 型數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)分析,這種處理方案存在存儲(chǔ)成本高、實(shí)時(shí)性差等多方面的問(wèn)題。TiDB 在 4.0 版本中引入列存儲(chǔ)引擎 TiFlash 結(jié)合行存儲(chǔ)引擎 TiKV 構(gòu)建真正的 HTAP 數(shù)據(jù)庫(kù),在增加少量存儲(chǔ)成本的情況下,可以在同一個(gè)系統(tǒng)中做聯(lián)機(jī)交易處理、實(shí)時(shí)數(shù)據(jù)分析,極大地節(jié)省企業(yè)的成本。

      • 數(shù)據(jù)匯聚、二次加工處理的場(chǎng)景

        當(dāng)前絕大部分企業(yè)的業(yè)務(wù)數(shù)據(jù)都分散在不同的系統(tǒng)中,沒(méi)有一個(gè)統(tǒng)一的匯總,隨著業(yè)務(wù)的發(fā)展,企業(yè)的決策層需要了解整個(gè)公司的業(yè)務(wù)狀況以便及時(shí)做出決策,故需要將分散在各個(gè)系統(tǒng)的數(shù)據(jù)匯聚在同一個(gè)系統(tǒng)并進(jìn)行二次加工處理生成 T+0 或 T+1 的報(bào)表。傳統(tǒng)常見(jiàn)的解決方案是采用 ETL + Hadoop 來(lái)完成,但 Hadoop 體系太復(fù)雜,運(yùn)維、存儲(chǔ)成本太高無(wú)法滿(mǎn)足用戶(hù)的需求。與 Hadoop 相比,TiDB 就簡(jiǎn)單得多,業(yè)務(wù)通過(guò) ETL 工具或者 TiDB 的同步工具將數(shù)據(jù)同步到 TiDB,在 TiDB 中可通過(guò) SQL 直接生成報(bào)表。

      二、快速上手

      TiDB 是一個(gè)分布式系統(tǒng)。最基礎(chǔ)的 TiDB 測(cè)試集群通常由 2 個(gè) TiDB 實(shí)例、3 個(gè) TiKV 實(shí)例、3 個(gè) PD 實(shí)例和可選的 TiFlash 實(shí)例構(gòu)成。通過(guò) TiUP Playground,可以快速搭建出上述的一套基礎(chǔ)測(cè)試集群,步驟如下:

      • step1、下載并安裝 TiUP。

        curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
        登錄后復(fù)制

      安裝完成后顯示:

      Successfully set mirror to https://tiup-mirrors.pingcap.com Detected shell: bash Shell profile:  /home/user/.bashrc /home/user/.bashrc has been modified to add tiup to PATH open a new terminal or source /home/user/.bashrc to use it Installed path: /home/user/.tiup/bin/tiup =============================================== Have a try:     tiup playground ===============================================
      登錄后復(fù)制

      • step2、聲明全局環(huán)境變量。 source ${your_shell_profile}

        source /home/user/.bashrc
        登錄后復(fù)制

      • step3、在當(dāng)前 session 執(zhí)行以下命令啟動(dòng)集群。

        tiup playground
        登錄后復(fù)制

      • step4、驗(yàn)證?!?strong>現(xiàn)在可以像使用MySQL一樣使用TiDB啦】

        #新開(kāi)啟一個(gè) session 以訪(fǎng)問(wèn) TiDB 數(shù)據(jù)庫(kù)。 #使用 TiUP client 連接 TiDB: tiup client #也可使用 MySQL 客戶(hù)端連接 TiDB mysql --host 127.0.0.1 --port 4000 -u root #通過(guò) http://127.0.0.1:9090 訪(fǎng)問(wèn) TiDB 的 Prometheus 管理界面。 #通過(guò) http://127.0.0.1:2379/dashboard 訪(fǎng)問(wèn) TiDB Dashboard 頁(yè)面,默認(rèn)用戶(hù)名為 root,密碼為空。 #通過(guò) http://127.0.0.1:3000 訪(fǎng)問(wèn) TiDB 的 Grafana 界面,默認(rèn)用戶(hù)名和密碼都為 admin。
        登錄后復(fù)制

      三、TiDB架構(gòu)原理

      在內(nèi)核設(shè)計(jì)上,TiDB 分布式數(shù)據(jù)庫(kù)將整體架構(gòu)拆分成了多個(gè)模塊,各模塊之間互相通信,組成完整的 TiDB 系統(tǒng)。對(duì)應(yīng)的架構(gòu)圖如下:

      tidb是go語(yǔ)言么

      • TiDB Server 負(fù)責(zé)處理SQL相關(guān)的邏輯,將SQL語(yǔ)句轉(zhuǎn)成key,通過(guò)PD來(lái)查找數(shù)據(jù)具體在哪個(gè)TiKV。TiDB本身是無(wú)狀態(tài)的,不存儲(chǔ)數(shù)據(jù),只負(fù)責(zé)計(jì)算。TiDB采用go語(yǔ)言編寫(xiě)。【

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)