一款专为单片机设计的高性能嵌入式数据库--ITTIA DB

文摘   2024-03-14 11:01   广东  

1、概 述


随着IoT(物联网)和AI(人工智能)时代的发展,运行在边缘网络上(如意法半导体公司的STM32设备)的应用程序,需要能够以高采样率吸收、处理和解释数据点。众多嵌入式系统的关键部分是MCU(微控制器),它们越来越多地负责收集、处理和管理到达并通过它们的数据,这些数据来自于传感器和其他数据点。这个过程从 STM32 这样的设备开始,制造商正在寻找创造性的方法来理解和变现他们能收集的每一比特数据。

同时,实时设备数据管理也带来了困难。为了解决这些挑战,我们设计了ITTIA DB IoT 嵌入式数据库软件,该软件允许在数据流上运行交互式查询,在传输或存储之前对数据点过滤、聚合、分割和合并。仅通过单一平台,开发人员可以从ITTIA DB IoT选择三种不同的数据引擎:流处理、时间序列数据管理或关系表数据管理。ITTIA DB IoT嵌入式数据库设计得足够小,可以运行在STM32等微控制器,并且足够灵活,可以定制。

现代嵌入式系统应用程序需要灵活地在任何时刻启动新的数据收集活动,接收正在进行的更新,或者在本地设备上查询最终结果之前终止活动。这样可以降低数据传输和数据维护的成本,同时决策所需的重要信息被优先考虑。

ITTIA DB IoT中包含了扩展边缘设备及其数据工作负载的部署和管理所需的数据库功能,是专门为微控制器(如STM32)设计的,以满足在资源有限、现场部署设备中运行的数据工作负载的需求。它通过支持 HTAP 查询将轻量级时间序列数据管理和数据处理结合起来。ITTIA DB IoT 的混合事务/分析处理 (HTAP) 架构也是指在同样用于执行事务处理的数据存储上启用分析处理。

专注的ITTIA DB开发人员与意法半导体合作,为STM32设备提供了一个优质的商业级数据库平台。ITTIA DB IoT查询简化了数据的组织过程,并使得在STM32应用程序中可以直接在每个数据点的原点处进行即时分析。

我们将在本白皮书中解释ITTIA DB IoT为STM32应用所解决的问题。

2、使用案例:

在工业钻机中通过STM32流数据获取洞察

设备制造商必须设计软件以高吞吐量实时处理大量的时间序列数据。对于实时事件,设备必须以较低延迟的方式进行响应。当处理结果被捕获到本地闪存时,许多决策需要在多个线程、任务和进程中同时做出。

在工业自动化中,复杂的机器不断地生成和消耗有关一系列现实世界任务的数据。例如,工业钻孔机必须监测钻头的温度,并应用冷却液以防止过热。如果温度超过某一阈值,机器必须停止运行以保护设备。使用一段时间后,必须更换钻头,并且必须不时进行其他维护。

其中许多活动可以通过安装在工业钻机上的嵌入式软件来实现自动化。在嵌入到工业钻头中的STM32设备上,ITTIA DB IoT可用于监测钻头温度和冷却流体压力,记录重大事件,如过热,并分析存储的数据以进行预防性维护:

-在高采样速率下测量温度和压力。

-每次一次更新记录的样本值。

-以可预测的低延迟响应高温事件。

-查询事件日志中记录的数据。

3、实时数据收集活动

来自传感器和其他来源的实时数据的涌入可能导致数据拥塞,并阻碍决策所需的数据的流动。实时数据需要立即收集、处理和传输。当数据用于导航、跟踪、测量等目的时,其时效性经常出现延迟。这些数据需要利用实时数据库进行处理。

在STM32设备上实时收集和管理数据存在一些困难。为了解决这些挑战,ITTIA DB IoT支持在数据流上执行交互式查询,在传输或存储之前过滤、聚合、拆分和组合数据点。在STM32设备上运行的应用程序可以嵌入ITTIA DB IoT,并且可以灵活地在任何时刻启动新的数据收集活动,接收持续更新,或在查询活动的最终结果之前终止活动。通过这种方式,数据传输被最小化,但做出决策所需的重要信息会被优先考虑。

