如何在 Phantom for Cassandra 中使用和查询动态列族?
How to work with and query dynamic column families in Phantom for Cassandra?
我最近开始处理大量的数据,这些数据也需要通过常规交易。
选择 Cassandra,我的数据模型使用动态列。我知道使用 CQL 可以更改表并插入或查询列以获取所需数据。
但是,我将 Phantom 客户端与 Scala for Cassandra 一起使用并通读了文档,但我找不到写入或查询动态列族的方法。
鉴于我们使用案例 类,如何在 Scala 中使用 Cassandra 处理动态列?
我建议您不要动态更改 table 模式作为数据模型的一部分。 Cassandra 是一个面向行的数据库,在分区内对行进行分区和集群。因此,无论您试图通过添加或删除列来表示什么,都可以通过在一组固定的列中设置值来更好地处理。
尽管 Cassandra 允许更改 table 定义以添加和删除列,但通常只有在向应用程序添加新功能时才会这样做,因此您需要操作员手动更改模式,并且然后使用修改后的应用程序代码来使用新架构。
我认为客户端应用程序通过创建或更改 table 来修改模式是危险的,因为您 运行 有多个客户端同时进行更改的风险。
我最近开始处理大量的数据,这些数据也需要通过常规交易。
选择 Cassandra,我的数据模型使用动态列。我知道使用 CQL 可以更改表并插入或查询列以获取所需数据。
但是,我将 Phantom 客户端与 Scala for Cassandra 一起使用并通读了文档,但我找不到写入或查询动态列族的方法。
鉴于我们使用案例 类,如何在 Scala 中使用 Cassandra 处理动态列?
我建议您不要动态更改 table 模式作为数据模型的一部分。 Cassandra 是一个面向行的数据库,在分区内对行进行分区和集群。因此,无论您试图通过添加或删除列来表示什么,都可以通过在一组固定的列中设置值来更好地处理。
尽管 Cassandra 允许更改 table 定义以添加和删除列,但通常只有在向应用程序添加新功能时才会这样做,因此您需要操作员手动更改模式,并且然后使用修改后的应用程序代码来使用新架构。
我认为客户端应用程序通过创建或更改 table 来修改模式是危险的,因为您 运行 有多个客户端同时进行更改的风险。