Advertisement

最适合物联网的开源数据库

阅读量:

The Internet of Things (IoT) is essentially a network where diverse devices connect via a shared platform. Visualizing a scenario where every device both at home and work is interconnected, we can imagine technologies that automatically regulate environments, monitor populations in real-time, and track individual health metrics with ease. The Internet of Things has profound implications for modern life.

物联网(IoT)可被视为借助通用平台将各实体有机地互联而成的一个网络系统。在家中及工作场所内所有设备连网的情景下,在室温上升时室内空调自动降温的情形下进行观测即可推断出参与人员数量;无论在何种公众集会场合,人口数量均易于获取;同时,在每个个体身上均可持续追踪其健康指标。此即物联网所预示出的应用前景。

The Internet of Things currently exhibits significant diversity. There are numerous organizations offering various solutions primarily for customer requirements or specific organizational needs. However, there remains no unified platform enabling all devices—regardless of company affiliation—to connect seamlessly through a user-friendly interface.

物联网的发展呈现分布广泛的状态。多种公司与组织正在为其客户或个人需求各自搭建相应的平台。虽然存在一个通用的平台可以让所有设备通过友好的界面实现互联……目前这一技术尚未得到广泛应用。

It is expected that IoT devices will exceed into the trillions over the next five years.

Is a database necessary for IoT?

预计未来五年内物联网设备的数量将有望达到数万亿。
是否为物联网提供可靠数据存储的基础?

The Internet of Things brings about numerous complex issues, particularly within the domain of database management systems. This includes the intricate challenge of integrating massive volumes of data in real-time, effectively processing events as they occur, and ensuring data security. As an example, IoT-based traffic sensors deployed in modern smart cities would generate massive volumes of traffic-related data on a continuous basis. Databases occupy a crucial part when managing IoT data appropriately. Consequently, selecting both an ideal platform and an appropriate database becomes essential when choosing an appropriate database for such an environment. Given that IoT functions across diverse global environments, it presents significant difficulties when selecting an appropriate database for such environments.

物联网带来了诸多令人厌倦的挑战,在数据库管理系统领域中尤其明显;例如,在实时集成大量数据时就面临着复杂的技术难题,在处理事件和维护数据安全方面也面临着挑战。例如,在智能城市中部署基于物联网的交通传感器会实时产生大量交通数据;而数据库在充分管理与物联网相关联的数据方面扮演着关键角色;同时选择一个合适的平台同样至关重要。由于物联网在全球多元化的环境中运作日益普遍...

In selecting a database for IoT applications, the following factors must be taken into account:

  1. Security and cost

在为物联网应用选择数据库之前应考虑的因素包括:要考虑的因素包括可能性、复杂性和索引功能。需要特别注意以下几点因素:第一是系统规模及其复杂程度;第二是针对海量数据的高效处理能力;第三是系统的直观友好设计;第四是设备兼容性的要求;第五是支持的查询语言类型;第六是系统中流程建模与事务管理的完整性及可靠性;第七是系统能否支持异构数据以及整合不同来源的能力;第八是系统是否具备对时间序列数据进行聚合分析的功能;第九是系统提供的最大存储容量。

10)安全性和成本

The types of Internet of Things (IoT) data include:

  1. RFID technology, commonly known as Radio Frequency Identification (RFID), which is a non-contact identification method.

  2. Address or unique identifier information.

  3. Descriptive datasets pertaining to processes, systems, and individual entities.

  4. Environmental sensor and location-based pervasive sensingdata.

  5. Multi-dimensional time series datasets collected by sensors.

  6. Archival or historical records related to specific phenomena or events.

  7. Physics-based models used as templates for representing real-world phenomena

  8. State of actuators and command data for control

物联网领域中的数据类型主要包括:
1)射频识别技术:RFID技术
2)地址编码或唯一标识符
3)描述对象、系统及其运行状态的数据
4)广泛存在的环境信息和位置坐标数据
5)来自传感器的多维时间序列测量数据
6)完整的历史记录
7)物理模型构建了现实世界的抽象表示
8)用于系统控制的执行器指令及其工作状态

