Redis 内存中的开源&;持久的;分布式时间序列数据库

Redis 内存中的开源&;持久的;分布式时间序列数据库,redis,time-series,distributed,in-memory-database,in-memory,Redis,Time Series,Distributed,In Memory Database,In Memory,我希望编写一个分布式应用程序,它需要内存数据库中的时间序列(也需要持久性)。 我需要对这个时间序列数据进行各种分析,如聚合、过滤等。 理想情况下,我想分别缩放这些 这意味着,假设有一个进程附加到这些时间序列数据,然后将这些数据公开给一组应用程序(用于各种分析的进程),比如共享内存句柄。 为了计算分析结果,应用程序将需要以只读的形式浏览时间序列。因此,我们可以将此视为编写(添加/修改时间序列)的一个过程。以及其他将以只读方式访问这些时间序列数据以评估分析的应用程序 此外,我需要发送timeseri

我希望编写一个分布式应用程序,它需要内存数据库中的时间序列(也需要持久性)。 我需要对这个时间序列数据进行各种分析,如聚合、过滤等。 理想情况下,我想分别缩放这些

这意味着,假设有一个进程附加到这些时间序列数据,然后将这些数据公开给一组应用程序(用于各种分析的进程),比如共享内存句柄。 为了计算分析结果,应用程序将需要以只读的形式浏览时间序列。因此,我们可以将此视为编写(添加/修改时间序列)的一个过程。以及其他将以只读方式访问这些时间序列数据以评估分析的应用程序

此外,我需要发送timeseries数据,如果可能的话,最好是持久和分布式缓存(可能是基于redis的)


我想探索一下我有哪些替代方案。

对于您的用例来说,Redis似乎是一个不错的选择。您可以从一个主节点而不是从节点简单开始。若您使用非事务性,redis服务器将处理并发性,所以客户端可以在两者之间进行读取

为您的timeseries数据使用和。 你可能还想看看

稍后添加两个从机时,可以将它们保持为只读模式,并让只读客户端从这些从机收集数据。您甚至可以在服务器上的Lua中进行一些预聚合。真正的数据分析应该在客户端流程中完成

如果数据量很大,您可能需要将其序列化为格式。服务器端Lua脚本可以对此进行序列化/反序列化。这种格式非常节省内存


希望这有帮助,TW

时间序列数据的处理似乎适合Druid引擎。 Druid为时间序列数据提供对OLAP数据引擎的快速响应。 此外,metatron Discovery是一个基于德鲁伊的分析平台。看看