我正在查看 BT 文档。了解数据存储在列族的列中并通过行键访问。我想了解聚合(如count、sum)是否可以通过BT完成? 由于 Cassandra 或 Scylla DB 共享相似的数据模型并提供聚合功能。因此繁重的工作是在数据库端完成的,而不是应用程序。
我想你已经差不多明白了。您应该记住此处所述的一些内容:
您可能会对一些解决方案感兴趣。 (与 Beam
、
Dataflow
、
BigQuery
和
JanusGraph
的集成)。我想分享一下关于查询BT数据的内容。请记住,此功能仍处于测试阶段。 如果我理解正确的话,您正在设计解决方案的架构,因此这是考虑所有选项的最佳阶段,不仅考虑技术要求,还考虑您的业务要求。
简而言之,如果 BT 完全符合您的需求,您可能会考虑使用 Big Query 来查询您的数据库。
文档指出:
Bigtable 非常适合存储大量低延迟的单键数据。它以低延迟支持高读写吞吐量,是您应该使用自己的应用程序或不同的产品来处理存储在 BigTable 中的数据。MapReduce 操作的理想数据源。
它确实支持写入时的简单求和聚合。这是通过列族类型
aggregateType
完成的。请参阅
valueType
列族参数。
然后您需要使用 AddToCell 突变来修改单元格。对于 Java 客户端,可以在here找到此突变的文档。