Databases suited for the Internet of Things

InfluxDB: Launched in 2013 as one of the most recent databases, InfluxDB utilizes the Go programming language. Built upon LevelDB's foundation as a key-value store, it serves as a specialized tool for managing time-series data. Originally introduced in 2000 for handling time-series records through Kdb's system. However, its true impact came with the surge in IoT adoption during the NewSQL era; its adoption led to significant growth across NoSQL and NewSQL domains due to its ability to manage vast amounts of increasing data.

适用于物联网场景下的核心数据存储平台。
InfluxDB自2013年首次推出以来已成为当前最前沿的数据库系统。
该系统采用Go语言进行开发,并基于相同的键值存储架构构建。
作为专门的时间序列数据库,在优化和处理时间戳相关联的数据方面具有显著优势。
早期版本如Kdb则主要用于存储时间序列数据。
伴随物联网技术的进步使得大量的实时数据得以高效采集与传输。

The advantages of using InfluxDB for IoT data include:

  1. The system supports indexing of series.

  2. It offers a query language similar to SQL.

  3. The platform provides a built-in linear interpolation method for handling missing data.

  4. Automatic data down sampling is supported.

  5. Supports continuous queries to compute aggregates

使用InfluxDB进行物联网数据的优势包括:
1)支持生成索引
2)提供了一种类似于SQL的数据查询语言
3)内置了针对缺失数据的一阶线性插值
4)支持执行时间序列数据的自动采样
5)能够执行持续性的聚合计算

CrateDB: 它是一个分布式SQL数据库管理系统。由于开源且基于Java开发,它整合了Facebook Presto、Apache Lucene、Elasticsearch和Netty等组件——因此具备高度可扩展性。它被设计用于充分利用物联网数据。从工业互联网到智能汽车及可穿戴设备等领域,它是创新者采用新物联网解决方案的核心数据库。

crateDB: crateDB旨在提供一种分布式SQL数据库管理平台。由开源代码编写,并采用Java作为主要编程语言。它整合了来自Facebook Presto、Apache Lucene、Elasticsearch以及Netty等组件。其设计理念具备高度的扩展性。crateDB的目标是为物联网设备和相关技术提供可靠的数据处理基础。涵盖从工业互联网延伸至智能汽车以及可穿戴设备等多个领域

The advantages of using CrateDB for IoT data include:

  1. The system can handle millions of data points per second with high efficiency and scalability.

  2. Real-time query capabilities are supported by columnar indexing and field caching mechanisms.

  3. Dynamic schema management allows for the seamless addition and querying of new sensor data structures.

  4. Advanced IoT analytics tools provide fast processing of time series data, AI-driven insights, geospatial indexing, text-based searches, joins, aggregations, and more.

  5. The system ensures continuous operation through built-in data replication mechanisms and cluster rebalancing strategies.

  6. Compatibility with ANSI SQL ensures flexibility for developers without being locked into proprietary solutions.

  7. An integrated MQTT broker facilitates direct device-to-database communication without additional intermediaries.
    8] The CrateDB ecosystem integrates well with popular IoT software frameworks such as Kafka、Grafana、NodeRED等

  8. Runs anywhere for efficient processing at the edge or in the cloud

使用CrateDB进行物联网数据具有显著优势:
1)支持每秒数百万个数据点的高密度采集,并按比例扩展存储架构以实现线性增长的数据吞吐量;
2)提供实时查询功能,并通过列式索引和字段缓存技术在内存中模拟SQL级别的性能表现;
3)支持即时创建和操作新的传感器数据结构模式,并在需要时动态调整数据库布局以适应新增需求;
4)提供全面的物联网分析功能集包括实时的时间序列分析、人工智能驱动的数据挖掘、地理空间数据分析、高效的文本检索、多设备连接能力和强大的聚合统计功能;
5)采用内置的数据复制机制和群集自动均衡技术,在任何时候都能保持数据库运行高效稳定;
6)支持ANSI SQL标准的操作方式,并通过无需锁定机制简化了开发人员的学习成本并提升了集成效率;
7)内置MQTT代理模块实现了设备与数据库之间的无缝对接,并且无需额外配置即可完成消息传输任务;
8)兼容广泛的物联网生态系统框架如Kafka、Grafana以及NodeRED等流行工具,并提供了良好的集成接口以满足不同场景的需求。

