如何在Phantom for Cassandra中使用和查询动态列族?

时间:2015-10-05 08:17:43

标签: scala cassandra phantom-dsl

我最近开始处理繁重而庞大的数据,这些数据也需要经常进行交易。

选择Cassandra,我的数据模型使用动态列。我知道使用CQL可以改变表并插入或查询列以获取所需的数据。

但是,我正在使用Phantom客户端和Scala for Cassandra并阅读文档,我找不到写入或查询动态列族的方法。

鉴于我们使用了case类,如何在Scala中使用Cassandra的动态列?

1 个答案:

答案 0 :(得分:6)

我建议你不要动态地改变表模式作为数据模型的一部分。 Cassandra是一个面向行的数据库,在分区内对行进行分区和聚类。因此,通过添加或删除列来尝试表示的任何内容都可以通过在固定的一组列中设置值来更好地处理。

虽然Cassandra允许更改表定义以添加和删除列,但通常只有在向应用程序添加新功能时才会这样做,因此您可以让操作员手动更改模式,然后使用修改后的应用程序代码利用新的架构。

我认为客户端应用程序通过创建或更改表来修改架构是危险的,因为您冒着让多个客户端同时进行更改的风险。