基於Rust 的搜索引擎 Quickwit

Back
Category : News

哎呀,Quickwit 呢個搜索引擎真係好勁啊!用Rust寫嘅,替代Elasticsearch,成本低咗10倍!

Quickwit 係一個開源嘅雲原生搜索引擎,專門設計嚟處理大規模數據,例如日誌、追蹤同埋指標。佢嘅核心係用Rust語言開發,Rust 呢個語言好安全又高效,唔會有記憶體洩漏問題,跑起嚟快過人。比起傳統嘅Elasticsearch(ES),Quickwit 最大嘅優勢就係計算同儲存分開嘅架構。咁樣,儲存數據可以用平價嘅雲端物件儲存服務,例如Amazon S3、Azure Blob Storage 或者 Google Cloud Storage,而唔使依賴貴價嘅伺服器集群。結果,成本可以低咗10倍甚至更多!

想像吓,如果你係一個大公司,每天產生海量日誌數據,用ES 要花好多錢嚟維持伺服器同埋儲存。但用Quickwit,你只需付雲儲存嘅費用,搜索嘅時候先喚醒計算資源,咁樣好慳錢啊!根據官方數據,Quickwit 可以喺雲儲存上實現亞秒級搜索,效率高到爆。佢仲支援Elasticsearch 相容API,意思係你可以用現成嘅ES客戶端嚟連接Quickwit,轉移過程唔使大改程式碼,好方便。

再講講佢嘅主要特點:

  • 全文搜索同聚合查詢:支援對文本內容全面搜索,仲可以做數據聚合分析。
  • Jaeger 原生支持:內置對Jaeger嘅支持,方便追蹤微服務請求。
  • OTEL原生支持:支援OpenTelemetry,用嚟監控日誌同追蹤。
  • 靈活索引選項:有無模式同嚴格模式,適合唔同數據需求。
  • Kubernetes 就緒:可以用Helm Chart 輕鬆部署喺K8s上面。
  • Grafana 數據源:可以直接喺Grafana顯示數據,可視化超簡單。
  • RESTful API:開發者可以用HTTP請求嚟互動。

Quickwit 係基於Tantivy呢個全文搜索庫開發,Tantivy 靈感嚟自Apache Lucene,但用Rust重寫,性能更好。佢嘅團隊喺2021年推出第一版,之後不斷更新,到而家已經有9,700多個Stars喺GitHub上面。唔少公司用佢嚟替代ES、Splunk 同 Datadog,因為成本低又可靠。

例如,有個案例話,用Quickwit 搜尋網頁數據,一個月只需1000蚊美金以下,相比ES 要貴好多。佢嘅無狀態設計,令到擴展好容易,你可以根據需求動態調整搜索器數量,唔使擔心 downtime。仲有,Quickwit 支援實時索引,數據一嚟就即時可搜,適合監控系統。

如果你係開發者,想試下Quickwit,可以去官網下載,或者用Docker 跑個demo。安裝好簡單,只需幾個命令就搞掂。佢嘅文件好詳細,有教程教你點樣設置索引、查詢數據同埋整合其他工具。對於大數據分析,Quickwit 真係一個好選擇,唔單止慳錢,仲快同穩定。

總之,Rust 開發嘅Quickwit 真係「真香」,替代ES 之後,成本低咗10倍,性能又唔輸蝕。唔少開源社區都推介佢,未來發展潛力大。如果你有興趣,不妨去GitHub star 吓,支持下呢個項目。呢個搜索引擎唔單止適合企業用,個人開發者都可以用嚟建小型搜索系統。佢嘅社區活躍,有好多貢獻者喺度改進功能,例如最近加咗對指標嘅支持,即將推出更多新feature。

講到成本降低,Quickwit 嘅解耦設計係關鍵。傳統ES 儲存同計算綁定,數據多咗就要加機,加機就加錢。但Quickwit 儲存用雲端,計算用無狀態pod,閒時可以縮減到零,付費只喺用嘅時候。根據一啲benchmark,Quickwit 搜尋速度比ES 快2-5倍,尤其喺大數據集上面。佢仲有內建壓縮,數據儲存空間少咗好多,進一步慳成本。

另外,Quickwit 支援多種數據來源,例如從Kafka 或者Fluentd 攝取數據,整合好容易。對於安全方面,Rust 嘅記憶體安全特性,令到系統少漏洞,唔使擔心被hack。總括嚟講,Quickwit 係一個現代化嘅搜索解決方案,專為雲時代設計,幫你解決大數據搜索嘅痛點。

如果你想深入了解,可以睇吓官方blog,有好多案例研究同性能測試。呢個工具真係值得一試,轉用之後你會發現,原來搜索可以咁平又咁快!

https://blog.csdn.net/coderroad/article/details/146016243