首页 > 解决方案 > 最佳时间序列大数据数据库

问题描述

我正在为我的大数据项目寻找最好的数据库。我们正在从一些传感器收集数据。每行大约有一百列。每天我们都会存储数百万行。

最常见的查询是检索某个日期范围内的一个传感器的数据。

目前我使用 percona mysql 集群。当我在某些日子询问某个范围的数据时,响应很快。问题是当我询问一个月的数据时。数据库完美优化,但响应时间不可接受。

我想用一个能够在所有节点上并行执行查询的数据库来更改 percona 集群,以提高响应时间。

使用 Cassandra,我可以跨节点对数据进行分区(可能基于当前日期),但我已经读到 cassandra 无法并行读取分区之间的数据,但我必须每天创建一个查询。(我不知道为什么)

是否有自动管理分片查询的数据库,以便我可以在所有节点上分发数据?

标签: databasebigdata

解决方案


使用 Cassandra,如果您将数据拆分到多个分区,您仍然可以通过异步执行多个查询来并行读取分区之间的数据。

Cassandra 驱动程序可帮助您处理此问题,请参阅execute_concurrentpython驱动程序

此外,cassandra 驱动程序知道数据分区,它知道哪个节点保存了哪些数据。因此,在读取或写入时,它会根据驱动程序的负载均衡策略(特别是使用TokenAwarePolicy)选择一个合适的节点来发送查询。

因此,客户端充当负载平衡器,您的请求由可用节点并行处理。


推荐阅读