首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >可以直接从Cassandra读取来自web应用程序的表面信息吗?

可以直接从Cassandra读取来自web应用程序的表面信息吗?
EN

Stack Overflow用户
提问于 2017-03-28 04:49:47
回答 1查看 36关注 0票数 0

我使用Cassandra作为时间序列日志应用程序的主数据存储。我收到大量写入此数据库的数据,因此Cassandra是一个自然而然的选择。

但是,当我尝试显示有关web应用程序上的数据的统计数据时,我对此数据库进行了代价高昂的读取,结果速度开始变慢。

我最初的想法是运行定期的cron作业,每小时预先计算这些统计数据。这将确保不会有缓慢的读取。我想知道是否有其他方法可以从Cassandra数据库中读取数据,最好的解决方案是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 09:22:27

按照你最初的想法,你是在正确的轨道上。

在C*中存储数据的方式,特别是选择主键字段的方式,直接影响到读出数据的方式。如果您正在命中一个表上的单个分区,那么从C*集群中读取数据是非常高效的,并且是在网站上显示数据的最佳选择。

在您的例子中,如果您想要显示某个级别的聚合数据(例如,按小时),我建议您创建分区键,以便将所有要聚合的数据包含在相同的分区中。下面是我的意思的一个示例模式:

代码语言:javascript
运行
复制
CREATE TABLE data_by_hour (
  day text,
  hour int,
  minute int,
  data float,
  PRIMARY KEY((day, hour), minute)
);

然后,您可以使用cron作业或其他机制来运行查询,并将数据聚合到另一个表中以在网站上显示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43056257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档