如何使用传统数据库思维进行实时数据流分析? – thenewstack


大多数流数据技术需要开发人员的思维方式不同于使用传统关系数据库的思维方式。但是现在,专注于时间序列数据库的初创公司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 容器镜像提供。