9)在任何地方运行,以便在边缘或云中进行高效处理

MongoDB serves as a versatile, cost-effective, and scalable document-based database solution designed for cross-platform applications. Classified as a NoSQL database system, MongoDB employs schema-aware JSON-like records for data storage. Organisations increasingly prefer MongoDB for IoT applications because it allows storing data from any context in real time. Its schema flexibility enables organizations to modify their schemas dynamically during development.

MongoDB:作为一款免费且开源的跨平台文档型数据库程序,在技术生态中常被视为NoSQL数据库解决方案。其采用类似于JSON格式但带有模式特性的文档结构来组织数据。企业倾向于将MongoDB应用于物联网场景中以存储和管理实时数据,并根据需求灵活调整系统的架构和配置。

The advantages of employing MongoDB in IoT data management encompass:

  1. A robust database system
  2. Document-driven architecture
  3. Versatile applications
  1. Being a NoSQL database, it uses JSON-like documents with schemas

MongoDB在物联网数据管理方面具有显著优势:
1)它是一个功能强大的数据库系统,在处理高密度数据时表现出色;
2)基于文档型架构设计,能够灵活高效地存储和检索非结构化数据;
3)作为一个非结构化数据库,在设计上借鉴了JSON格式的数据模型;
4)通过与现有系统的无缝集成实现可靠地支持复杂的查询需求

在开源数据库排行榜上,RethinkDB位居首位.它是一种自底-Up构建的,支持高扩展性的JSON数据存储解决方案,专为实时Web设计.通过重新设计传统的数据库架构,RethinkDB引入了一种全新的访问模式.当开发者向其发送指令时,系统会立即将更新后的查询结果传递给相关应用程序.这常被称为change Feeds机制.作为多角色的核心组件,RethinkDB不仅承担着数据存储和实时推送的任务,还通过change Feed机制实现消息传输功能.Aiming to reduce the effort and time needed for developing scalable real-time applications,RethinkDB's architecture leverages real-time data streaming capabilities.

RethinkDB:​​在开源数据库列表中,RethinkDB位于顶部。它是用于实时Web的可扩展JSON数据库,它是从头开始构建的。 RethinkDB通过转换传统的数据库体系结构引入了令人兴奋的新访问模式。当开发人员向其发送命令时,它可以不断将更新后的查询结果推送至应用程序。这是开发人员称为换卡的功能。 RethinkDB作为系统状态的数据库,实时存储库和消息代理,这是更改进程允许的。其实时推送体系结构大大减少了构建可扩展实时应用程序所需的时间和精力。
将RethinkDB用于物联网传感器数据的优点包括:

RethinkDB为物联网传感器数据提供了诸多优势:
1)该数据库提供了一种可灵活使用的查询语言。
2)当任何主服务器发生故障时,则会自动将命令转移至一个新的服务器。
3)该系统的插拔式功能允许实时添加节点而不会有任何 downtime。
4)通过Eventmachine在Ruby和Tornado中实现了异步查询功能。
5)该系统允许通过公共互联网实现对RethinkDB的安全访问。

RethinkDB提供了diverse floor、ceil和round函数作为其强大的数学运算工具。

  1. RethinkDB支持专门用于检查API的一类查询语言,并且这种语言易于配置和掌握。
  2. 若任何主服务器出现故障,则相关命令会被自动转移至新的服务器。
  3. 即使运行一秒钟也不会中断的情况下,在线即插即用的节点功能能够使得节点能够方便地被添加。
  4. 利用Ruby与Tornado框架下的Eventmachine实现异步查询功能,并为此提供了异步应用程序编程接口。
  5. 仅用于确保RethinkDB的安全访问。

