本文介紹如何通過云原生多模數據庫 Lindorm擴展云數據庫Cassandra的性能。
云原生多模數據庫 Lindorm簡介
云原生多模數據庫 Lindorm是一款適用于任何規模、多種模型的云原生數據庫服務,支持海量數據的低成本存儲處理和彈性按需付費,提供寬表、時序、搜索、文件等多種數據模型,兼容HBase、Cassandra、Phoenix、OpenTSDB、Solr、SQL等多種開源標準接口,是互聯網、IoT、車聯網、廣告、社交、監控、游戲、風控等場景優選數據庫,也是為阿里巴巴核心業務提供關鍵支撐的數據庫之一。
云原生多模數據庫 Lindorm基于存儲計算分離、多模共享融合的云原生架構,具備彈性伸縮、低成本、簡單易用、開放、穩定等優勢,適合元數據、日志、賬單、標簽、消息、報表、維表、結果表、Feed流、用戶畫像、設備數據、監控數據、傳感器數據、小文件、小圖片等數據的存儲和分析。其核心能力包括:
融合多模:支持寬表、時序、搜索、文件四種模型,提供統一聯合查詢和獨立開源接口兩種方式,模型之間數據互融互通,幫助應用開發更加敏捷、靈活、高效。
性價比:支持千萬級高并發吞吐、毫秒級訪問延遲,并通過高密度低成本存儲介質、智能冷熱分離、自適應壓縮,大幅減少存儲成本。
云原生彈性:支持計算資源、存儲資源獨立彈性伸縮,并提供按需即時彈性、按使用量付費的Serverless服務。
開放數據生態:提供簡單易用的數據交換、處理、訂閱等能力,能夠高度兼容MySQL、Spark、Flink、Kafka等系統。
開源Cassandra挑戰
開源Cassandra是基于Amazon DynamoDB和Google Bigtable設計的一款分布式NoSQL數據庫,具備無中心、一致性可調、提供類SQL查詢語言CQL等優點。但在實際使用中,Cassandra存在一些難以解決的挑戰。比如Cassandra存儲和計算不分離,一旦需要擴容,需要搬遷數據,擴容持續時間長,無法快速應對業務突發流量。而Lindorm是存儲計算分離架構,可以實現快速彈性。
另外,Cassandra 需要定期對所有副本進行全量數據修復,否則會出現”幽靈key“等問題,但是修復過程會因為消耗大量系統資源從而影響服務穩定性。而Lindorm由底層的存儲組件負責一致性,當您的數據寫入時,就會按照您設定的副本數寫入,不會有數據不一致問題,也不用定期修復。
Lindorm For Cassandra特性
更強性能:相比開源Cassandra,Lindorm For Cassandra在大規模數據下吞吐量更高,延遲更低。同等規格,20億行數據下Lindorm與開源Cassandra的性能對比如下:
說明以下數值僅供參考,具體以實際場景為準。
單行讀:Lindorm的吞吐量約是開源Cassandra的13倍,延遲降低了52倍。
范圍讀:Lindorm的吞吐量約是開源Cassandra的7倍,延遲降低了13倍。
單行寫:Lindorm的吞吐量約是開源Cassandra的1.6倍,延遲降低了2.7倍。
范圍寫:Lindorm的吞吐量約是開源Cassandra的1.8倍,延遲降低了0.9倍。
透明冷熱分離:Lindorm For Cassandra采用自由設置冷熱的存儲介質、壓縮算法,減少冷數據存儲成本,提升熱數據訪問性能,實現一體化冷熱分離、數據自動分層。
按需計費:Lindorm for Cassandra提供集群版和serverless版產品形態,serverless版采用serverless式免資源管理,根據業務需求量彈性響應,按請求次數、實際數據庫量計費,實現簡單易用、經濟高效、按需彈性的計費特性。
搜索寬表一體化:Lindorm for Cassandra 通過全文索引加速寬表引擎查詢,對外統一提供CQL語言的訪問方式。
豐富的數據通道:Lindorm for Cassandra具備豐富的數據通道,比如搜索引擎、在線事務數據庫、數倉、日志隊列等。
更多企業級特性:Lindorm for Cassandra具備更多的企業級特性,詳情請參見下表。更多企業級特性請參考Lindorm產品首頁。
特性
Apache Cassandra
Lindorm for Cassandra
基礎功能
KV
多模(KV/Table/SQL/Search/Timeseries/File)
性能
不涉及
最高14倍性能,10%的延遲,2倍壓縮率。
開源標準
CQL
兼容CQL(大部分情況下無需改造代碼)
一致性
可調一致性,需定期repair。
可調一致性(無需repair數據)
服務模式
自建
集群托管或者Serverless可選
可靠性
無SLA保障,開源軟件BUG需要自行修復。
SLA保障,并具備主備雙活、備份、異地容災等能力。
冷熱分離
不支持
透明冷熱分離降低成本
全文檢索
不支持
兼容CQL語法
其他企業級功能
不涉及
支持全球多活、備份恢復等企業級能力。
彈性
存儲計算不分離,擴縮容需要搬遷數據,彈性能力差。
包括以下幾點:
支持Scale Up:升配和磁盤擴容。
支持Scale Out:產品化擴縮節點。
支持Serverless:自動彈性。
生態
開源生態,打通依賴工具或程序開發。
支持開源生態和阿里云生態,與MySQL、Spark、OSS、MaxCompute等深度產品化集成。
使用成本
高,取決于產品維護的研發投入。
低
如果您需要將Cassandra數據導入至Lindorm寬表,具體操作請參見導入Cassandra數據。