當前位置:
首頁 > 知識 > 分散式資料庫TencentDBforTDSQL

分散式資料庫TencentDBforTDSQL

分散式資料庫(Tencent Distributed SQL,TDSQL)是騰訊打造的一款分散式資料庫產品,具備強一致高可用、全球部署架構、分散式水平擴展、高性能、企業級安全等特性,同時提供智能 DBA、自動化運營、監控告警等配套設施,為用戶提供完整的分散式資料庫解決方案。目前 TDSQL 已經為超過500 的政企和金融機構提供資料庫的公有雲及私有雲服務,客戶覆蓋銀行、保險、證券、互聯網金融、計費、第三方支付、物聯網、互聯網 、政務等領域。TDSQL 亦憑藉其高質量的產品及服務,獲得了多項國際和國家認證,得到了客戶及行業的一致認可。

功能

騰訊雲 TDSQL 是基於分散式架構的資料庫,高度兼容 MySQL、高性能、高可用、企業級安全與監控、可擴展、易用性為一體的資料庫託管服務。

高度兼容 MySQL

兼容大多數常用的 MySQL 語法

包括 MySQL 的語言結構、字符集和時區、數據類型、常用函數、預處理協議、排序、聯合(join)、存儲過程、索引、分區、事務、預處理協議、控制指令、等常用的 DDL、DML、DCL 和資料庫訪問介面。

支持(分散式)事務

通過兩段提交的方式支持分散式事務,支持諸如轉賬、出單、支付等場景;跨節點事務性能約為單節點的 70%,高於開源分散式事務 XA 約 56%。目前僅開放 MySQL 5.7支持該能力。

支持(分散式)JOIN

TDSQL 支持多個物理節點之間的 JOIN(聯合查詢)操作,即分散式 JOIN。如果 JOIN 相關的表有 shardkey 相等條件,由於分表的一致性原則,會讓這部分數據自動存儲到同一物理節點,此時相當於單機 JOIN,性能最好。如果涉及到跨物理節點數據,此時 proxy 會先從其他節點拉取數據並緩存,由於涉及到網路數據傳輸,性能會損失。

支持JSON

TDSQL 支持存儲 JSON 格式的數據,使得對 JSON處理更加有效,同時又能提早檢查錯誤;如果您既希望使用 JSON類型,又對數據一致性,事務,JOIN 等傳統資料庫具備的能力也有一定要求的話,TDSQL 將是一個很好的選擇,當然 TDSQL 的 JSON 是基於 MySQL 與 Mongodb 的使用仍有一些差異。

三種建表策略

分表:即水平拆分的表,通常適用於表規模大於 2000 萬行、大於 50GB,且快速增長的表;

廣播表:即所有操作都將廣播到所有邏輯分片(Shard)中,這意味著每個分片都有該表的全量數據,通常適用於配置表,或需要頻繁 JOIN 的表,該類表數據更新相對較少,廣播表可以兩個表的聯合查詢(JOIN)、事務收斂到單節點中,以提高性能;

單表:一些無需分片的表,通常適用於數據量較小的庫表;由於單表並未拆分,這意味著單表使用完全兼容 MySQL。

全局唯一數字序列

與 AUTO_INCREMENT 類似。自增長序列為用戶提供一個全局唯一數字 ID 服務,實現分散式環境下唯一鍵、主鍵等數據的全局唯一性。

透傳命令

支持通過注釋方式(hint)將 SQL 透傳到指定目標分片,以提高性能和操作靈活性。

二級分區

在分表的基礎上,還支持分區表方案。即在水平拆分的表,再支持一層邏輯分區,因此叫做二級分區;二級分區可以均衡數據分布和訪問,可以提高查詢效率,也支持諸如遊戲歷史戰績、IoT 感測器數據,需要定期刪除歷史數據等場景。

更高性能

讀寫分離(從機只讀)

TDSQL 默認支持讀寫分離能力,主從架構中的每個從機都能支持只讀能力,如果配置有多個從機,將由網關集群(TProxy)自動分配到低負載從機上,以支撐大型應用程序的讀取流量;讀寫分離的方案包括:只讀賬號,/*slave*/,只讀實例三種方案。

