如何選擇阿里云數據庫服務
本指南幫助您了解和選擇阿里云云數據庫產品,包括關系型數據庫、非關系型數據庫、數據倉庫、數據庫生態工具四大版塊,您可以選擇性閱讀您想要了解的內容。
了解云數據庫
數據庫為什么上云
國際市場研究機構Gartner?指出,“The Future of the DBMS Market is Cloud”。
Gartner預計,2023年全球數據庫市場規模將首次突破1000億美元,其中云數據庫占比55%,規模增長主要來自于云數據庫。
企業選擇數據庫上云,主要是因為云數據庫比自建數據庫更易運維、成本更低、可靠性更高、安全性更強。
通常,用戶只需數分鐘即可快速創建云數據庫,無需自行搭建主從復制,無需自行搭建備份系統,無需自行組建網絡設備,無需預留資源,無需擔心宕機或擴容會導致長時間服務中斷。云數據庫由云廠商托管,日常維護和管理主要由云廠商負責。
為什么選擇阿里云云數據庫
|
類別 | 說明 | 適用場景 |
關系型數據庫 |
| 處理結構化數據,并且需要支持事務及其ACID特性。 |
NoSQL數據庫 |
| 處理半結構化和非結構化的數據,需要靈活的數據模型,例如鍵值對、文檔、時序、寬表、文件等數據模型。 |
數據倉庫 |
| 多維分析、聚合計算等大數據量復雜分析。 |
數據庫工具 |
| 數據傳輸/同步/訂閱、數據管理/開發、備份、智能運維。 |
選型考慮
本節將列出您在云數據庫選型時可以考慮的方面,以及阿里云產品在這些方面的能力,旨在幫助您做出初步的選型決策。
本節將分別介紹三種數據庫類型,您可以選擇性閱讀您關注的數據庫類型。
關系型數據庫
阿里云的關系型數據庫包括RDS和PolarDB。
RDS是全托管云數據庫,經過長久的發展和演進,在廣泛的應用場景中得到驗證和使用,提供成熟可靠的解決方案,具備自動主備切換、自動備份、按時間點恢復、分鐘級/秒級彈性變配、自動變配、自動讀寫分離、自動啟停等特性,完全兼容MySQL、SQL Server、PostgreSQL、MariaDB。
PolarDB是阿里云自研的云原生數據庫,通過存儲計算分離、資源三層解耦等技術,提供更大的存儲空間、更靈活的彈性、更強大的性能、更高的資源利用率,支持分鐘級/秒級彈性、無感主備切換、查詢優化、多主集群、HTAP、PolarDB for AI等特性,完全兼容MySQL、PostgreSQL,高度兼容Oracle。
建議您在選型時從以下維度進行考慮。
數據庫引擎
您可以根據您當前數據庫的引擎類型,選擇對應的阿里云數據庫。
數據庫引擎 | 對應的阿里云關系型數據庫 |
MySQL | RDS MySQL版 PolarDB MySQL版 PolarDB分布式版 |
SQL Server | RDS SQL Server版 |
PostgreSQL | RDS PostgreSQL版 PolarDB PostgreSQL版(兼容PostgreSQL或Oracle) |
MariaDB | RDS MariaDB版 |
Oracle | PolarDB PostgreSQL版(兼容Oracle) |
您也可以參考下述關于各引擎的介紹,考慮是否要更換數據庫引擎。如果需要跨引擎遷移,可以查看支持的數據庫。
高可用和容災
自動故障恢復、自動主備切換
如果僅用于測試或學習,或者是開發環境,您可以考慮單節點的產品形態,例如RDS基礎系列和PolarDB單節點實例。單節點實例意外宕機時會自動恢復,但由于沒有熱備節點,會較長時間不可用。
如果是生產環境,或者要求數據庫具備高可用性,那么選擇非單節點的產品形態都可以滿足需求。實例故障時,會自動進行主備切換,秒級完成切換,并且切換過程對應用透明。
多可用區容災
多可用區容災是指主備節點部署在同一地域的不同可用區。多可用區部署可以抵御可用區級別的災害,也沒有額外費用,而且同一地域不同可用區之間的網絡延遲極小。
RDS和PolarDB的非單節點實例都支持多可用區部署。
更高級別容災:PolarDB支持將各節點分布于三個不同可用區,RDS支持將各節點分布于三個或更多不同可用區。
靈活容災:PolarDB支持計算和存儲采用不同的容災方式,例如計算節點都位于同一可用區,存儲資源分布在不同可用區。
跨地域容災
對于關鍵業務,您可能還要求實現跨地域容災,以抵御地域級別的災害。
RDS MySQL支持創建異地災備實例,實現跨地域容災。
RDS MySQL和PolarDB MySQL都支持全球數據庫功能,在實現跨地域容災的同時,還提供多寫能力,支持在多個地域同時進行讀寫,為各地域的用戶提供就近訪問的體驗。RDS MySQL全球數據庫采用邏輯復制,PolarDB MySQL全球數據庫采用物理復制(同步延遲更低)。
對于其他數據庫,您也可以使用DTS創建跨地域的同步鏈路,實現跨地域容災。關于DTS支持的數據庫,請參見支持的數據庫。
存儲和性能
存儲
建議您評估當前和未來的存儲空間需求,并選擇符合您的存儲空間要求的產品。下表列出各產品支持的最大存儲空間。
引擎 | 產品 | 最大存儲空間 |
MySQL | RDS MySQL版 | 64 TB |
PolarDB MySQL版 | 100 TB | |
PolarDB分布式版 | PB級別(單節點存儲空間x節點數,節點數無限制) | |
SQL Server | RDS SQL Server版 | 16 TB(可申請32 TB ) |
PostgreSQL | RDS PostgreSQL版 | 64 TB |
PolarDB PostgreSQL版(兼容PostgreSQL或Oracle) | 100 TB | |
MariaDB | RDS MariaDB版 | 32 TB |
性能
建議您使用實際業務的數據進行性能測試,因為實際性能指標會受到很多因素的影響,包括實例配置、數據模型、索引設計、SQL語句等。
您也可以:
查看RDS性能白皮書、PolarDB MySQL性能白皮書、PolarDB PostgreSQL性能白皮書、PolarDB PostgreSQL版(兼容Oracle)性能白皮書、PolarDB分布式版性能白皮書。
訪問瑤池控制臺的性能&價格力體驗館,快速進行性能壓測和對比。
成本
考慮以下方面,可以幫助您節省成本。
計費方式
按量付費:如果短期使用,可選擇按量付費,按小時出賬,用完隨時釋放。
包年包月:如果長期使用,可選擇包年包月享受折扣。
Serverless:如果業務有明顯的波峰波谷,可以選擇Serverless計費方式。Serverless實例可以實現秒級自動彈性伸縮,減少資源浪費,最高節省成本70%。
資源包/節省計劃
減少按量付費項的費用:
RDS和PolarDB均提供了預付費的計算包和存儲包,用于抵扣按量付費項。
針對每小時比較固定的按量付費費用,RDS提供通用型節省計劃,可降低15%到60%的費用。
減少Serverless實例費用:RDS和PolarDB分別提供了彈性型節省計劃和Serverless計算包,用于抵扣Serverless費用。
規格
實例規格是指實例的計算資源,包括CPU和內存。
對于非Serverless實例,您需要指定實例規格。
對于Serverless實例,您可以指定資源擴縮范圍。RDS Serverless實例和PolarDB Serverless集群的擴縮單元分別是RCU和PCU。一個RCU或PCU約等于1核2GB的資源。
如果僅用于測試或學習,您可以選擇小實例規格或者較低的資源擴縮范圍來降低成本。
引擎 | 產品 | 非Serverless實例最小規格 | Serverless實例擴縮下限 |
MySQL | RDS MySQL版 | 1核 1GB | 0.5 RCU |
PolarDB MySQL版 | 1核 1GB | 1 PCU | |
PolarDB分布式版 | 1核 8GB | - | |
SQL Server | RDS SQL Server版 | 2核 2GB | 2 RCU |
PostgreSQL | RDS PostgreSQL版 | 1核 1GB | 0.5 RCU |
PolarDB PostgreSQL版 | 1核 1GB | - | |
PolarDB PostgreSQL版(兼容Oracle) | 2核 8GB | - | |
MariaDB | RDS MariaDB版 | 1核 2GB | - |
暫停實例
部分RDS實例支持手動暫停實例,暫停期間只需付存儲費用。
RDS Serverless和PolarDB Serverless實例支持自動啟停。
經濟版/Arm架構
RDS經濟版和PolarDB標準版Arm架構通過智能的成本控制與資源整合,提升產品性價比。在保證實例穩定性和可用性的同時,有效降低IT投入成本。
單節點實例
如果僅用于測試或學習,或者是開發環境,可以考慮單節點的產品形態,節省了熱備節點的成本,例如RDS基礎系列和PolarDB單節點實例。單節點實例意外宕機時會自動恢復,但由于沒有熱備節點,會較長時間不可用。
冷數據歸檔
若某些數據(例如歷史數據)幾乎沒有更新、插入和修改操作,且讀取頻率非常低,可以使用冷數據歸檔功能,將這部分數據轉存至低成本的OSS存儲,以降低數據存儲成本。
使用開源數據庫引擎
使用開源數據庫引擎可以避免數據庫授權費用。
擴展性
在業務高峰前快速擴容,在高峰后快速縮容,可以幫助降低成本。具體請參見“擴展性”頁簽。
擴展性
關于數據庫的擴展性,您可以關注擴展能力、擴展耗時以及擴展的影響。
擴展能力
性能擴展:RDS和PolarDB所有實例都支持垂直擴展(提升或降低節點規格),部分實例支持水平擴展(增加或減少節點)。
存儲擴展:RDS和PolarDB所有實例支持存儲空間擴容,部分實例支持存儲空間縮容。
PolarDB企業版存儲空間根據數據量自動擴縮容,無需手動調整。
擴展耗時
部分實例在本地資源不足的情況下需要遷移數據,擴展耗時與數據量相關。如果您的業務要求快速彈性擴展,建議選擇支持分鐘級甚至秒級擴展的實例。
擴展的影響
變配過程通常僅有約30秒閃斷。
部分情況在擴展過程中無閃斷,業務無感知,例如RDS MySQL高可用系列云盤版和PolarDB存儲空間擴縮容、RDS Serverless和PolarDB Serverless彈性擴展。
自動擴展
如果您希望實現無人值守的自動擴展,可以采用以下其中一種方案:
可靠性
基礎備份與恢復
備份:RDS和PolarDB所有實例都默認開啟周期性自動備份,您可以設置備份頻率和保留時長。
恢復:
RDS和PolarDB所有實例都支持按備份集恢復。
如果您希望在數據丟失時可以恢復任意時間點的數據,需要選擇支持日志備份的實例并開啟日志備份。
更多特性
部分實例還支持更多特性,例如:
備份:秒級備份、庫表備份、高頻備份、稀疏備份、跨賬號備份、跨地域備份等。
恢復:庫表恢復、極速恢復。
此外,如果數據庫實例本身不支持某些備份恢復特性,您也可以使用數據庫備份DBS提供的企業級備份恢復能力。關于DBS支持的數據庫,請參見支持的數據庫引擎與功能。
安全性
網絡安全
傳統的經典網絡中,實例之間不通過網絡進行隔離,只能依靠實例自身的白名單策略來阻擋非法訪問。一個VPC就是一個隔離的網絡環境,VPC的安全性較高,推薦您使用VPC。
所有云數據庫產品都支持VPC,部分云數據庫產品已不支持經典網絡。
訪問控制
RAM:為確保您的阿里云賬號及云資源使用安全,應盡量避免由阿里云主賬號訪問云上的數據庫,改為使用RAM身份(即RAM用戶和RAM角色)進行訪問。
白名單:一臺設備在連接至云數據庫前,需要先將設備的IP地址添加到云數據庫的白名單,該設備才能訪問該云數據庫。阿里云云數據庫都提供白名單功能。
數據庫賬號權限:RDS和PolarDB支持在控制臺上進行數據庫賬號的粗粒度權限控制。DMS也支持對一些數據庫進行可視化的權限控制,具體請參見數據庫賬號權限管理。
數據加密和脫敏
靜態數據加密:如果您需要對存儲介質里的數據進行加密,那么數據庫需要支持透明數據加密TDE(Transparent Data Encryption)或者云盤加密其中一種功能。
傳輸數據加密:如果您需要對傳輸中的數據加密,那么數據庫需要支持SSL/TLS功能。
敏感數據保護:DMS提供敏感數據識別、分類和脫敏功能,具體支持的數據庫請參見敏感數據保護。
全密態數據庫:RDS和PolarDB都有部分實例類型支持全密態數據庫,可以對數據庫表中的敏感數據列進行加密,這些列中的敏感數據將以密文進行傳輸、計算和存儲。
易用性
兼容性
RDS和PolarDB所有實例都完全兼容或者高度兼容原生數據庫引擎,方便您上手即用,業務代碼只需修改數據庫連接地址或者進行其他少量修改。
易運維
數據庫自治服務DAS可以幫助您消除數據庫管理、性能優化、問題排查的復雜性,例如自動性能擴展、自動SQL優化和SQL洞察功能,具體支持的數據庫請參見支持的數據庫引擎與功能。
NoSQL數據庫
在萬物互聯時代,大量數據以半結構化或非結構化的形式存在。NoSQL數據庫很好地支持了半結構化和非結構化的數據,不需要預先定義結構(schema),具有數據結構靈活、高性能、海量存儲、易擴展等特點,并且通常不支持事務和強一致性。
數據庫類型
典型的NoSQL數據庫包含以下幾種。
NoSQL數據庫 | 說明 | 特點 | 使用案例 | 阿里云產品 |
鍵值數據庫 | 以鍵值對的形式存儲數據,值支持多種數據結構:String、Hash、List、Set、SortedSet等。 |
|
|
|
文檔數據庫 | 以文檔的形式存儲數據,文檔格式通常為JSON、BSON、XML等。 |
|
|
|
列式存儲數據庫 | 按列組織數據。 |
|
|
|
多模數據庫 | 支持在一個數據庫里存儲、查詢、分析多種數據模型,例如寬表、時序、文本、對象、空間等。 |
|
|
|
高可用和容災
自動故障恢復、自動主備切換
如果是生產環境,或者要求數據庫具備高可用性,那么選擇非單節點的產品形態都可以滿足需求。實例故障時,會自動進行主備切換,秒級完成切換,并且切換過程對應用透明。
多可用區容災
多可用區容災(同城冗余)是指主備節點部署在同一地域的不同可用區。相對于同可用區部署(本地冗余),多可用區部署可以抵御可用區級別的災害。多可用區部署沒有額外費用,同一地域不同可用區之間的網絡延遲極小。
阿里云Tair、Redis、MongoDB、Lindorm的非單節點實例、Tablestore都支持多可用區部署。
注意:部分地域不支持多可用區部署。
跨地域容災
對于關鍵業務,您可能還要求實現跨地域容災,以抵御地域級別的災害。
阿里云Tair和Redis:支持創建全球多活實例,在實現跨地域容災的同時,所有節點可同時對外提供服務,可實現應用就近訪問。
Lindorm:支持通過LTS(Lindorm Tunnel Service)實現跨地域數據同步。
MongoDB:支持使用DTS創建跨地域的同步鏈路,實現跨地域容災,具體請參見支持的數據庫。
Tablestore:支持通過DataX實現全量同步,通過Flink實現增量同步。
存儲和性能
存儲
建議您評估當前和未來的存儲空間需求,并選擇符合您的存儲空間要求的產品。下表列出各產品支持的最大存儲空間。
Redis社區版、Tair內存型、Tair持久內存型實例的數據存儲在內存中,以下最大存儲空間是指其內存大小。
產品 | 最大存儲空間 |
MongoDB | 16000GB x 32分片 |
Redis社區版 | 最大內存:8192GB |
Redis企業版(Tair) |
|
Lindorm(以寬表為例) | 百PB級 |
Tablestore | 百PB級,單表支持不少于1 PB數據或1萬億條記錄。 |
性能
建議使用實際業務的數據進行性能測試,因為實際性能指標會受到多個因素的影響,包括硬件配置、數據模型、索引設計、查詢優化等。
您也可以參考以下信息。
成本
考慮以下方面,可以幫助您節省成本。
計費方式
按量付費:如果短期使用,可選擇按量付費,按小時出賬,用完隨時釋放。
包年包月:如果長期使用,可選擇包年包月享受折扣,也可以采用按量付費+資源包的方式。
資源包
資源包以預付費的方式購買,用于抵扣按量付費費用,節省成本。例如Redis、Tair、MongoDB、Tablestore均支持購買資源包。
經濟版/Arm架構
例如,Redis經濟版通過智能的成本控制與資源整合,提升產品性價比。在保證實例穩定性和可用性的同時,有效降低IT投入成本。
單節點實例
如果僅用于測試或學習,或者是開發環境,可以考慮單節點的產品形態,節省了熱備節點的成本,例如Redis/Tair單副本實例、MongoDB單節點實例、Lindorm輕量版單節點實例。單節點實例意外宕機時會自動恢復,但由于沒有熱備節點,會較長時間不可用。
使用高性能產品
數據庫產品性能高,就可以用更低的規格和更少的節點來支撐負載,節省資源成本。例如Tair內存型、Lindorm、Tablestore高性能實例具備的高性能可以提供這樣的成本優勢。
使用多模數據庫
在多模數據庫里,多種數據引擎共享統一的存儲池,減少存儲碎片,降低使用成本。
使用低成本存儲介質
Tair
持久化內存:如果希望在保持性能的情況下降低成本,可以選擇使用持久內存。持久內存既有內存級的延時和吞吐,也有數據持久化能力,能降低成本。
相關產品為Tair的持久內存型實例,性能約為Redis社區版的90%,成本降低30%,還能簡化應用架構以及避免緩存搭配磁盤的數據一致性問題。
磁盤:如果性能要求不高,并希望降低存儲成本,可選擇使用磁盤作為存儲介質。
相關產品為Tair的磁盤實例,性能約為Redis社區版的60%,成本最低僅為Redis社區版的15%,且容量可達百TB級別。
Lindorm
支持容量型云存儲,使用高密度磁盤存儲陣列,提供極低成本存儲能力。
支持本地HDD盤,降低存儲成本。
Tablestore
支持容量型實例,采用HDD盤降低存儲成本。
糾刪碼
糾刪碼相比于多副本,可以保證相同可靠性,同時節約存儲空間。例如LIndorm的本地SSD盤和HDD盤支持開啟糾刪碼功能,使數據副本冗余倍率將從3下降至1.5。
高壓縮率
高壓縮率可以幫助節省存儲成本。例如:
TairRoaring數據結構,完全兼容Bitmap,數據壓縮率高達7:1。
Lindorm寬表引擎壓縮率可達10:1,時序引擎壓縮率可達15:1。
Tablestore寬表引擎壓縮率最低3.7:1,時序引擎壓縮率最低21:1。
以上數據僅供參考,實際壓縮率與數據類型、數據特征、數據重復度等有關。
冷熱分離
若某些數據(例如歷史數據)讀取頻率非常低,可以使用冷數據歸檔功能,將這部分數據轉存至低成本的OSS存儲,以降低存儲成本。例如,Lindorm(寬表、時序、搜索引擎)和Tablestore都支持冷熱分離。
擴展性
在業務高峰前快速擴容,在高峰后快速縮容,可以幫助降低成本。具體請參見“擴展性”頁簽。
擴展性
關于數據庫的擴展性,您可以關注擴展能力、擴展耗時以及擴展的影響。
擴展能力
性能垂直擴展:指垂直升降配,即提升或降低實例的規格(CPU和內存)。
所有NoSQL實例都提供該能力。
性能水平擴展:指增加或減少節點或分片。以下實例提供該能力:
Redis/Tair集群架構和讀寫分離架構
MongoDB分片集群架構和副本集架構
Lindorm
HBase集群版
存儲擴展
除了純內存型產品,所有NoSQL實例都支持存儲空間擴容。純內存型產品不含硬盤存儲空間。
擴展耗時
部分實例在本地資源不足的情況下需要遷移數據,擴展耗時與數據量相關。如果您的業務要求快速彈性擴展,建議選擇支持分鐘級甚至秒級擴展的實例。
擴展的影響
變配過程通常僅有約30秒閃斷。
部分情況在擴展過程中無閃斷,業務無感知,例如Tair云原生版的集群架構實例擴容無閃斷。
自動擴展
例如,以下方案支持無人值守的自動擴展:
可靠性
備份與恢復
所有NoSQL產品都提供備份和恢復功能,您可以設置自動備份頻率。部分產品架構不支持備份功能,比如Redis單副本架構。
如果您希望在數據丟失時可以恢復任意時間點的數據,需要選擇支持增量日志備份的實例。
您也可以使用數據庫備份DBS為NoSQL數據庫提供的企業級備份恢復能力。關于DBS支持的數據庫,請參見支持的數據庫引擎與功能。
安全性
網絡安全
傳統的經典網絡中,實例之間不通過網絡進行隔離,只能依靠實例自身的白名單策略來阻擋非法訪問。一個VPC就是一個隔離的網絡環境,VPC的安全性較高,推薦您使用VPC。
所有云數據庫產品都支持VPC,部分云數據庫產品已不支持經典網絡。
訪問控制
RAM:為確保您的阿里云賬號及云資源使用安全,應盡量避免由阿里云主賬號訪問云上的數據庫,改為使用RAM身份(即RAM用戶和RAM角色)進行訪問。
白名單:一臺設備在連接至云數據庫前,需要先將設備的IP地址添加到云數據庫的白名單,該設備才能訪問該云數據庫。阿里云云數據庫都提供白名單功能。
數據庫賬號權限:通過命令進行數據庫賬號的細顆粒度權限控制,部分產品支持通過控制臺進行數據庫賬號的粗粒度權限控制。
數據加密和脫敏
靜態數據加密:如果您需要對存儲介質里的數據進行加密,那么數據庫需要支持透明數據加密TDE(Transparent Data Encryption)或者云盤加密其中一種功能。
傳輸數據加密:如果您需要對傳輸中的數據加密,那么數據庫需要支持SSL/TLS功能。
敏感數據保護:DMS提供敏感數據識別、分類和脫敏功能,具體支持的數據庫請參見敏感數據保護。
易用性
兼容性
數據庫產品兼容多種標準和協議,支持與三方生態產品互通,可以降低用戶使用難度。
云數據庫Tair和Redis完全兼容Redis協議。
云數據庫MongoDB版完全兼容MongoDB協議。
云原生多模數據庫Lindorm兼容SQL、HBase、Cassandra、S3、HDFS、OpenTSDB、PromQL、Elasticsearch/Solr、Kafka、Spark、Flink等。
表格存儲兼容SQL、HBase、TSDB、Elasticsearch,以及主流開源流批計算引擎,包括Spark、Flink、Presto等;支持對接阿里大數據平臺生態組件,包括DataWorks、DataHub、MaxCompute等。
易運維
數據庫自治服務DAS可以實時自動識別熱Key和大Key,自動擴縮容數據庫等,降低運維難度和問題排查成本,具體支持的數據庫請參見支持的數據庫引擎與功能。
數據倉庫
如果您需要進行多維度分析、聚合計算等大數據量復雜分析,并且查詢時出現效率低、卡頓、或者嚴重等待,那么需要使用支持OLAP(online analytical processing)負載的產品或特性。
示例場景:
訂單流水分析、用戶行為分析、日志分析、營銷圈人等。
實時分析、離線分析、多數據源聯邦分析、多維度下鉆分析等。
建議您在選型時從以下維度進行考慮。
方案
您可以采用以下方案來支持OLAP負載。
數據庫類型 | 方案 | 支持的數據庫和特性 | 說明 |
OLTP數據庫 | 并行查詢 |
|
|
行列混存 | |||
OLAP數據庫 | ETL+OLAP |
|
|
OLAP+外表查詢 |
|
| |
一站式HTAP |
高可用和容災
自動故障恢復、自動主備切換
如果僅用于測試或學習,或者是開發環境,可以考慮單節點的產品形態,節省了熱備節點的成本,例如AnalyticDB for MySQL數倉版彈性模式單機版、ClickHouse社區兼容版單副本。
單節點實例意外宕機時會自動恢復,但由于沒有熱備節點,會較長時間不可用。
如果是生產環境,或者要求數據庫具備高可用性,那么選擇非單節點的產品形態通常都可以滿足需求。
這類實例故障時,會自動進行主備切換,秒級完成切換,并且切換過程對應用透明。
存儲和性能
存儲
AnalyticDB for MySQL/PostgreSQL、ClickHouse和SelectDB都支持存儲PB級數據量。
性能
AnalyticDB:支持關聯查詢千億級的數據表、查詢萬億級的數據表,支持秒級甚至毫秒級對海量數據進行復雜查詢和計算,超大規模數據寫入實時可見,確保數據的強一致性。
ClickHouse:基于大寬表的聚合分析查詢性能非常優異,比傳統MySQL快數百倍。
SelectDB:支持亞秒級響應海量數據查詢、萬級高并發點查詢以及高吞吐復雜分析。在業界知名的ClickBench全球分析型數據庫性能排行榜上,查詢性能第一,寫入效率第二。
建議:
如果業務上主要是多表關聯復雜查詢,建議選擇AnalyticDB for MySQL/PostgreSQL或SelectDB。
對于大寬表多維查詢,AnalyticDB for MySQL/PostgreSQL、ClickHouse和SelectDB都能不同程度地滿足需求。
如果需要做數據離線處理,例如用Spark,建議選擇AnalyticDB MySQL。
您可以用測試集進行性能測試:
AnalyticDB for MySQL:性能白皮書
AnalyticDB for PostgreSQL:TPC-H、向量分析性能測試、Serverless模式性能測試
ClickHouse:性能測試指南
建議使用實際業務的數據進行性能測試,因為實際性能指標會受到多個因素的影響,包括硬件配置、數據模型、索引設計、SQL語句優化等。
成本
考慮以下方面,可以幫助您節省成本。
計費方式
按量付費:如果短期使用,可選擇按量付費,按小時出賬,用完隨時釋放。
包年包月:如果長期使用,可選擇包年包月享受折扣。
Serverless:Serverless讓您可以按實際使用量計費,節省成本,例如:
AnalyticDB for MySQL湖倉版、AnalyticDB for PostgreSQL Serverless版和ClickHouse企業版的計算資源和存儲空間都按實際使用量計費。
AnalyticDB for MySQL數倉版彈性模式和SelectDB的存儲空間按實際使用量計費。
單節點實例
如果僅用于測試或學習,或者是開發環境,可以考慮單節點的產品形態,節省了熱備節點的成本,例如AnalyticDB for MySQL數倉版彈性模式單機版、ClickHouse社區兼容版單副本。單節點實例意外宕機時會自動恢復,但由于沒有熱備節點,會較長時間不可用。
暫停實例
部分AnalyticDB for PostgreSQL和ClickHouse實例支持手動暫停實例,暫停期間只需付存儲費用。
AnalyticDB for PostgreSQL Serverless實例支持自動啟停。
低成本存儲介質
湖存儲:AnalyticDB for MySQL湖倉版3.0支持基于Hudi格式的低成本OSS存儲,支持SLS、Kafka、RDS、PolarDB等數據源的數據實時入湖。
冷熱分離:AnalyticDB部分實例和ClickHouse、SelectDB都支持冷熱數據分離,熱數據存儲在SSD盤,冷數據存儲在OSS中,降低存儲成本。
擴展性
在業務高峰前快速擴容,在高峰后快速縮容,可以幫助降低成本。具體請參見“擴展性”頁簽。
湖倉一體化、離線在線一體化
在AnalyticDB for MySQL湖倉版中,一份數據同時提供數據倉庫和數據湖的能力,同時支持在線分析和離線處理,減少數據冗余,節省存儲成本和運維成本,并提升時效性。
數據傳輸成本
通過外表訪問數據或者使用一站式HTAP能力,可以節省數據傳輸的成本。具體請參見“方案“頁簽。
使用OLTP數據庫
對于相對輕量的數據分析,可以使用OLTP數據庫本身的并行查詢或行列混存功能,節省數據傳輸和數據倉庫的成本并簡化運維工作。
擴展性
關于數據倉庫的擴展性,您可以關注擴展能力、擴展耗時以及擴展的影響。
擴展能力
性能擴展:指垂直擴展(提升或降低節點規格)或水平擴展(增加或減少節點)。
阿里云所有OLAP產品都提供該能力。
存儲擴展
阿里云所有OLAP產品都支持存儲空間擴容。
擴展耗時
部分實例在本地資源不足的情況下需要遷移數據,擴展耗時與數據量相關。如果您的業務要求快速彈性擴展,建議選擇支持分鐘級甚至秒級擴展的實例。
擴展的影響
變配過程通常僅有約30秒閃斷。
自動擴展
AnalyticDB for MySQL部分實例、AnalyticDB for PostgreSQL Serverless版和ClickHouse企業版支持計算資源和存儲空間都自動擴展,按使用量計費。
AnalyticDB for MySQL支持資源彈性計劃,可根據彈性計劃自動擴縮容。
SelectDB支持存儲空間自動擴展,按使用量計費。
兼容性/生態
阿里云OLAP產品都兼容SQL、通用客戶端和BI工具等,您可以快速上手,無需二次學習。
AnalyticDB for MySQL:高度兼容MySQL,完全兼容Spark生態。
AnalyticDB for PostgreSQL:高度兼容Postgres和Greenplum,適當兼容Teradata和Oracle。
ClickHouse:完全兼容開源ClickHouse,高度兼容MySQL。
SelectDB:完全兼容Apache Doris,高度兼容MySQL。
多模數據分析
如果要求支持向量檢索,可以選擇AnalyticDB for MySQL/PostgreSQL。
如果要求支持時空分析,可以選擇AnalyticDB for PostgreSQL。
如果需要分析半結構化數據(JSON)、非結構化數據(圖片音頻等),可以選擇AnalyticDB for MySQL/PostgreSQL。
如果需要通過外表方式訪問OSS、Hadoop、MaxCompute數據,可以選擇AnalyticDB for MySQL/PostgreSQL和ClickHouse。
如果需要通過外表方式訪問MongoDB數據,可以選擇AnalyticDB for MySQL。
資源隔離
您可能需要數據倉庫支持資源隔離,保障不同業務的查詢效率和穩定性。例如:
AnalyticDB for MySQL支持通過資源組實現資源隔離。
AnalyticDB for PostgreSQL支持通過資源組或資源隊列實現資源隔離。
ClickHouse某些實例支持通過資源隊列實現資源隔離。
SelectDB通過創建不同的集群實現資源隔離。
可靠性
備份與恢復
備份:AnalyticDB for MySQL/PostgreSQL和部分ClickHouse實例支持周期性的全量備份和日志備份。
恢復:如果您希望在數據丟失時可以恢復任意時間點的數據,需要選擇支持日志備份的實例并開啟日志備份。
安全性
網絡安全
傳統的經典網絡中,實例之間不通過網絡進行隔離,只能依靠實例自身的白名單策略來阻擋非法訪問。一個VPC就是一個隔離的網絡環境,VPC的安全性較高,推薦您使用VPC。
所有云數據庫產品都支持VPC,部分產品已不支持經典網絡。
訪問控制
RAM:為確保您的阿里云賬號及云資源使用安全,應盡量避免由阿里云主賬號訪問云上的數據庫,改為使用RAM身份(即RAM用戶和RAM角色)進行訪問。
白名單:一臺設備在連接至云數據庫前,需要先將設備的IP地址添加到云數據庫的白名單,該設備才能訪問該云數據庫。阿里云云數據庫都提供白名單功能。
數據庫賬號權限:可以通過控制臺進行數據庫賬號的粗粒度權限控制,通過命令進行數據庫賬號的細顆粒度權限控制。
行級權限:例如,AnalyticDB for PostgreSQL部分實例支持行安全策略特性(Row Security Policies),該特性可以限制數據庫賬號只能查詢或更新指定行。
數據加密和脫敏
靜態數據加密:如果您需要對存儲介質里的數據進行加密,那么數據庫需要支持云盤加密。
傳輸數據加密:如果您需要對傳輸中的數據加密,那么數據庫需要支持SSL/TLS功能。
數據脫敏:例如AnalyticDB for MySQL/PostgreSQL、ClickHouse實例支持通過DMS實現動態數據脫敏。
選擇
通過上述內容,您已了解選擇云數據庫時的考慮點以及可能適合您業務的云數據庫產品。
現在您可以查看各產品的具體介紹和支持的功能,幫助您進一步確認要選擇的云數據庫產品和細分選項。
關系型數據庫
產品 | 產品簡介 | 功能概覽 |
云數據庫RDS MySQL版 | ||
云數據庫RDS SQL Server版 | ||
云數據庫RDS PostgreSQL版 | ||
云數據庫RDS MariaDB版 | ||
云原生數據庫PolarDB MySQL版 | ||
云原生數據庫PolarDB PostgreSQL版 | ||
云原生數據庫PolarDB PostgreSQL版(兼容Oracle) | ||
云原生數據庫PolarDB分布式版 |
NoSQL數據庫
類型 | 產品 | 產品簡介 | 功能概覽 |
鍵值 | 云數據庫Redis版 | ||
云原生內存數據庫Tair | |||
文檔 | 云數據庫MongoDB版 | ||
多模 | 云原生多模數據庫Lindorm | ||
表格存儲Tablestore |
數據倉庫
產品 | 產品簡介 | 功能概覽 |
云原生數倉AnalyticDB MySQL版 | ||
云原生數倉AnalyticDB PostgreSQL版 | ||
云數據庫ClickHouse版 | ||
云數據庫SelectDB版 |
數據庫工具
產品 | 產品簡介 | 功能概覽 |
數據傳輸服務DTS | DTS支持60種以上的數據源同步組合,支持數據遷移、訂閱、同步和ETL全場景,亞秒級實時數據傳輸,支持斷點續傳。 更多信息,請參見DTS產品概述。 | |
數據庫備份DBS | DBS為多云多端的云原生統一備份平臺,秒級全量恢復,壓縮比超過10:1,成本降低90%以上。 更多信息,請參見DBS產品概述。 | |
數據管理DMS | DMS可實現一站式全鏈路數據管理,阿里巴巴開發最佳實踐,統一管理30種以上的數據源,200種以上的數據安全能力。庫倉一體,支持多種異構數據源融合分析,數據管理成本降低90%,數據使用效率可提升2倍以上。 | |
數據庫自治服務DAS | DAS可實現數據庫自動駕駛,運維管理效率提升10倍以上,數據庫穩定性提升10倍以上,SQL優化率99%以上,降低90%以上的數據庫使用和優化成本。 更多信息,請參見DAS產品概述、產品系列及支持的功能。 |
使用
關系型數據庫
類型 | 產品 | 快速入門 | 免費試用教程 |
云數據庫RDS | RDS MySQL | ||
RDS SQL Server | |||
RDS PostgreSQL | |||
RDS MariaDB | 無 | ||
云原生數據庫PolarDB | PolarDB MySQL | ||
PolarDB PostgreSQL | |||
PolarDB PostgreSQL(兼容Oracle) | |||
PolarDB分布式版 |
NoSQL數據庫
類型 | 產品 | 快速入門 | 免費試用教程 |
鍵值 | 云數據庫Redis版 | ||
云原生內存數據庫Tair | |||
文檔 | 云數據庫MongoDB版 | ||
多模 | 云原生多模數據庫Lindorm | ||
表格存儲Tablestore |
數據倉庫
產品 | 快速入門 | 免費試用教程 |
云原生數倉AnalyticDB MySQL版 | 無 | |
云原生數倉AnalyticDB PostgreSQL版 | ||
云數據庫ClickHouse版 | 無 | |
云數據庫SelectDB版 | 無 |
數據庫工具
產品 | 快速入門 | 免費試用教程 |
數據傳輸服務DTS | ||
數據庫備份DBS | 無 | |
數據管理DMS | ||
數據庫自治服務DAS | 無 |
更多
體驗館 | 技術解決方案 | 權益中心 | 提交建議 |