物联网时序数据存储方案:Apache IoTDB 集群部署全流程 + TimechoDB 优势解读

物联网时序数据存储方案:Apache IoTDB 集群部署全流程 + TimechoDB 优势解读

物联网时序数据存储方案:Apache IoTDB 集群部署全流程 + TimechoDB 优势解读

文章目录

在这里插入图片描述

Apache IoTDB 介绍

在这里插入图片描述
Apache IoTDB 专为物联网场景打造的高性能轻量级时序数据库,以 “设备 - 测点” 原生数据模型贴合物理设备与传感器关系,通过高压缩算法、百万级并发写入能力和毫秒级查询响应优化海量时序数据存储成本与处理效率,同时支持边缘轻量部署、云端集群扩展及边缘 - 云端协同,为工业物联网、智能城市、车联网等场景提供全生命周期的数据存储、查询与分析解决方案

物联网原生优化:采用 “设备 - 测点” 数据模型,完美映射物理设备与传感器关系,配合标签机制支持多维度分析,贴合物联网实际业务场景

极致性能表现:通过特殊编码算法实现 10:1~20:1 的高压缩率,同时支持每秒数百万条数据的并发写入和毫秒级时序查询响应,平衡存储成本与处理效率

全场景部署能力:轻量设计可运行于边缘设备,分布式架构支持云端集群扩展,兼容边缘 - 云端协同存储,适配从边缘到云端的全场景物联网部署需求

集群版部署指导

在这里插入图片描述
手动部署包括3个ConfigNode和3个DataNode的实例,即通常所说的3C3D集群
1、设置主机名
3台机器上分别配置主机名,设置主机名需要在目标服务器上配置/etc/hosts,使用如下命令参数配置
2、环境脚本配置
./conf/confignode-env.sh配置./conf/datanode-env.sh配置通用设置

打开通用配置文件./conf/iotdb-system.properties,可根据部署方式设置以下参数:ConfigNode 配置

打开ConfigNode配置文件./conf/iotdb-system.properties,设置以下参数DataNode 配置

打开DataNode配置文件 ./conf/iotdb-system.properties,设置以下参数:
配置项说明默认值推荐值备注
MEMORY_SIZEIoTDB DataNode节点可以使用的内存总量可按需填写,填写后系统会根据填写的数值来分配内存修改后保存即可,无需执行;重启服务后生效
配置项说明默认值推荐值备注
MEMORY_SIZEIoTDB ConfigNode节点可以使用的内存总量可按需填写,填写后系统会根据填写的数值来分配内存修改后保存即可,无需执行;重启服务后生效

3、启动ConfigNode节点

先启动第一个iotdb-1的confignode, 保证种子confignode节点先启动,然后依次启动第2和第3个confignode节点启动 DataNode 节点

分别进入iotdb的sbin目录下,依次启动3个datanode节点:
3、激活数据库
进入集群任一节点 CLI,执行获取机器码的语句执行以下内容获取激活所需机器码:系统将自动返回集群所有节点的机器码

4、验证激活

在 CLI 中通过执行 show activation 命令查看激活状态,示例如下,状态显示为 ACTIVATED 表示激活成功
4、配置项
confignode_address_listdatanode_address_listssh_accountssh_portconfignode_deploy_pathdatanode_deploy_path
5、节点维护步骤
ConfigNode节点维护分为ConfigNode添加和移除两种操作,有两个常见使用场景:集群扩展:如集群中只有1个ConfigNode时,希望增加ConfigNode以提升ConfigNode节点高可用性,则可以添加2个ConfigNode,使得集群中有3个ConfigNode。集群故障恢复:1个ConfigNode所在机器发生故障,使得该ConfigNode无法正常运行,此时可以移除该ConfigNode,然后添加一个新的ConfigNode进入集群。
添加ConfigNode节点首先通过CLI连接集群,通过show confignodes确认想要移除ConfigNode的NodeID:然后使用SQL将ConfigNode移除,SQL命令:

5、DataNode节点维护

集群扩容:出于集群能力扩容等目的,添加新的DataNode进入集群集群故障恢复:一个DataNode所在机器出现故障,使得该DataNode无法正常运行,此时可以移除该DataNode,并添加新的DataNode进入集群
添加DataNode节点移除DataNode节点

首先通过CLI连接集群,通过show datanodes确认想要移除的DataNode的NodeID:

TimechoDB(based on Apache IoTDB)

在这里插入图片描述
TimechoDB 国产自研高性能时序数据库,核心团队源于清华大学,自主研发积累深厚,多项发明专利与顶会论文为技术支撑,通过工信部信创测评,适配信创生态,性能经 TPx - IoT 国际榜单验证达国际领先水平 ,成本把控上大幅降低存储与运维成本,借助云边协同节省网络带宽、接收端 CPU 等资源;原厂团队提供企业级技术支持与可视化工具,提升使用便捷性;超 40 项国产 CPU、OS 兼容认证,集成多类大数据系统,构建稳定全流程方案,助力各行业高效运用时序数据

端边云数据协同:支持设备端、边缘、云端数据高效流转,适配多场景部署,实现数据分层处理与协同管理

性能无瓶颈:高并发写入(百万级设备)、低延迟查询,经存储与编码优化,平衡读写性能与成本

智能 AI 分析:内置时序大模型(本地微调 / 推理),配 70 + 时序 UDF 函数,覆盖数据处理到智能分析全流程