線程池

TDSQL 默認支持線程池,騰訊對線程池的調度演算法進行了優化,改進當系統處於重負載時,查詢和更新請求在線程組間分布不均衡等極端情況,並且能夠更好地利用計算資源,減少無謂的線程切換,減少請求在隊列中的等待時間,及時處理請求。

高端硬體配置

TDSQL 基於 PCI-E SSD,提供至少高於 SATA 三倍的 IOPS 配置,強大 IO 性能保障資料庫的訪問能力;存儲硬體採用 NvMe 協議,專門針對 PCI-E 介面的 SSD 設計,更能發揮出性能優勢;單分片最大支持 245509 QPS(每秒訪問次數)、384GB 內存和 6TB 存儲空間。

性能並發線性增長

分散式架構的特性是隨著 TDSQL 分片的增加,每個分片分別承擔一部分分散式任務的處理,這樣您的資料庫性能等同於線性增長。

支持RocksDB

RocksDB 是新近開源的存儲引擎,包括 FB 在內的大量公司都在使用 RocksDB,而 RocksDB 是一種基於LSM 樹的存儲引擎,其數據壓縮率領先 InnoDB 引擎 60% 以上,即 InnoDB 壓縮前 160GB 數據使用RocksDB 後僅需 62GB,相當於每 1000 行數據僅需1GB存儲空間,極大節省資料庫使用成本;另外 RocksDB 的寫入性能也有較大提升,高並發情況下約為 InnoDB 的 5 倍以上。因此,RocksDB 特別適合物聯網、日誌等「寫多讀少」,且對容量比較敏感的業務。

高可用性

分散式高可用

分散式系統架構本身就具有極高的可用性,即單一節點故障,並不影響集群整體可用性。而 TDSQL 在分散式架構的基礎上,對每個分片都配置主從冗餘,確保業務持續高可用。

三種數據複製方式

TDSQL 支持強同步(不可蛻化)、強同步(可蛻化)、非同步複製三種方式。基於騰訊自研非同步多線程強同步複製技術技術,極大提高了數據強同步複製性能。在強同步性能基本等同於非同步的基礎上,確保主從節點的數據強一致性。

透明故障轉移

每一個分片和底層物理設備提供 7X24 小時持續監控。發生故障時,網關集群(TProxy)將及時從故障節點切換到正常節點。在主從切換時,VIP不變,這意味應用層無需做任何改動即可完成熱備切換,業務對容災切換無感知。

節點故障自動恢復

承載分片的物理節點故障,調度系統自動重試恢復節點,如果原節點無法恢復,將在 30 分鐘內自動申請新資源,並通過備份重建(Rebuild)節點,並將節點自動加入集群,已確保分片長期來看保持主從容易。

支持跨可用區部署

主機和從機可分處於同城不同可用區,通過騰訊專線網路進行實時的數據複製。本地為主機,遠程為從機,外部訪問該數據時,首先訪問本地的實例,若本地實例發生故障或訪問不可達,則訪問遠程從機。跨可用區部署特性為 TDSQL 提供了多可用區容災的能力,主機和從機切換過程對用戶透明,避免了單 IDC 部署的運營風險。

金融級兩地三中心方案

TDSQL 可提供同城雙中心、兩地三中心的部署架構。故障發生時,您可以在幾分鐘內將資料庫恢復正常運行。

企業級安全

符合國家/國際/行業相關標準

TDSQL 現已代表騰訊云云資料庫通過多項國家或國際認證,包括但不限於:ISO22301 認證、ISO27001 認證、ISO20000 認證、ISO9001 認證、可信雲服務認證、信息安全等級保護(三級或以上)、CSA STAR 認證。

TDSQL 部分功能設計標準也參考 GBT 20273-2006 信息安全技術 資料庫管理系統安全技術要求、JRT 0072-2012 金融行業信息系統信息安全等級保護測評指南;即使您的業務對資料庫安全較為敏感,也可以完全放心的使用 TDSQL。

資料庫內核級安全