4、实时数据流和监控

实时分析是一个涉及在STM32设备上持续摄取、索引、分析以及传输或存储大量数据点的领域。根据预先确定的查询,数据点可以被跟踪、搜索、过滤、组合和处理。现在,借助ITTIA DB IoT,开发人员可以构建固件程序,动态地聚合、过滤、拆分实时数据并将其组合成为一系列已处理事件。这样传感器设备能够运行持续的分析、解释所有的原始数据、发现相关问题事件,并发布和保存有价值的发现。

5、数据分类与组织

数据组织和数据分类的优势是ITTIA DB IoT与STM32应用程序集成的主要价值。数据分类是根据数据的质量和特征对数据进行分组,然后分配类标签的过程,该类标签描述了匹配数据集的属性。在没有任何限制的情况下,这是现在可用于 STM32 嵌入式设备的企业系统的众所周知的过程。使用STM32设备,可以赋予非结构化原始数据重要的类别特征,并允许利益相关者从一组数据点中得出结论。

6、存储干净数据

与许多其他计算平台一样,STM32设备必须在仅存储相关的部分之前处理和过滤大量的数据。STM32数据清理涉及那些内容?数据清理是确保数据的可靠、一致和有价值的过程。

通过消除过时数据的数据保留限制,或在存储之前检测不需要的数据,STM32应用程序可以借助ITTIA DB IoT提炼数据并存储有价值的信息。拥有干净的数据有诸多好处。数据清理可降低数据传输过程中的功耗,并在将多个数据源合并为单个数据集时消除大量不需要的原始数据存储。

7、时间序列数据管理

嵌入式系统应用程序经常存储以不同速度采样的多个数据点。ITTIA DB IoT是一种嵌入式时间序列数据库,旨在存储和检索相关的时间戳—值对。因此,STM32应用程序可以成功地查询所记录数据点—传感器设备的测量值的任意组合,并检查这些数据点是如何随时间变化的。STM32应用程序能够随时监控、存储和分析实时数据,这是 ITTIA DB IoT 时间序列产品的主要优势之一。ITTIA DB IoT 针对STM32设备进行了优化,通过关联的时间—值对存储时间序列。

8、数据的完整性与可扩展性

传感器等数据点产生的数据需要设备具备更深入地理解操作和决策组件之间关系的能力。由于这些数据驱动的诊断被用来支持系统智能和决策能力,它们的完整性是至关重要的。因此,随着嵌入式系统所使用的数据对决策过程的影响越来越大,STM32设备理解数据并做出迅速、自信和准确的决策变得越来越重要。

此外,随着ML(机器学习)和AI被更频繁地用于支持决策,数据完整性变得更加重要。为了确保人工智能模型准确地反映系统预测的现实,它们必须以高质量的训练数据为基础,其推论必须有高质量的运营数据的支持。ITTIA DB IoT通过确保根据 STM32 应用程序开发人员指定的数据模型存储和处理数据来提供数据完整性。此外,ITTIA DB IoT仅在有额外资源可用时才启用数据特性和功能,为设备制造商提供了将 STM32 应用程序扩展到不同计算级别的途径。

9、使用案例:

在STM32上通过同步时间戳变量实现传感器融合

对于源自物联网的数据来说,组合来自高频数据源的数据并非易事。将每个采样值发送到云端会消耗大量的带宽成本,但在IoT设备本身上处理数据需要在 Cortex-M MPU上运行算法之前同步数据源。设计决策,例如在哪里存储数据和通信介质,将进一步限制数据处理的速率。

考虑一个吊扇,它结合了电压数据和运动传感器的数据来识别影响效率和寿命的相关性。通过以10 KHz测量电机控制的电压数据和以 40 KHz 测量加速度计的运动数据,STM32 微控制器可以实现传感器融合。在可配置的时间间隔内,ITTIA DB 的时间连接运算符组合了来自各种带时间戳的数据源的数据。结果被发送到各种算法并作为时间序列存储在 ITTIA DB 数据库文件中。

