购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 InfluxDB的设计理念

InfluxDB是一个时序数据库,为了最大程度发挥时序数据库高写入高查询的功能,不得不对其设计优化做出一些权衡,主要是牺牲部分功能提升查询和写入的性能,其主要设计理念如下:

● 如果在同一时间点有相同的数据被写入,就会被认为是重复写入,这样设计的目的是解决数据重复的冲突,但在极少数情况下,可能会发生数据丢失的情况。

● 为了提高查询和写入的性能,InfluxDB极少出现删除数据的情况,即使要删除数据,也基本是清理过期数据,由于这一缺陷,其删除功能受到了很大限制。

● InfluxDB极少更新已有的数据,且不会出现有争议的更新,时间序列中的数据总是新数据,这样做的目的是限制对更新的访问以提高查询和写入的功能,所以其更新功能是受到限制的。

● 绝大多数写入是针对时间戳最近的数据,并且数据按时间升序添加。这样使得添加数据的性能明显更高,但如果使用随机时间或者不按升序时间写入,写入性能就会降低。

● InfluxDB处理的数据规模会非常大,它的出现就是为了解决大量数据的快速写入和查询的需求。必须能够处理大量的读写操作,为了解决大量数据的快速写入和查询的需求,InfluxDB团队为了满足需求不得不做出权衡以提高其性能。

● 能够写入和查询数据会比强一致性更重要,这样做使得在对数据库进行查询插入操作的时候,多个客户端可以在高负载的情况下完成,但如果数据库负载过重,查询返回的结果可能不包括最近的point。 V+VzmnNzmp4X32lHA9Wz5j4G5DzgVGflIwlEmP4Tp5CJ3pAPvPi6Odm+u/lSgv9f

点击中间区域
呼出菜单
上一章
目录
下一章
×