本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
OpenStore智能混合存儲引擎是阿里云Elasticsearch團隊針對日志場景自研的彈性、高效、低成本的日志存儲引擎,支持根據實際存儲數據量按量計費,無須提前預留集群存儲容量,真正做到存儲Serverless。可突破傳統冷熱分離架構,大幅降低集群數據接入復雜度的同時,進一步降低云上海量數據的存儲成本。本文主要介紹OpenStore智能混合存儲引擎的適用場景、架構、優勢以及性能指標。
背景信息
在日志全觀測場景下,通常因為業務場景或監管需求,需要長時間存儲數據或歸檔審計。在使用開源Elasticsearch的過程中,需要進行集群冷熱數據分離,將30天或者更長時間的數據通過集群快照的方式存儲在其他存儲介質上,例如對象存儲OSS等。該方式雖然能夠實現長期日志數據歸檔,但是存儲后不能直接進行查詢,查詢前需要調用相關API把快照信息恢復到集群中,等待快照中的索引初始化完成后再進行查詢,面臨著查詢復雜度大、長時間存儲成本高的問題。
OpenStore存儲引擎是阿里云Elasticsearch 7.10內核增強版的重要功能,結合Indexing Service寫入托管服務,滿足用戶在日志場景下低成本的高并發寫入及長期數據存儲需求。您可以按需創建7.10內核增強版實例,開啟OpenStore智能混合存儲功能。
您可以在實例基本信息頁面的節點可視化區域查看是否已開啟OpenStore功能、開啟OpenStore功能并查看OpenStore存儲信息,詳細信息請參見查看集群狀態和節點信息。
開啟OpenStore后,建議您在控制臺關閉自動快照備份功能,具體操作請參見自動備份與恢復。
適用場景
阿里云Elasticsearch自研Openstore存儲引擎,適用于有海量數據寫入及長期存儲需求,數據查詢QPS較低且查詢時延容忍度相對較高的日志檢索、指標分析等場景。
智能混合存儲引擎適用于業務上對于數據有實時更新的需求,數據沒有嚴格的冷熱區分。
使用說明
無須單獨購買集群熱數據存儲空間,所有數據統一使用OpenStore存儲,按小時計算實際用量。價格詳情,請參見阿里云ES計費。
創建的索引默認為混合存儲索引,無須手動配置索引冷熱生命周期策略。
OpenStore存儲會自動根據查詢情況選擇緩存數據,數據分層及降級由混合存儲自動完成。
優勢
海量存儲:存儲Serverless付費,無須提前規劃及購買存儲容量,數據存儲按小時統計實際使用量,存儲資源使用率達到100%。
低成本:實時可修改、支持寫入更新,無須配置復雜索引生命周期,自動完成數據降級,超低使用門檻;數據存儲單價相較于使用本地SATA盤存儲成本降低了60%,相較于高效云盤降低了70%。
高可用:基于存儲計算分離架構,多副本之間共享一份數據,不增加額外存儲成本;底層存儲服務保證集群的數據高可用,提供99.9999999999%(可達12個9)的數據持久性。
查詢性能提升:對于典型日志場景的常用查詢分析,性能相較于本地SATA提升了100%,與高效云盤或者PL0級別的ESSD云盤性能相當。
混合存儲架構
此架構具備以下優勢:
存儲計算分離:相較于冷熱分離架構,進一步解耦計算與存儲資源,用戶不需要再關注存儲容量。實現彈性存儲、按量計費的同時,立足云原生優化集群擴展性,極大地提升了索引遷移和恢復的速度,適應海量數據場景。
易用性:全自動的索引生命周期管理,您只需要做簡單的索引周期配置,引擎完全托管了索引冷熱分離和數據遷移OpenStore存儲的全過程。
數據一致性:智能混合存儲通過基于Raft實現的混合存儲一致性協議,保證不同存儲介質之間的數據一致性,在用戶無感知的情況下,自動完成數據降級及緩存加速,并支持數據實時更新。
使用限制
購買和使用OpenStore存儲時,存在以下使用限制。
類別 | 限制說明 |
地域 | 目前僅開放以下地域(具體以控制臺為準):
|
實例版本 | 僅7.10版本實例支持開啟Openstore智能混合存儲功能。 |
實例規格 | 僅支持選擇OpenStore存儲型8核64 GB、16核64 GB規格。 |
實例存儲容量 | 單節點最大存儲數據容量為30 TB。 說明 如果您有更大的單節點存儲需求,請提交工單申請,最大支持50 TB。 |
shard副本數 | 開啟OpenStore智能混合存儲,shard副本數須大于等于1。 警告 多副本之間共享一份數據,不增加額外存儲成本。多副本用于保證本地存儲寫入加速的可靠性,如果未設置多副本可能會導致部分實時寫入數據的丟失,丟失后數據無法恢復。 |
索引模板 |
詳細信息,請參見通過OpenStore智能混合存儲實現海量數據存儲。 說明 手動刪除OpenStore存儲索引時,需要將索引及索引對應的別名一起刪除才可刪除成功。 |
索引生命周期配置 | 不支持在索引生命周期中自定義freeze。 |
查詢限制 |
|
集群分片數限制 | 建議80000以下。 |
節點分片數限制 | 建議3000以下。 |
單分片大小 | 建議40 G以下。 |
數據盤寫入吞吐 | 數據盤實際使用水位在85%以下,300 MB/s。 數據盤實際使用水位在85%以上,100 MB/s。 |
性能測試
測試環境
數據集:某日志場景數據集。
集群規格:均采用某日志場景的相同配置,其中:
節點數:10
Shard數:108
查詢條件:
查詢類型:sort
文檔個數:3,800,000,000
測試結果
存儲類型
查詢時間
本地SATA盤
30秒以上
高效云盤
12.229秒
OpenStore存儲
15.841秒
測試結論:
在集群配置相同的情況下,查詢日志數據時,通過OpenStore存儲的查詢耗時明顯低于通過本地SATA盤存儲的耗時,與高效云盤查詢耗時基本持平。從價格方面來看,OpenStore存儲的單價比高效云盤存儲的單價低60%左右,而且是按量付費,無須提前購買存儲容量。所以,通過使用OpenStore存儲,可以為您節省一定的費用。