从 ITTIA DB 提取的数据可以分为数据包并通过任何介质发送,例如WiFi、BLE蓝牙、以太网或UART。或者,如果数据库文件存储在SD卡上,则可以从微控制器上拔出SD卡,直接在PC或类似系统上访问。

10、准确性、完整性、一致性和有效性

数据质量是数据集是否符合正确性、完整性和有效性标准的定量衡量标准,是利用STM32嵌入式系统进行任何数据治理活动的先决条件。系统做出最佳数据驱动决策所需的数据质量水平由 ITTIA DB IoT 提供,该数据库在设计时就考虑到了 MCU。

只有当数据的质量满足其设计用途的要求时,STM32嵌入式系统才能信任数据并使用它来做出更好的决策。尽管如此,ITTIA DB IoT 专为 STM32 设备而设计,可在不满足数据约束时帮助诊断潜在的不需要的数据。

随着制造商将自动化、人工智能和物联网整合到其运营中,数据质量、数据处理和管理正变得越来越重要。借助适用于STM32设备的ITTIA DB IoT,嵌入式系统制造商可以衡量数据集满足准确性、完整性、有效性、一致性、唯一性、及时性和适用于各种目的的标准的程度。

11、数据所有权

借助STM32现代设备,边缘生成的数据量呈指数级增长。由于这些原因,数据变得极其重要的,而且由于成本、性能和隐私等问题,在一个较远的地方处理大量数据集越来越不可行。

与其将所有原始数据移动到计算能力充足的集中位置,不如将计算移动到数据来源附近,这是更可取且可行的方式。适用于STM32设备的 ITTIA DB IoT提供边缘数据计算能力,其中包括显著降低数据成本的潜力。当数据所有权、低延迟、较小带宽消耗、离线或自主操作以及遵守取决于物理位置的监管或安全标准等品质相结合时,STM32 设备数据管理更具吸引力。

12、安全性

数据访问放大了嵌入式系统的安全挑战,因为设备必须相互连接和通信,也必须与外部世界连接通讯。这为入侵者和僵尸网络提供了进入设备并访问未受保护的数据的新机会。您可以采取哪些措施来保护设备数据?对于具有多层保护的STM32设备,除了ST在安全保证方面开发的安全措施之外,ITTIA DB IoT还包括加密和支持硬件安全层的能力。

ITTIA SDL 符合 IEC/ISO 62443 的原则。通过基于零信任原则的安全开发生命周期 (SDL) ,ITTIA 安全实践和功能为物联网边缘设备制造商提供集成的软件开发方法,使物联网边缘设备的制造商能够降低不可预测性。从产品概念到生命周期结束,ITTIA坚持安全设计开发方法,而ITTIA DB提供完整的解决方案来保护物联网设备上的数据。

13、性能和占用空间

在更靠近源头的地方处理数据可以减少流入和流出主网络的数据量,从而降低延迟并提高吞吐量。然而,性能和占用空间是任何嵌入式系统开发所面临的主要挑战,包括STM32设备。这些设备应用程序通常对数据库中存储的数据执行许多不同的任务。某些任务在并行运行时性能良好,允许长时间运行的活动(例如同步)在不首先停止正常操作的情况下完成。任务可以由具有多个线程或任务的单个应用程序执行。

适用于STM32设备的ITTIA DB IoT提供了开发灵活性,因此您可以设计数据模型、数据库模式和应用程序代码,以高性能、小占用空间解决复杂查询,并实现快速应用程序开发。ITTIA DB IoT是一个高度并发的数据库,为应用程序提供多个查询,并支持同时读取和更新数据库。

14、可负担性

对于嵌入式系统,传统的文件数据管理和免费的开源方案都是昂贵的,主要是因为定制、维护和更新需要涉及大量前期成本。制造商更愿意专注于他们自己的业务,而不是成为一个数据库公司。此外,他们希望最大限度地减少将数据管理解决方案与实时操作系统、硬件等集成的时间和麻烦。这就是他们提前投资并选择ITTIA的原因。