6)Floor,Ceil和Round是由RethinkDB提供的各种数学运算符。

SQLite: SQLite Database Engine 是一个无服务器(自包含)的事务型 SQL 数据库引擎作为可执行模块提供给开发人员使用。该引擎因其高度可扩展性和极小的内存占用,在游戏、移动设备应用开发等领域发挥着革命性作用。由于其无需任何人工干预即可运行的特点,在手机、电视机、游戏机、摄像头、手表、厨房用具等设备上均有出色表现,并广泛应用于温度调节器、机床工具、飞机以及远程传感器和无人机等设备上。同时,在物联网(IoT)领域也得到了广泛应用

Client/server数据库引擎被设计成在数据中心的核心位置生活。SQLite同样生活在数据中心,并且在数据网络的边缘也能自立自强地生存下来,在这种情况下为那些需要稳定连接的应用提供快速可靠的数据服务。

SQLite是一个无服务器环境下的自包含事务性SQL数据库引擎,在高度可移植性的支持下极大地推动了游戏和移动应用的开发。它不仅适用于无需任何人力支持的设备——即无需管理权限即可运行——还广泛应用于物联网(IoT)领域中各种边缘设备和网络边缘计算场景中。与之相比的是传统的客户端/服务器数据库引擎——通常部署于数据中心以保障数据传输的安全性和可靠性——而SQLite则可以在网络边缘环境中发挥作用

The benefits of integrating SQLite into IoT systems include:

  1. Enjoyable minimal memory requirements

  2. Ensures data authenticity when integrated

  3. Ensures ease of deployment without setup beforehand

  4. Has no dependencies

使用SQLite进行物联网数据的优势包括:
1)具有低内存占用特性
2)基于现实数据存储
3)无需预先配置
4)不依赖第三方库

Apache Cassandra serves as a free and open-source distributed file-based non-relational database management system, originally launched in 2008. It is designed to manage hundreds of terabytes of data across numerous commodity servers while ensuring high availability without any single point of failure.

In the realm of IoT (Internet of Things), the generation, collection, and dissemination of data across diverse networks are executed on an unparalleled scale because of the extensive number of interconnected devices. The system Cassandra excels at processing vast quantities of time-series datasets that originate from devices, users, sensors, and other existing entities situated across various geographical regions.

Apache Cassandra:自2008年以来发展至今已成为一个广受欢迎的开源分布式NoSQL数据库管理系统。它旨在利用众多服务器来处理海量数据,并始终确保系统运行稳定、无故障。在物联网时代背景下,在全球范围内成千上万的物联网设备不断涌现的同时也在生成、收集并共享着海量的数据。而Cassandra则特别擅长处理大规模的时间序列数据——这些数据直接来源于各种传感器和设备,并且通常分布在不同地理位置。

The advantages of using Apache Cassandra for IoT data include:

  1. Highly fault-tolerant, with the system demonstrating exceptional resilience to failures.
  2. Shows impressive performance capabilities.
  3. Decentralized, with all nodes within the cluster being identical.
  4. Highly scalable in nature.
  5. Persistent and reliable storage solutions.
  6. Offers the option of either synchronous or asynchronous replication for each update.
  7. Elastic, as both read and write operations execute in real-time, ensuring no downtime for any application.

Professional support mechanisms ensure the reinforcement of contracts and services, which are guaranteed by third-party providers.

使用Apache Cassandra获取物联网数据的优势包括:
1)容错能力强
2)展现高处理能力
3)分布式架构中各节点功能一致
4)具有良好的扩展性
5)可靠性高
6)您始终掌握更新操作的主动权,并可选择同步或异步复制
7)支持实时读写操作,确保系统不停机运行

全部评论 (0)

还没有任何评论哟~