針對諸如 SQL 注入、目錄穿越攻擊(Path Traversal)、非法提權、系統表覆蓋攻擊、插件引入等安全隱患,TDSQL 做了大量的安全優化,並在資料庫集群內部提供內置資料庫防火牆,從運維和使用角度都能幫助您的業務提高安全標準。

支持私有網路

TDSQL 允許您在私有網路(VPC)中運行資料庫實例,這使您可以隔離資料庫實例並通過行業標準加密的 IPsec VPN 或專線連接到您現有的數據中心。

資料庫防火牆與多重安全防護

雲資料庫默認為每個資料庫提供多重安全防護,在提供了外網訪問功能的資料庫實例遭到 DDoS 攻擊時,幫助用戶抵禦各種攻擊流量,保證業務正常運行。高效防禦 SQL 注入、暴力破解等資料庫攻擊行為,極大減少用戶因資料庫攻擊帶來的業務中斷和損失。

細粒度的許可權控制

默認屏蔽超級管理員 root 賬號,避免安全隱患;提供精確到表、函數、存儲過程等對象級別的許可權控制,讓您分配的賬號只能訪問被授權的資源,並將風險控制在可預期範圍內。

支持物理獨享方案

在公有雲、金融雲、黑石資料庫(專區)支持以獨享物理集群(設備)全部資源部署資料庫,這意味著您專享獨立的物理設備,不與其他租戶共用。獨享集群滿足您對資源獨享、物理安全、行業監管等需求;購買獨享集群後,通過騰訊雲控制台,靈活創建多種自定義規格的資料庫實例。

存儲高可靠

提供在線的主從兩份數據存儲,確保線上數據安全。每日自動備份數據,雲資料庫可根據備份文件提供 3 天內的任意時間點回檔。同時每天的冷備數據都會存儲多份,以便於在災難情況下進行數據恢復。您可以放心的將數據存儲在 TDSQL 上,無需考慮數據丟失的問題。

企業級監控

全面的日常監控

日常監控支持 60 秒粒度,覆蓋連接訪問、資料庫負載、查詢緩存、存儲引擎等七十餘項重要指標,可全方位監控資料庫運行狀況。十五項資料庫核心性能指標支持秒級的實時監控,可幫助您及時掌握實例運行狀況,快速定位實例性能問題。自定義資源閾值告警,可幫助用戶知曉 DB 運行中的問題。它將問題及時反饋給運維人員,幫助您快速響應資料庫問題。提供慢查詢分析報告和 SQL 完整運行報告下載,幫助您了解影響資料庫性能的因素。

自定義告警

自定義資源閾值告警,可幫助用戶知曉 DB 運行中的問題。它將問題及時反饋給運維人員,幫助您快速響應資料庫問題。

性能分析日誌

提供慢查詢分析報告和 SQL 完整運行報告下載,幫助您了解影響資料庫性能的因素。

可擴展性

彈性擴展

目前單一分片最大可支持 6TB 存儲,如果性能或容量不足以支撐業務發展時,在控制台點擊,即可自動升級完成。升級過程中,您無需關心分散式系統內的數據遷移,均衡和路由切換。升級完成後訪問 IP 不變,僅在自動切換時存在秒級閃斷,您僅需確保有重連機制即可。

自動再均衡(Rebalance)

增加分片或升級分片規格時,數據自動遷移,保證每個節點數據實現均衡分布;遷移過程服務不會停止,只會有幾個分配存在秒級的只讀。以提高大型業務維護效率,減少運營風險事件發生。

易用性

輕鬆管理海量資料庫

提供命令行和 Web 兩種方式管理分散式資料庫,兩種管理方式將海量資料庫實例的運維工作簡化為在頁面點擊即可完成,極大地降低了運維工作量。

多種網路接入方式

支持 VPC 網路和基礎網路,還可配置資料庫外網訪問。通過這些接入方式,您可從騰訊雲、IDC、私有雲或其他雲廠商處訪問雲資料庫,從而滿足多種環境下的資料庫訪問需求。

支持 API

提供完善的 API 體系,您可使用 API 輕鬆地將雲資料庫與內部監控、運營系統相結合,實現貼近業務需求、完全自動化的業務運維體系。查看 API 說明。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 昱唯 的精彩文章:

海外CN2專線防護

TAG:昱唯 |