近年來,各大廠商紛紛擁抱云原生技術,由此帶來的海量數據給傳統的技術架構帶來了巨大沖擊,傳統監控首當其沖。服務上云之后,大都基于 Docker 容器部署、Kubernetes 服務治理,資源彈性伸縮且實時變化,傳統監控難以支撐住此場景下的業務需求,可觀測性(Observability)逐漸發展成為云原生領域的熱門方向。
在此背景下,云時代的系統可觀測平臺觀測云與物聯網大數據解決方案商濤思數據達成深度戰略合作,依靠國產時序數據庫 TDengine 的技術和性能優勢,觀測云將進一步滿足云、云原生、應用及業務上的監測需求,從基礎設施到日志數據再到全鏈路應用性能實現全面主動觀測,讓企業在上云體驗上更加順滑。
多種存儲混合查找,觀測云設計 DQL 引擎專注查詢

在觀測云的數據存儲結構中,數據采集軟件會被部署到不同的用戶環境中采集所需數據,在數據上傳后系統會根據數據類型進行相應的分類,分類完成后所有數據會經由 Worker 進行對應處理,再根據相應的分類寫入到各種不同的存儲當中。在數據存儲完成后,根據業務需求用戶需要對數據進行查詢操作,但不同的數據存儲存在查詢語言的差異,如何彌補語言差異完成查詢操作成為一個亟待解決的問題。
觀測云所使用的的存儲可以概括為三種,一種是如 TDengine 一般的時序數據庫(Time-Series Database),一種是Elasticsearch(簡稱 ES),此外還有一部分數據存儲在 Redis、MySQL 這類關系型數據庫當中,對應如此多種類的存儲,在遍歷查詢方面極度不友好,尤其是對于前端來說。觀測云的解決方案是重新定義一套可以查詢多種數據類型的查詢語言,并由此設計出了 DQL 引擎,真正意義上實現了數據查詢層面的垂直劃分。
為了打造出一種能夠統一查找多種存儲混合的查詢語言,觀測云在設計上進行了深入思考,并依托于具體實現不斷打磨,設計出了專注于查詢且語法簡單的 DQL 引擎,代碼展示如下:
M(Metric)::nsq_nodes:(LAST(message_count) AS 消息數) BY
server_host
L(Log)::openway_gin:(MAX(cost_time)) {host = ‘prd-dataway’}
BY http_url
R(RUL)::view:(COUNT_DISTINCT(userid)) { app_id =
'appid_xyz' and view_path = re('.*/scene/.*') }
在解決了多種存儲共存的問題后,為滿足業務發展需求,進一步提升前端操作體驗,觀測云決定對既有的存儲系統架構進行升級改造。
與 TDengine 合作,提升用戶體驗
觀測云此前使用的時序數據庫是 InfluxDB,應用至今,其越來越難以支撐私有化部署業務,多種問題和瓶頸導致業務發展受到限制,最終觀測云決定對 InfluxDB 進行替換。他們將目光轉移到國內數據庫領域,發現在多年的發展之下,一些優質的國產時序數據庫應運而起,TDengine 就是其中之一。在了解了 TDengine 的種種特性之后,觀測云對兩種時序數據庫進行了相關測試。

根據上述測試結果,觀測云發現,不管是從寫入、查詢抑或是存儲方面,TDengine 在性能上可以說是全面領先于 InfluxDB。無論是簡單查詢還是復雜的聚合查詢,都有 10x~20x 的性能提升,存儲空間能節省大約一半,在寫入性能上也有兩倍提升,也就是說原先可能需要使用兩個或者三個節點才能滿足用戶的寫入需求,應用 TDengine 后一個節點大約就頂住了,一定程度上又節省了一部分的部署成本。
目前,觀測云正在逐步將數據從 InfluxDB 遷移至 TDengine,TDengine 將會被應用在多租戶隔離、高頻 I/O、私有化部署等場景中。
作為一個 SaaS 平臺,觀測云需要接入多租戶進行對應服務,因此平臺方首先需要考慮的就是不同租戶之間如何以不同的 DB/Index 進行隔離。在 TDengine 中,多個 DB 可以共享一個 database 服務,觀測云可以順利實施這個方案。
此外,多租戶模式也會產生高頻數據寫入,每一個租戶都可能會部署多個采集點,而一個采集點就相當于一個寫入的客戶端,僅對于一個租戶而言,就可能產生十個、一百個甚至更多的接入客戶端,多租戶的寫入量之巨大可想而知。
除了寫入,平臺在查詢層面也會面臨不小的壓力,前端指標的生成、監控等無時無刻不在對數據進行查找。TDengine 的邏輯設計使得其既可以滿足高可靠,又能夠滿足大數據量級的讀寫需求,可以很好地支撐住多租戶模式下的系統性能。
除了 SaaS 服務外,觀測云還會針對一些客戶的業務需求進行私有化部署,私有化部署的環境和 SaaS 有很大區別,不僅要將部署效率提升,還要能夠和不同的云平臺打通,更便捷地獲取需要的資源。相比于 InfluxDB,國產的時序數據庫 TDengine 對私有化部署顯然更加友好。
結語
在 TDengine 的助力下,觀測云極大地節省了部署和運維成本,也顯著提升了系統的整體性能,讓前端用戶在使用體驗上更上一層樓。作為 TDengine 的合作伙伴,觀測云希望 TDengine 未來能夠有更多數學函數的支持,同時加強部分查詢功能對 Unicode 的支持,以更加豐富的功能促進雙方開展更為深度的合作模式。
“后面在我們的 SaaS 和私有化部署中都會默認使用 TDengine,其他公有云(AWS、騰訊云等)上的服務都將以 TDengine 為主,對于新接入的用戶我們也將慢慢遷移到 TDengine 節點。”
未來隨著雙方合作的持續加強,可以預見,強強聯合的技術加持將為云原生行業的智能化監控構筑更加堅實的“技術底座”,為企業數字化轉型提供技術力量支撐,為國內可觀測性技術的發展貢獻源源不斷的創造力。
觀測云簡介:觀測云,新一代 SaaS 化全鏈路數據可觀測平臺,實現統一采集、統一標簽、統一存儲和統一界面,帶來全功能的一體化可觀測體驗。觀測云能全環境高基數采集數據,支持多維度信息智能檢索分析,及提供強大的自定義可編程能力,使系統運行狀態盡在掌控,故障根因無所遁形。聰明的團隊會觀測,可觀測性用觀測云。
濤思數據簡介:北京濤思數據科技有限公司(TAOS Data)瞄準日益增長的物聯網數據市場,專注時序空間大數據的存儲、查詢、分析和計算,不依賴任何開源或第三方軟件,開發了擁有自主知識產權、100% 自主可控的高性能、分布式、支持 SQL 的時序數據庫 TDengine。采用 AGPL 許可證,濤思數據已經將 TDengine 的內核(存儲、計算引擎和集群)100% 開源,未來將盡最大努力打造開發者社區,維護開放開源的商業模式。



