稳定安全:分布式架构保障高可用,结合权限、加密机制,满足工业场景数据安全与业务连续性需求

运维便捷:可视化工具 + 简化部署,支持集群监控、故障诊断,降低工业环境运维门槛

总结

在这里插入图片描述
本文聚焦物联网时序数据存储需求,先解析 Apache IoTDB 的核心优势 ——“设备 - 测点” 模型、10:1~20:1 压缩率、百万级并发写入与全场景部署能力,再以 “3C3D” 架构为核心,详解其从主机配置、环境脚本设置、节点启动到激活验证的集群部署全流程及节点维护操作,最后介绍基于 Apache IoTDB 的国产 TimechoDB,其在信创适配、智能 AI 分析、端边云协同与运维便捷性上的增强优势,为不同需求场景提供时序数据管理解决方案。

Read more

Flutter for OpenHarmony:zxing2 纯 Dart 条码扫描与生成库(不仅是扫码,更是编解码引擎) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:zxing2 纯 Dart 条码扫描与生成库(不仅是扫码,更是编解码引擎) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 扫码(QR Code / Barcode)是现代移动应用最基础的入口之一。 在 Flutter 生态中,很多扫码库依赖原生的 Google ML Kit 或 iOS AVFoundation。这在 Android/iOS 上表现很好,但移植到 OpenHarmony 时,往往因为缺乏对应的鸿蒙原生插件支持而卡壳。 zxing2 是一个基于经典 Java ZXing 库移植的 Pure Dart 实现。它不依赖摄像头的原生预览流(它只负责图像数据的算法处理),也不依赖特定的 OS API。 这使得它成为 OpenHarmony 早期生态中实现扫码功能的救命稻草,或者作为特定场景下(如生成二维码、后台解析图片二维码)的轻量级方案。 一、

By Ne0inhk
Flutter for OpenHarmony:Flutter 三方库 jnigen — 自动化打通 Flutter 与原生代码的通信壁垒(适配鸿蒙 HarmonyOS Next ohos)

Flutter for OpenHarmony:Flutter 三方库 jnigen — 自动化打通 Flutter 与原生代码的通信壁垒(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net。 Flutter for OpenHarmony:Flutter 三方库 jnigen — 自动化打通 Flutter 与原生代码的通信壁垒(适配鸿蒙 HarmonyOS Next ohos) 前言 在进行 Flutter for OpenHarmony 开发时,我们经常会面临这样的尴尬境地:Flutter 侧提供了完美的 UI 体验,但某些核心能力(如硬件传感器驱动、系统级加密、高性能图像算法等)却隐藏在原生的 C++ 或 Java(针对早期鸿蒙版本/兼容层)逻辑中。 传统的 MethodChannel 虽然能解决问题,但手写大量的双端映射代码不仅效率低下,且极易出错。今天,我们将探讨一个能让原生交互进入“自动化时代”的利器 —— jnigen。

By Ne0inhk

Ubuntu 22.04 服务器安装教程(二)——桌面版系统

Ubuntu 22.04桌面版系统安装 * 1 下载映像文件 * 2 安装虚拟机 * 3 在虚拟机中安装系统 * 4 SSH连接服务器 本次安装在 VMware Workstation 上,关于虚拟机的安装,可以看这篇文章。 1 下载映像文件 去Ubuntu官网下载 22.04 的桌面版映像文件 这里下载的是种子文件,种子下载后,再用迅雷下载映像文件(后缀名为ios)。 Ubuntu 22.04 桌面版大概4.4G,下载完成后可以安装了。 2 安装虚拟机 在左边空白位置右击,然后点击“新建虚拟机”: 虚拟机向导中,我们选择“典型”,然后下一步: 接下来是根据映像文件安装系统,这里需要找到我们刚刚下载的映像文件: 接下来是填写全名、用户名和密码(为了方便记忆,这里密码直接用a): 接下来选择安装位置,我的本地电脑C盘足够大,

By Ne0inhk
鸿蒙金融理财全栈项目——生态合作、用户运营、数据变现优化

鸿蒙金融理财全栈项目——生态合作、用户运营、数据变现优化

《鸿蒙APP开发从入门到精通》第24篇:鸿蒙金融理财全栈项目——生态合作、用户运营、数据变现优化 🚀🤝📈 内容承接与核心价值 这是《鸿蒙APP开发从入门到精通》的第24篇——生态合作、用户运营、数据变现优化篇,100%承接第23篇的性能优化、安全加固优化、合规审计优化架构,并基于金融场景的生态合作、用户运营、数据变现优化要求,设计并实现鸿蒙金融理财全栈项目的生态合作、用户运营、数据变现优化功能。 学习目标: * 掌握鸿蒙金融理财项目的生态合作设计与实现; * 实现生态合作协议、生态合作接口、生态合作数据; * 理解用户运营优化在金融场景的核心设计与实现; * 实现用户分群优化、用户画像优化、用户留存优化; * 掌握数据变现优化在金融场景的设计与实现; * 实现广告变现优化、付费变现优化、数据产品变现优化; * 优化金融理财项目的用户体验(生态合作、用户运营、数据变现优化)。 学习重点: * 鸿蒙金融理财项目的生态合作设计原则; * 用户运营优化在金融场景的应用; * 数据变现优化在金融场景的设计要点。 一、 生态合作基础 🎯 1.1 生态

By Ne0inhk