如何使用傳統資料庫思維進行實時資料流分析? – thenewstack

banq發表於2021-10-19

大多數流資料技術需要開發人員的思維方式不同於使用傳統關聯式資料庫的思維方式。但是現在,專注於時間序列資料庫的初創公司Deephaven Data Labs釋出了Deephaven Community Core,這是其企業產品的免費、可獲取源版本以應對這一挑戰。
 
Deephaven 在幕後使用Apache KafkaApache ArrowArrow Flight。針對平臺編寫的程式碼可以訂閱 Kafka 主題並帶回一個 Deephaven 表物件,它非常類似於Pandas DataFrame。但是表物件不像 DataFrame 那樣是靜態的——它們會隨著新資料流的流入而實時自動更新。IDE 中連線到表物件的視覺化和資料網格同樣會作為底層物件自動更新資料變化。並且不需要顯式程式碼來支援任何這些。
大資料量(例如,數十億條記錄)可以在 IDE 中處理,使用者可以聚合和過濾資料以及對其執行關係和時間序列連線。在 IDE 中,可以透過設定“連結器”來過濾資料,它允許在一個資料網格中進行選擇以過濾其他資料網格中的內容。喜歡使用Jupyter notebooks 的開發人員可以自由地這樣做,因為 Deephaven 提供了 Jupyter 網格和圖表小部件,其具有與 IDE 中可用的相同的自動更新行為。JavaScript 開發人員也得到明確的支援。
 
Deephaven 社群還支援所謂的派生流。這些是透過對現有表物件執行查詢而建立的實時檢視。這樣,使用者就不必對 Kafka 主題進行任何顯式連線或訂閱;相反,一切都是透過 SQL 查詢和賦值語句完成的。
 
與傳統資料庫一樣,Deephaven 可以確保更新在一個流、源或跨多個源中是原子的。提供抓取資料快照的 JDBC 和 ODBC 聯結器,以將 BI 工具連線到 Deephaven。當使用者重新整理他們的報告時,他們將獲得上次更新後流入的所有資料。
在人工智慧方面,使用者可以根據實時和歷史資料訓練模型。Deephaven 社群提供了一個名為Learn的模組,它利用 Deephaven 的強大功能並將其與PyTorchTensorFlow等整合,以便使用者可以一起使用 Deephaven 和這些庫。這種組合甚至可以支援持續增量再訓練的場景。
 
Deephaven 及其 IDE 不支援所有常見的 BI 工具功能;相反,今天的 BI 工具並不是為處理實時資料而設計的。但這些功能可能會新增到 Deephaven 中,具體取決於客戶的需求。
Deephaven 來自金融服務領域,是為高頻交易公司Walleye Trading內部使用而開發的,最初由 Deephaven 的執行長Pete Goddard領導。該技術是專門開發的,因為市場上已有的資料庫不能滿足 Walleye 的高資料量、高頻要求。
Deephaven 是一家擁有 40 名員工的公司,已有近 5 年的歷史。它的平臺作為商業企業產品已經有一段時間了,支援大規模部署它的客戶,並強化了高可用性和可靠性功能。免費的社群核心版本作為 Docker 容器映象提供。
 

相關文章