ITTIA DB IoT是一个专为嵌入式系统(包括STM32设备)设计的数据库,它悄无声息地嵌入系统并在系统上运行,从而在很大程度上降低了初期费用和长期费用。由于现在大量数据是在设备本地处理和维护的,云数据存储也将大大节省。在除了节省成本之外,实时数据检索还可以消除将数据从设备移动到其他系统和云的要求。

15、集成挑战

为嵌入式STM32设备开发程序时会出现一系列独特的数据挑战,包括可扩展性、实时性能保证、集成和互操作性问题等。STM32 应用经常是大型系统的一部分,例如自动化工业设备、数字手表、智能建筑设备、相机和汽车辅助设备等。

这些系统中经常出现实时操作系统、硬件、IDE、集成数据管理软件和其他组件。这些嵌入式解决方案必须在有限的内存、计算能力和能源可用性下工作,同时在计划时间范围内立即响应所有输入。

此外,嵌入式软件需要适应其操作环境的变化,因为 CPU、传感器和其他部件等硬件组件可能会随着时间的推移而发生变化。对于嵌入式软件来说,可移植性和自主性是极具挑战性的要求。主要的困难是确保每个组件都能有效地运行并相互合作。这不是一个简单的任务,制造商必须时刻谨慎选择能够与其他软件和硬件集成的数据库。

除了专门为当代嵌入式计算构建的数据平台外,ITTIA 工程师还因协助客户并让客户获得他们的知识和专长而闻名。

16、用于STM32设备的ITTIA DB IoT

ITTIA DB IoT是ITTIA DB家族中的一员,它是专门为资源有限的Cortex-M设备设计的。在单个可移植软件库中,它支持的时间序列、关系表和数据流,开发人员可以选择这些引擎的任意组合。

ITTIA DB IoT旨在为各种数据点提供实时数据处理和数据管理,包括度量标准、事件、日志等。高性能、占用空间小和适应性是ITTIA DB IoT的重要特征。

17、结 论

无论是用于监测人类健康,实时控制建筑温度,还是大幅提高机器人自主操作的能力,采用STM32设备的制造商迫切需要一套可靠的数据管理系统。通过数据管理捕获时间序列数据的需求正在变得越来越明确,因为硬件和产品要求必须满足现代边缘计算的需求。各种STM32设备都可以从嵌入式边缘数据库 ITTIA DB IoT中受益。从设计和开发开始一直持续到部署和生产,ITTIA可以帮助制造商密切聚焦在其应用,并提供ITTIA DB IoT软件和 专业知识。

立即联系我们,了解ITTIA DB IoT 如何有效解决您的 STM32 数据管理挑战。

18、免责声明

本文档中的信息仅供系统和软件实现者能够使用ITTIA产品。本协议未授予根据本文档中的信息设计或实施任何数据库管理系统软件的明示或暗示的版权许可。ITTIA 保留更改权利,恕不另行通知对此处描述的任何产品的进一步通知。

ITTIA 对其产品针对任何特定用途的适用性不做任何保证、陈述或担保,ITTIA 也不承担因应用或使用任何产品而产生的任何责任,并明确否认任何及所有责任,包括但不限于间接或间接责任 附带损害。统计和ITTIA 白皮书和数据表中提供的参数在不同的应用中可能并且确实会有所不同,并且实际性能可能会随着时间的推移而变化。

所有的操作参数都必须由客户的技术专家为每个客户的应用程序进行验证。ITTIA和ITTIA徽标是ITTIA L.L.C.的商标或注册商标在美国和其他国家。所有其他产品或服务名称均为其各自所有者的财产。

版权所有:(c)2024 ITTIA L.L.C.版权所有。本文档中提及 ITTIA 产品和服务并不意味着 ITTIA 打算在每个国家/地区提供这些产品和服务。

19、联系我们

ITTIA中国区合作伙伴——上海熠速信息技术有限公司

021-64886750

www.yisuworld.com

info@yisuworld.com

最后一个bug
一个嵌入式技术进阶公众号,定期分享C语言,C++、MCU(如stm32等)、DSP、ARM、嵌入式Linux等“独门”软件设计技巧和知识归纳总结,同时分享应用程序设计、物联网、滤波及控制算法推导和仿真设计等嵌入式硬核知识技巧!欢迎大家关注!
 最新文章