我很想知道,如果我使用任何timeseries数据库来存储我的日志数据,这大约是每秒数千条记录或每天百万条记录,timeseries数据库将如何在内部存储这些数据。如果我想分析过去4个月的数据,它如何确保快速响应我?
发布于 2019-03-02 08:12:15
不同的时间序列数据库有不同的数据存储策略。你的具体用例将决定哪一个更适合你,或者你是否更好地使用像elastic这样的搜索引擎与时间序列数据库。Timescale是由一个最初构建物联网平台的团队设计的,因此一些人认为Timescale是物联网最好的时间序列数据库。(IOT数据=突发、无序、高基数、与其他元数据共存)
Timescale使用底层postgres存储引擎将数据写入持久存储。它的创新之处在于增加了一个中间层,将数据分块到多个具有连续时间间隔数据的底层表中-但对于用户/消费者来说,它仍然看起来像一个表。你可以使用read more in the documentation。
除了它的分块策略-在幕后发生- Timescale是一个普通的PostgreSQL数据库-所以你可以做连接,以及二级和部分索引等。
(InfluxDB使用具有缓存和性能优化机制的日志结构合并树。你可以使用read more in the documentation。InfluxDB最初设计用于支持web应用程序监控。)
(披露-我与timescale有关联)
发布于 2022-03-02 07:07:02
这取决于特定时间序列数据库的设计。一般来说,时间序列数据库是为存储和查询时间序列数据而优化的,这是时间序列数据库的基本特征。
例如,在开源的高性能时间序列数据库TDegnine中,时间序列数据首先按照表名进行分片,每个表代表一个数据采集源。然后,在每个表中,根据时间范围对数据进行分片,以便可以基于时间戳轻松地检索数据,并且基于这种分片/分片机制可以很容易地实现数据保留策略。
https://stackoverflow.com/questions/48693800
复制相似问题