【通往Cassandra Day的路途】从实时数据到实时人工智能-介绍特征工程引擎Kaskada
首先
东京的卡桑德拉日
今年的6月1日,在2023年,Cassandra Day将会在日本举行。Cassandra Day在去年已经在柏林、伦敦、阿姆斯特丹、河内、雅加达、休斯顿、圣克拉拉、西雅图和新加坡举办。
为了即将在东京举行的活动,我们将发布有关Apache Cassandra的文章。

关于Apache Cassandra
如果用一句话来概括,Apache Cassandra是一个开源的分布式数据库管理系统。
与其他分布式数据库管理系统一样,我们可以使用多个通用服务器构建一个数据库(也可以仅使用一个服务器进行开发等目的)。
在这里,我们省略了详细解释,将介绍的角色交给了对此有兴趣的人。请参考官方网站或维基百科。
为什么DataStax要收购Kaskada?
DataStax于今年2023年1月收购了机器学习软件公司Kaskada。
DataStax已经完成了对Kaskada技术的开源化,并开始提供企业支持。

为什么DataStax(作为长期以来的Cassandra数据库的核心)决定进入AI·ML领域呢?
我认为很多人已经在这张图中看到过这个经典论文“Machine Learning Systems中的隐藏技术债务(Sculley等人,2015年)”的引用。

DataStax的方法意在应对隐藏的技术债务,而非试图取代像ChatGPT和TensorFlow这样的ML Core领域中的黑色方块所表示的中央区域。
DataStax并不打算取代ML Core领域,而是致力于满足隐藏技术债务的需求。
Kaskada是什么?
特色商店
随着技术的进步,应用商店 已经出现,并且逐渐变得不再新奇。
Kaskada经常在这个类别中被介绍。

只需看一眼以下的两张图,就能明白比为了解释App Store而浪费很多话要来得简单明了。左边是没有App Store的世界,右边是有App Store的世界。

特徵引擎
Kaskada是为满足特征工程需求而开发的计算引擎。Kaskada的开发者称其为特征引擎。
Kaskada提供了使用宣言型言語(Fenl)计算用户编写的特征的功能。从这个意义上说,可以说它不仅仅是一个“存储”,而是具有“数据处理”功能。
Kaskada不仅仅是一个数据处理系统,更是为满足机器学习的需求而设计的。Kaskada可以用于训练(学习)和服务(预测)机器学习模型,正如它类似于特征存储一样。
以下是一個宣言型語言的示例。

在计算机学习的训练数据时,会出现需要将过去某一时间点的特征值和后来确定的标签值结合在一起的需求。Kaskada可以使用声明性语言描述跨越多个时间点的计算。这种表达范围不仅限于简单的窗口聚合,而是可以自由穿越时间的操作,因此Kaskada开发者将这个功能称为”时间旅行”。
事件处理引擎
Kaskada具有“以活动为中心的设计”特点。我们将这些要素整理如下。
-
- クエリを実行して、時間の経過に伴うすべての結果と最終結果を取得する機能。
-
- 一連のイベントを変換し、直接利用、またはテーブルに具体化する機能。
- ストリーム(Data-in-motion)とテーブル(Data-at-rest)へのアプローチの統一:それらの違いについて意識せずにデータを扱うことができる、つまり、それぞれに異なる API を使用する必要がない。
另外,Kaskada是基于最新的技术堆栈构建的,具有以下特点。
-
- Kaskada は Rustプログラミング言語で、実装。
-
- Apache Arrow (列データ処理フレームワーク)を活用
- 単一バイナリで構成、ローカルおよびクラウドへの展開が容易
目前,可以通过GitHub仓库获取Kaskada的所有功能,而且它们都在Apache 2.0许可证下提供。

最后
我认为Kaskada和特征工程引擎仍然不太为人所熟知,但如果本文能成为它们的介绍,我将不胜荣幸。对于技术上具体的内容,我将在未来进行分享。
相关信息