GaussDB(for Influx)推出了單機版方案,可用於開發、測試等場景,既能享受到服務化帶來的便利,也可以明顯地降低使用成本。 ...
本文分享自華為雲社區《華為雲GaussDB(for Influx)單機版上線,企業降本增效利器來了》,作者:GaussDB 資料庫 。
1.背景
華為雲GaussDB(for Influx) 集群版時序資料庫構建了高可靠、高可用、高性能、高可擴展性、免運維等特性,使得客戶不用擔心資料庫層面的問題,更多專註於其自身應用的開發設計,成為很多客戶的業務首選。
相對於MySQL等傳統資料庫,“新”的時序資料庫在設計和使用方面有比較大的差異,數據模型和使用方式對於大多數開發者來說比較陌生,需要更多的實例進行測試、調試。在非生產環境中,例如開發、測試場景下,對性能、可靠性沒有訴求,成本成為首要的考慮因素;如果選擇自己搭建環境用於開發、測試,雖然解決了成本問題,但是維護麻煩、操作複雜,遇到問題不能及時處理,也非常影響開發測試效率。
因此,針對性能、可靠性要求不高、成本敏感的使用場景,GaussDB(for Influx)推出了單機版方案。該方案可用於開發、測試等場景,既能享受到服務化帶來的便利,也可以明顯地降低使用成本。
2.GaussDB(for Influx)單機版極致成本
很多客戶在使用資料庫時,覺得在不考慮高可用性、性能和擴展性的測試、開發場景下,完全可以自己購買ECS搭建一套資料庫,這樣雖然麻煩,但是可以降低使用成本,畢竟雲資料庫也是基於ECS建立的,“麵包”肯定是比 “麵粉”貴吧。
GaussDB(for Influx)團隊結合多方實踐使用經驗,綜合考慮成本、穩定性和可運維性等各種因素,單機版方案選擇了1:2的超高性價比規格,同時支持4種不同的規格以滿足不同場景的需求,下表是單機版支持的規格類型和對應的費用:
規格 |
單機版(元/月) |
自建ECS(元/月) |
4U8G |
486.9 |
489 |
8U16G |
973.8 |
950 |
16U32G |
1947.6 |
1712 |
32U64G |
3895.2 |
3396 |
註:費用對比只是針對計算資源,存儲資源根據數據量大小按需購買
可以看到GaussDB(for Influx)單機版價格做到和自建基本持平,在4U8G的規格下,甚至比自建購買ECS還便宜。GaussDB(for Influx)單機版在做到了“麵粉”和“麵包”價格基本持平的同時,提供了自建不具備的許多服務化能力。
3.GaussDB(for Influx)單機版能力優勢
3.1 雲服務即開即用,免運維
資料庫雖然是基礎軟體,但是它的搭建也需要一系列基礎服務作為支撐。客戶在購買雲上ECS後,通常需要自行選擇合適的資料庫版本,按照當前的ECS規格修改合適的配置參數,實現基本的高可用能力。在完成上述工作後,還需要搭建監控系統保障基礎運維。相比之下,使用雲資料庫的客戶完全不用擔心上述複雜的工作,可專心聚焦於自身業務的實現和優化,如下圖所示:
特別是在批量、頻繁的創建和刪除環境時,上述的手動操作會特別繁瑣、耗時且容易出錯。資料庫創建完成後,後續的運維也是極具考驗經驗的工作,如果是對不熟悉的資料庫,一個簡單的問題就可能會阻塞開發、測試,最終可能影響項目的整體進度。
反觀雲資料庫的操作就非常簡單、方便。只要在頁面上簡單點擊選擇就可以購買創建,選擇相應的存儲大小、填寫密碼即可,極大提升了操作效率。最主要的是,在遇到問題時雲資料庫背後有經驗豐富的運維團隊來保障,常見問題可以達到分鐘級恢復。
除了在使用和部署上的方便之外,雲資料庫內核針對不合理的業務使用做了很多的規範限制,使得客戶在業務開發、測試階段就可以發現問題,並及時優化和調整,保障正式業務的穩定。
3.2 限制不合理查詢
GaussDB(for Influx)在資料庫內核層面做了很多限制和規範,對於不合理的使用不允許執行,並給出優化建議,遵循這些規範可有效提升業務運行的穩定性。
- 禁止不帶時間範圍的查詢執行
時序數據有很強的時間屬性,資料庫的內部組織也是嚴格按照時間屬性的,這是相對於其他資料庫很大的區別。如果不帶時間範圍的查詢,就會導致資料庫查詢全部數據,大概率會導致資料庫發生OOM問題,影響業務穩定性。
- 禁止執行select * from語句查詢
大多數真實業務場景是需要指定具體的查詢欄位的,只是由於開發習慣等各種原因而使用了select * from進行查詢。這種寫法有兩個潛在的問題:1.返回結果可能不確定,GaussDB(for Influx)是schemaless模式的,可以隨時添加和減少tag,field,這樣隨著業務的變化select*返回的結果可能會出現不一致,容易導致業務在解析返回結果時發生異常;2 select* 返回了所有欄位的值,但是實際上有用的只有某幾個欄位,這樣有大量數據傳輸是無效的,浪費了網路帶寬,也浪費計算、記憶體等資源。因此在開發規範中我們不建議使用這種方式查詢,在內核中也會對這種查詢進行攔截。
- 查看慢日誌能力
雲服務的慢日誌能力,使得在業務開發階段能及時發現慢查詢,及時進行優化調整。
- 限制每條查詢涉及的時間線和field數量
如果一條查詢涉及的時間線或者field數量太多,說明這個查詢可能會查詢太多的數據,資料庫會把這些數據都載入到記憶體中,很容易導致OOM,影響業務穩定性。而涉及的太多時間線或者field,大多數場景下是因為我們所寫的查詢語句不合理導致的,需要進一步優化。
4.總結
GaussDB(for Influx)是一款基於計算存儲分離架構,相容InfluxDB生態的雲原生時序資料庫,此次推出的單機版模式,在保留雲資料庫優勢的同時做到和自建ECS價格基本持平,滿足業務對可用性、可靠性要求不高場景下對低成本的訴求。