在选择数据库时 对于新项目或现有项目来替换您正在使用的项目, 我已经在博客上提到过,找到选项的最佳网站是 数据库引擎, 我们可以在其中找到大量数据库,我相信您甚至不知道它们的存在。
但是转到主要话题, 我们今天要讨论的这篇文章是关于 InfluxDB 的,它是处理大量数据而不必牺牲性能的绝佳选择。
我们应该知道 InfluxDB 是一个针对时间序列数据优化的数据库 可用于本地数据中心或作为 Microsoft Azure、Amazon Web Services (AWS) 和 Google Cloud Computing 上的云解决方案。
时间序列数据库 (TSDB) 可以在没有云服务器或数据中心有自己的服务器的情况下运行. 该数据库由美国公司 Influxdata 开发。
InfluxDB 专注于存储科学领域的大量数据 和传感器发送的数据。 数据库 它比传统数据库快得多 在存储和管理时间序列方面。 还可以进行实时处理,以及使用基于 Javascript 的内部查询语言 Flux 查询数据。
这看起来更像是一种编程语言,而不是侦听端口 8086 的 SQL 查询语言,再加上 InfluxDB 没有外部依赖,并且具有用于查询数据结构的以时间为中心的内置函数 由度量、序列和点组成。 每个点由多个键值对组成,称为字段集和时间戳。 当由一组称为标签集的键值对分组时,它们定义了一个系列。 最后,该系列按字符串标识符分组以形成度量。
值可以是 64 位整数、64 位浮点数、字符串和布尔值。 点按其时间和标签集进行索引。 保留策略在指标中定义,并控制如何减少和删除数据。 连续查询定期运行并将结果存储在目标指标中。
如果时间序列要存储在数据库中,例如在使用物联网基础设施时, InfluxDB 可用于保存传感器信息,包括时间戳. 由于时序在 InfluxDB 中扮演着重要的角色,内部时序服务确保 InfluxDB 集群中的所有节点同步运行。 当然,InfluxDB 也适用于存储公司网络上的监控数据。
InfluxDB 中的数据库不必很复杂,可以提供几十个列。 例如,如果需要将传感器的某些测量值保存为时间的函数,则仅将其与几列一起使用是有意义的。
如果必须并行接收和处理来自多个来源的数据,例如在传感器的情况下,关联的数据库必须能够快速处理这些并行查询。 由于数据通常是实时接收的,因此必须相应地调整数据库的写入性能。 此外,还存在来自传感器的测量数据并不总是准确写入和定义的挑战。 时间序列数据库仍然可以存储这些数据并使其可用。
另外, 一旦保存了时间序列数据,以后很少需要更新它. 因此,没有必要为此优化时间序列数据库。 此外,还有删除或压缩不再需要的过时数据所需的功能。 这些任务也是快速时间序列数据处理的一部分。
InfluxDB 仅包含几个可用于 Linux 和 macOS 的组件。 所有功能都包含在一个文件中,便于安装和操作。
最后,如果您有兴趣了解更多信息,可以 检查以下链接中的详细信息。