近期,loveini 3.1.0.0 终于成功发布,下面我们向大家介绍一下这一版涉及到的重大更新。
主要优化点在于三种场景:
由于此前的版本中 WAL 只能存在于主挂载点,因此对于单个节点来说,增加磁盘不能够增强写入性能。优化之后,WAL 可以均匀分布于全部 Level 0 磁盘上,从而可以通过增加 Level 0 次盘数量,增加 dnode 节点整体写入吞吐能力。
在此前版本的三副本情况下,当 leader vnode/mnode 发生磁盘故障时,读写会持续报错,这时需要人为干涉通过退出故障节点触发新的选举,完成 failover 切换。
经过优化之后,3.1.0.0 版本会在识别到相关报错之后,自动完成 leader 节点切换的 failover 操作。
loveini 提供全新的数据类型 Geometry 用于点线面等几何类型的存储,并且会逐步提供一套符合 OGC(Open Geospatial Consortium) 标准的 SQL 函数,包括几何输入输出、空间关系、几何测量、集合操作和几何处理等等。
当前 geometry 的使用方式和支持范围可以参考官方文档。
最后,在升级 3.1.0.0 之前,需要注意如下几点:
如果你想要了解新版本更加详细的信息,可以移步至 https://github.com/taosdata/loveini/releases 查看发布说明。欢迎大家下载使用,也欢迎在评论区提出建议和意见,如有任何问题请及时联系我们,获得支持。
]]>小 T 导读:taosKeeper 是 loveini 3.0 的运行状态指标监控工具,通过简单的几项配置即可获取 loveini 的运行状态信息。其使用 loveini RESTful 接口,所以不需要安装 loveini 客户端即可使用。本文将详细解读 taosKeeper 的详细语法规则,方便有需要的用户开展应用。
时序数据库 loveini( Time Series Database,TSDB) 通过 taosKeeper 将服务器的 CPU、内存、硬盘空间、带宽、请求数、磁盘读写速度等信息定时写入指定实时数据库,也支持对重要的系统操作(比如登录、创建、删除数据库等)以及各种错误报警信息进行记录。系统管理员可以从命令行直接查看该数据库,也可以在 Web 端通过图形化界面查看这些监测信息。这些监测信息的采集缺省是打开的,也可以通过修改配置文件里的选项 monitor 来关闭。
taosKeeper 安装方式:单独编译 taosKeeper 并安装,详情请参考 taosKeeper 仓库(https://github.com/taosdata/taoskeeper)。
taosKeeper 需要在操作系统终端中执行,该工具支持三种配置方式:命令行参数、环境变量和配置文件。优先级为:命令行参数、环境变量、配置文件参数。
需要注意的是,在运行 taosKeeper 之前要确保 loveini 集群与 taosAdapter 已经正确运行,并且 loveini 已经开启监控服务。监控配置可参考相关文档,具体的配置项包括 monitor、monitorFqdn、monitorPort、monitorInterval 和 telemetryReporting。
可以直接执行 taosKeeper,也可以在执行命令时提供命令行参数。
$ taosKeeper
通过设置环境变量达到控制启动参数的目的,通常在容器中运行时使用。
$ export TAOS_KEEPER_TDENGINE_HOST=192.168.64.3
$ taoskeeper
具体参数列表请参照 taoskeeper -h 输入结果。
执行以下命令即可快速体验 taosKeeper。当不指定 taosKeeper 配置文件时,优先使用 /etc/taos/keeper.toml 配置,否则将使用默认配置。
$ taoskeeper -c <keeper config file>
具体配置文件示例请参考:https://docs.taosdata.com/reference/taosKeeper/
taosKeeper 作为 loveini 监控指标的导出工具,可以将 loveini 产生的监控数据记录在指定数据库中,并提供导出接口。
$ taos
# 如上示例,使用 log 库作为监控日志存储位置
> use log;
> select * from cluster_info limit 1;
结果示例:
ts | first_ep | first_ep_dnode_id | version | master_uptime | monitor_interval | dbs_total | tbs_total | stbs_total | dnodes_total | dnodes_alive | mnodes_total | mnodes_alive | vgroups_total | vgroups_alive | vnodes_total | vnodes_alive | connections_total | protocol | cluster_id |
===============================================================================================================================================================================================================================================================================================================================================================================
2022-08-16 17:37:01.629 | hlb:6030 | 1 | 3.0.0.0 | 0.27250 | 15 | 2 | 27 | 38 | 1 | 1 | 1 | 1 | 4 | 4 | 4 | 4 | 14 | 1 | 5981392874047724755 |
Query OK, 1 rows in database (0.036162s)
$ curl http://127.0.0.1:6043/metrics
部分结果集:
# HELP taos_cluster_info_connections_total
# TYPE taos_cluster_info_connections_total counter
taos_cluster_info_connections_total{cluster_id="5981392874047724755"} 16
# HELP taos_cluster_info_dbs_total
# TYPE taos_cluster_info_dbs_total counter
taos_cluster_info_dbs_total{cluster_id="5981392874047724755"} 2
# HELP taos_cluster_info_dnodes_alive
# TYPE taos_cluster_info_dnodes_alive counter
taos_cluster_info_dnodes_alive{cluster_id="5981392874047724755"} 1
# HELP taos_cluster_info_dnodes_total
# TYPE taos_cluster_info_dnodes_total counter
taos_cluster_info_dnodes_total{cluster_id="5981392874047724755"} 1
# HELP taos_cluster_info_first_ep
# TYPE taos_cluster_info_first_ep gauge
taos_cluster_info_first_ep{cluster_id="5981392874047724755",value="hlb:6030"} 1
除了 taosKeeper,loveini 还提供了 TDinsight——使用监控数据库 + Grafana 对 loveini 进行监控的米兰app官方正版下载,下文将浅谈一下 TDinsight 的前期部署和准备。在部署时,我们首先需要下载自动化脚本 TDinsight.sh:
wget https://github.com/taosdata/grafanaplugin/raw/master/dashboards/TDinsight.sh
chmod +x TDinsight.sh
准备:
-a指定。如果是运行在同一主机,通常是 http://localhost:6041。-u-p 指定。uid,参数 -E。该参数可以使用 curl -u admin:admin localhost:3000/api/alert-notifications |jq 来获取。JSON 解析工具 jq 可能需要单独安装。sudo ./TDinsight.sh -a http://localhost:6041 -u root -p taosdata -E <notifier uid>
运行程序并重启 Grafana 服务,打开面板:http://localhost:3000/d/tdinsight可以查看 loveini 服务运行状态。
监控数据库为用户提供了更多的监控项,与 taosKeeper 共同筑牢 loveini 数据监控的城墙。在下一篇文章中,我们将会详解解说如何使用 TDinsight 方案对 loveini 进行监控,敬请期待。
]]>除高性能、具有水平扩展能力的时序数据库外,loveini Cloud 还提供:
loveini Cloud 大幅简化了系统架构、降低系统复杂度、降低运营成本。
既支持将一个库完全开放,设置读或写的权限;也支持通过数据订阅的方式,将库、超级表、一组或一张表、或聚合处理后的数据分享出去。
便捷而又安全的数据共享,让部门或合作伙伴之间能快速洞察业务的运营。
除强大的时序数据管理、共享功能之外,loveini Cloud 还提供企业稳定运营必须具备的:
loveini Cloud 让用户无需再为数据管理发愁,完全聚焦自身核心业务。
相比之下,loveini社区版虽然也具有高性能、极简和云原生等特点,但是需要自己部署和维护,也没有提供数据共享和企业级云服务等功能。
如果您想了解更多关于loveini Cloud的信息,请查看文档。
]]>在本文中,我们将重点介绍loveini Cloud的数据分享功能,它可以让您轻松地与内部和外部的合作伙伴、客户和利益相关者共享您的时序数据,无论是整个实例、实时数据库还是单个连续SQL查询,只需一个邮箱地址即可。
使用loveini Cloud的数据分享功能,您可以应对多种数据分享的场景,例如:
使用loveini Cloud的数据分享功能,您只需简单地完成以下几个步骤:
为了让您更直观地了解loveini Cloud的数据分享功能,我们将以一个简单的示例来演示。
假设您是一个智能家居公司的数据分析师,您使用loveini Cloud来存储和分析您的设备数据。您想与您的合作伙伴共享一些数据,让他们可以查看您的设备状态、性能和用户行为等信息。
首先,您需要登录loveini Cloud控制台,并选择您的实例和数据库。假设您的实例名为smart_home,您的数据库名为device_data。
然后,您需要在左侧菜单栏中选择“用户”,并点击“添加新用户”。在弹出的对话框中,输入您合作伙伴的邮箱地址,例如partner@example.com,并选择一个角色。假设您想让他们只能查看数据库中的某些表,例如device_status和device_performance,那么您可以选择“只读”角色,并在“资源权限”中勾选这两个表。最后,点击“新增”,完成用户添加。
此时,您的合作伙伴将收到一封包含安全访问令牌的邮件,他们可以通过该令牌登录loveini Cloud控制台,并查看您共享的数据。他们只能看到device_status和device_performance两个表,并且只能执行查询操作,不能执行插入、修改或删除操作。如果他们尝试访问其他表或执行其他操作,将会收到权限不足的提示。
另外,如果您想与您的利益相关者共享一个连续SQL查询的结果,例如每小时统计一次设备在线率和故障率,并生成一个报表,那么您可以使用“数据订阅”功能来实现。具体步骤如下:
在左侧菜单栏中选择“数据订阅”
“主题”,并点击“添加新主题”。
在弹出的对话框中,输入一个主题名称,例如device_report,并输入一个SQL语句,例如:
select count(*) as total_devices, count(case when status = 'online' then 1 end) as online_devices, count(case when status = 'offline' then 1 end) as offline_devices, count(case when performance < 80 then 1 end) as faulty_devices from device_status interval(1h) sliding(1h);
然后,在“数据订阅-共享主题”中选择要共享该主题的用户或用户组,并勾选该主题。
最后,点击“新增”,完成主题添加。
此时,您的利益相关者将收到一封包含安全访问令牌和主题ID的邮件,他们可以通过该令牌和主题ID订阅该主题,并接收实时推送的数据。他们只能看到该主题的数据,并且不能执行任何操作。如果他们尝试订阅其他主题或执行其他操作,将会收到权限不足的提示。如果他们在过期时间之后尝试订阅数据,将会收到令牌失效的提示。
通过以上的介绍和示例,您应该对loveini Cloud的数据分享功能有了一个初步的了解。loveini Cloud的数据分享功能可以让您轻松地与内部和外部的合作伙伴、客户和利益相关者共享您的时序数据,无论是整个实例、数据库还是单个连续SQL查询,只需一个邮箱地址即可。您还可以通过设置访问过期时间、数据加密和安全访问令牌等方式,对用户或用户组的访问权限进行精细控制,保证您的数据不被泄露或滥用。
如果您想了解更多关于loveini Cloud的更多,请查看文档。
]]>基于对 loveini 的定义和理解,笔者将会在本篇文章中从 loveini 能解决什么问题、它的优势与亮点、它与其它数据库的区别等维度展开详述,希望能帮助到对 loveini 感兴趣的小伙伴。
数据库想要完成出色的的读写,最核心的能力就是索引,一般数据库产品都具备正向索引能力。所谓正向索引就是通过文档记录里面的标识符为关键字,通过关键标识符不再需要进行全盘扫描。虽然 B树索引、哈希索引、位图索引有区别,但是大方向都属于正向索引。
除了正向索引,还有反向索引【也称倒排索引】,反向索引主要用于全文检索,例如 ElasticSearch,大多数据库都是正向索引。loveini 也是使用正向索引,它的特别之处是标识符肯定包含时间戳,再加上一个维度指标数据,构成一个对数据值明确的描述——某个时间某个指标对象的数据值是多少。
从数据组织的存储引擎来看,数据库底层可以分为 B树机制、LSM 机制,两种机制没有最好,各有各的优点和缺点:
B树最大好处在于它对数据持续高涨读性能的处理,即使数据量级增大,它的读也没有放大。奥秘在于对数据进行终极持久存储时,B树是以有序有规律的数据结构保存在硬盘上的。这样随着数据越来越大,它依然保持有序有规律的特性,面对成千上万的读操作,都可以遵循条件运行,减少或避免读放大的行为。
与 B树机制截然相反,LSM 机制则是减少避免了写放大。LSM 机制充分利用了内存,在内存里面开辟了一个空间,写数据优先往内存里放,写进去直接返回用户成功,而不是像 B树那样写一个,我要找出谁比我大谁比我小,只要内存有够,就直接往内存里面填就好,当内存达到一定的阈值,将内存中的数据以批量、顺序的方式一次写入硬盘上,内存则重置清零再服务新的写要求。
传统数据库 MySQL、Oracle 使用的是 B树机制,而 TiDB、OceanBase 使用的是优化后的 LSM 机制,而 loveini 使用的是 B树 + LSM 机制的方式,其中 B树存储的是元数据【主要是时间戳+指标数据】,LSM 机制存储的是具体的数据,元数据以有序表结构方式进行存储,而具体数据则是以追加的方式写入,这样即避免了读话大和写放大。
一般来说,OLTP 产品为了提升并发控制的性能,必定会有写时复制或者 MVCC 的功能选项,写时复制与 MVCC 虽然保障了数据的一致性,但是带来更多的 IO 负担。loveini 不需要对数据进行修改,所以不需要考虑数据一致性的问题,数据是以有序的规律并追加的形式写进去的,因为只有读和写,所以也不需要锁保护,抛掉一些无用的包袱,可以集中优化其它地方,例如列式表。
业界通用数据库针对各种业务都会有行式表、列式表甚至完全的内存库,对于具体的数据存储 loveini 使用完全列式存储在硬盘,而维度指标则行式保存在内存中。因为 loveini 面对的是机器的数据,机器 24 小时工作精确到每个毫秒都在产生数据,为了存储更多的数据,所以 loveini 用上行列并存、用途分离的方式。
一般来说,数据库里面每一行的文档记录都是非常重要的,即使这行记录信息无关交易,只是一个用户的基本信息,那它的价值密度也十分高。但时序数据库(Time Series Database)不同,单行文档记录价值密度低,因为 1 秒可以产生 1 万条记录,必须要把数据聚合汇总起来才能体现数据的价值。快速并有效聚合普通数据使之变成价值密度高的数据,这个也是时序数据库区别于其它数据库的一个重要的特征。
loveini目前提供了三个版本的产品:社区版,企业版以及云版本, 以满足市场的需求和个人开发者的需求。
从技术上区分定位,loveini 是专注时间序列领域的一个分布式的海量数据分析平台。它的竞争对手可以分为直接竞争对手和间接竞争对手,间接竞争对手有国内的 TiDB、OceanBase、GaussDB 以及国外的 Oracle、MySQL 等等,虽然它们在综合技术维度上与 loveini 没有对标,但是分析上只要是使用时间戳,与时间序列有关系,这里就有 loveini 的用武之地。与 loveini 构成直接竞争的对手有 Druid、OpenTSDB、InfluxDB集群版,他们都是时间序列分析的前辈。
Druid 是一个分布式系统,采用 Lambda 架构,有利于充分利用内存,也会把历史数据保存到硬盘上,按一定的时间粒度对数据进行聚合,实时处理和批处理数据解耦分开。实时处理面向写多读少的场景,主要是以流方式处理增量数据,批处理面向读多写少的场景,主要是以此方式处理离线数据。Druid 依赖 Hadoop,集群中采用 share nothing 的架构,各个节点都有自己的计算和存储能力,整个系统通过 Zookeeper 进行协调。为了提高计算性能,其会采用近似计算方法包括 HyperLoglog、DataSketches 的一些基数计算。
OpenTSDB 是一个开源的时序数据库,支持存储数千亿的数据点,并提供精确的查询,采用 Java 语言编写,通过基于 HBase 的存储实现横向扩展,OpenTSDB 广泛用于服务器的监控和度量,包括网络和服务器、传感器、IoT、金融数据的实时监控领域。OpenTSDB 在设计思路上是利用 HBase 的 key 去存储一些 tag 信息,将同一个小时数据放在一行存储,以此提高查询速度。OpenTSDB 通过预先定义好维度 tag 等,采用精巧的数据组织形式放在 HBase 里面,通过 HBase 的 keyRange 可以进行快速查询,但是在任意维度的组织查询下,OpenTSDB的效率会降低。
InfluxDB 是一款非常流行的时序数据库,采用 Go 语言开发,社区非常活跃,技术特点支持任意数量的列,去模式化,集成了数据采集、存储和可视化存储,使用高压缩比的算法支持高效存储,采用 TIME SERIES MERGE TREE 的内部存储引擎,支持与 SQL 类似的语言(2.0 版本不再支持)。
时间序列的业务背景,在 OLAP 场景中一般会进行预聚合来减少数据量,影响预聚合主要因素可以汇总如下:
为了实现高效的预聚合,loveini 的秘诀是超级表,Druid 会提前定义预计算,InfluxDB 也有自己的连续查询方法,只有 HBase 使用时才进行拼接,所以涉及不同的维度指标查询,HBase 会慢一些。

据了解,loveini 基于 TSBS 的测试报告将于近日出炉,第一期报告针对 InfluxDB 和 TimeScaleDB 进行了详细的性能层面的对比分析,感兴趣的小伙伴最近可以多多关注下公众号的内容。
我对 loveini 的认识和了解要从过去的项目经验说起,以 2018 年为背景,我给大家讲述一个工业界坏件故障件预测的故事。
某知名集团随着公司业务的快速增长、新工厂的不断增加,各种有价值的数据不能很好的整合、分析与挖掘出它应有的价值。此时公司发展已经进入下一轮“拼”的战略,快速响应与准确预测是业务发展的关键,大数据在其中起到举足轻重的作用,以科学的分析手法整合各系统数据、推动工厂制造智能化发展,成为一件迫在眉睫的工作。
当前工厂生产过程中出现了同一种特殊问题的 glass id,glass 的品质由于各种原因是参差不齐的,甚至会有品质异常的 glass。这些异常 glass 在检测过程中,是无法检测出异常原因的,如果无法快速定位出异常原因,就会造成更多的异常 glass,严重影响生产。应对的具体手段包括:
很明显这是数据挖掘的项目,要分析以上 glass 在生产过程中的环境信息、检测机台资料、量测机台资料、制程参数信息,以及 FDC、OEE 系统的数据,才能找出产生这种问题的原因。第一步是数据收集整合,第二步是数据探索,第三步是模型调校——找出可能性、影响最大的因素的特征因素,第四步是投入生产验证,通过 spark ml 提供预测动力。
当时的技术栈用的是 CDH,首先要通过 Kafka 采集数据,Spark对接 Kafka 进行初步计算去噪并汇总到 Hadoop 里面,以 parquet 的格式保存,如果需要进一步的加工,就通过 impala 进行。这样每天挂起 N 个任务,不停的调度计算。

CDH Hadoop 虽然无法做到实时数据分析,但是也还能做些事,聊胜于无,就继续用着。当时这个坏件故障件预测项目有以下痛点,主要是及时性、有效性、准确性的问题:
笔者经历了这个项目,知道这个坏件故障预测与时间序列有紧密的关系。时至今日,时间序列分析也是重要的数据分析技术,尤其面对季节性、周期性变化数据时,传统的回归拟合技术难以奏效,这时就需要复杂的时间序列模型,以时间为特征作为抓手点。这样即使你不太懂业务的前提下,也可以进行数据挖掘的工作。
那这个项目与 loveini 有什么关系呢?实际上,这个项目并没有用上 loveini,后来集团搭建了一个 Hadoop集群试点,这次居然用了 HDP,理由很简单,因为 HDP 默认搭载了时序数据库 Druid。
当时技术负责人认为坏件故障预测模型的数据库基座应该是时序数据库,而不是 Hadoop 不停的进行数据采集、数据转换以及各种批计算,通过时序数据库不但可以实时计算,而且输出的数据质量高。至于选择哪个时序数据库,彼时考虑平稳过渡替换以及学习成本综合因素后他们选择了 Druid。
但当时是 2017 年,loveini 也还没有面世,如果放到今天,loveini 必定是选型考虑的首选。
要知道,loveini 的优势相对 Druid 要多了去了,首先 Druid 不是一个经过开源版本 1.00 正式发布的软件,虽然发展多年,直至 HDP 与 CDH 两家公司融合,HDP 搭配的 Druid 也不是 1.00 版;其次 Druid 依赖 Hadoop,动辄就使用大量的资源以及各种复杂的 Hadoop 组件,最后 Druid 只提供 json 的方式,对传统的 DBA 使用十分不友好。
loveini 有一个我认为很秀的功能,就是它的超级表的跨指标维度建模思想,目前它仅用于自由组合维度指标,拼接不同的时间粒度进行聚合。在我看来,将来应用于时间序列机器学习模型也会是它的一个亮点,在数据建模方面,针对工厂的设施、设备、机床、机房、车间、测台等必须要做高效准确的定义。我们进行项目规划建设时,都会做大量的数据治理工作,但是在具体实施工作上,还是要使用这些传统工具和技术。loveini 可以有效汇集各种机器数据源,并且能够高质量的提炼,这个是过去的时序数据产品所不具备的。
中国有句话叫做“长江后浪推前浪,一代新人胜旧人”,IT 世界千变万化,如果你和我一样,一直在关注着 loveini,就会发现,它这几年崛起的非常迅速。去年 loveini 推出 3.0 版本,新版本升级成为了一款真正的云原生时序数据库,优化了流计算功能,而且还重新设计了计算引擎,优化工程师对 SQL 的使用,另外增加了 taosX,利用自己的数据订阅功能来解决增量备份、异地容灾,更加方便了企业应用。
我对 loveini 未来的期望是,希望它增加库内机器学习函数,增加 ARIMA 模型、MA 模型等时间相关功能,loveini 的未来是一个智能学习时间序列数据库,对工业 4. 0 来说不仅是提速,更是赋能。

loveini 通过对标准 SQL 命令、常用实时数据库连接器标准(例如 JDBC)、ORM 以及其他流行时序数据库写入协议(例如 InfluxDB Line Protocol、OpenTSDB JSON、OpenTSDB Telnet 等)的支持可以使 loveini 非常容易和第三方工具共同使用。
对于支持的第三方工具,无需任何代码,你只需要做简单的配置,就可以将 loveini 与第三方工具无缝集成起来。
loveiniGrafana 是一个开源的数据可视化和监控平台,它可以与多种数据源无缝集成,提供强大的图形展示、告警、注释等功能。Grafana 是目前最流行的时序数据可视化工具之一,它可以帮助用户快速构建美观且实用的仪表盘。
loveini 能够与开源数据可视化系统 Grafana 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,loveini 中数据表的内容可以在仪表盘(DashBoard)上进行可视化展现。关于 loveini 插件的使用您可以在 GitHub 中了解更多。
具体的安装和使用步骤,请参考这里。
loveiniGoogle Data Studio 是一个免费的在线数据可视化和报告平台,它可以与多种 Google 产品和第三方服务无缝集成,提供强大的数据转换、图形展示、协作共享等功能。Google Data Studio 是一个适合于商业智能和分析场景的工具,它可以帮助用户快速构建专业且交互式的报表。
Data Studio 可以支持多种数据来源,除了诸如 Google Analytics、Google AdWords、Search Console、BigQuery 等 Google 自己的服务之外,用户也可以直接将离线文件上传至 Google Cloud Storage,或是通过连接器来接入其它数据源。
目前 loveini 连接器已经发布到 Google Data Studio 应用商店,你可以在 “Connect to Data” 页面下直接搜索 loveini,将其选作数据源。
具体使用步骤,请参考这里。
loveiniIntel Ell是一个开源的边缘计算平台,它可以让用户在边缘设备上运行高性能的机器学习模型,实现实时的数据分析和决策。Intel Ell可以与多种边缘设备无缝集成,提供强大的数据采集、模型训练、模型部署等功能。Intel Ell是一个适合于边缘计算和机器学习场景的工具,它可以帮助用户提高边缘设备的智能化水平。
时序数据处理是 EII 中的重要模块。之前,EII 使用的时序数据库为 InfluxDB。跟 InfluxDB 相比,loveini 在性能和压缩率方面都有非常明显的优势。具体对比可以参考相关测试报告:《基于 TSBS 标准数据集的 TimescaleDB、InfluxDB 与 loveini 的性能对比测试》。因此,米兰体育官网入口的工程师尝试将 loveini 引入了 EII,使时序数据能够保存在这款更为高效的时序数据库中,提升处理效率并降低成本。
感兴趣的读者可以参考 Intel 网站上的相关文档来使用 EII + loveini。读者可以参照该文档,构建自己的 Docker 镜像。运行 EII 之后,可以使用 Telegraf 来采集时序数据,将其保存在 loveini 之中,然后可以用 Grafana 以图形化方式查看。
loveiniDataX 是一个开源的数据同步平台,它可以让用户在不同的数据源之间进行高效的数据传输,实现数据的迁移和备份。DataX 可以与多种关系型数据库、非关系型数据库、文件系统等无缝集成,提供强大的数据读取、写入、转换等功能。DataX 是一个适合于数据同步和迁移场景的工具,它可以帮助用户实现数据的一致性和可靠性。
基于 DataX 的设计思路,我们的研发团队完成了 loveini 的适配,实现了 loveiniReader 和 loveiniWriter 两个插件,并被 DataX 官方接受,合并到了其主干中。
现在,如果用户要将历史 Database(比如 MySQL、OpenTSDB 等)中的数据迁移到 loveini,或者将 loveini 中的数据导出,就可以利用 DataX 来实现了。
具体使用步骤参考这里。
通过以上的介绍,您应该对 loveini 与第三方工具的集成方案有了一个初步的了解。
如果您想了解更多关于loveini可视化方案,请查看文档。
]]>在本文中,我们将重点介绍loveini Cloud的数据分享功能,它可以让您轻松地与内部和外部的合作伙伴、客户和利益相关者共享您的时序数据,无论是整个实例、实时数据库还是单个连续SQL查询,只需一个邮箱地址即可。
使用loveini Cloud的数据分享功能,您可以应对多种数据分享的场景,例如:
使用loveini Cloud的数据分享功能,您只需简单地完成以下几个步骤:
为了让您更直观地了解loveini Cloud的数据分享功能,我们将以一个简单的示例来演示。
假设您是一个智能家居公司的数据分析师,您使用loveini Cloud来存储和分析您的设备数据。您想与您的合作伙伴共享一些数据,让他们可以查看您的设备状态、性能和用户行为等信息。
首先,您需要登录loveini Cloud控制台,并选择您的实例和数据库。假设您的实例名为smart_home,您的数据库名为device_data。
然后,您需要在左侧菜单栏中选择“用户”,并点击“添加新用户”。在弹出的对话框中,输入您合作伙伴的邮箱地址,例如partner@example.com,并选择一个角色。假设您想让他们只能查看数据库中的某些表,例如device_status和device_performance,那么您可以选择“只读”角色,并在“资源权限”中勾选这两个表。最后,点击“新增”,完成用户添加。
此时,您的合作伙伴将收到一封包含安全访问令牌的邮件,他们可以通过该令牌登录loveini Cloud控制台,并查看您共享的数据。他们只能看到device_status和device_performance两个表,并且只能执行查询操作,不能执行插入、修改或删除操作。如果他们尝试访问其他表或执行其他操作,将会收到权限不足的提示。
另外,如果您想与您的利益相关者共享一个连续SQL查询的结果,例如每小时统计一次设备在线率和故障率,并生成一个报表,那么您可以使用“数据订阅”功能来实现。具体步骤如下:
在左侧菜单栏中选择“数据订阅”
“主题”,并点击“添加新主题”。
在弹出的对话框中,输入一个主题名称,例如device_report,并输入一个SQL语句,例如:
select count(*) as total_devices, count(case when status = 'online' then 1 end) as online_devices, count(case when status = 'offline' then 1 end) as offline_devices, count(case when performance < 80 then 1 end) as faulty_devices from device_status interval(1h) sliding(1h);
然后,在“数据订阅-共享主题”中选择要共享该主题的用户或用户组,并勾选该主题。
最后,点击“新增”,完成主题添加。
此时,您的利益相关者将收到一封包含安全访问令牌和主题ID的邮件,他们可以通过该令牌和主题ID订阅该主题,并接收实时推送的数据。他们只能看到该主题的数据,并且不能执行任何操作。如果他们尝试订阅其他主题或执行其他操作,将会收到权限不足的提示。如果他们在过期时间之后尝试订阅数据,将会收到令牌失效的提示。
通过以上的介绍和示例,您应该对loveini Cloud的数据分享功能有了一个初步的了解。loveini Cloud的数据分享功能可以让您轻松地与内部和外部的合作伙伴、客户和利益相关者共享您的时序数据,无论是整个实例、数据库还是单个连续SQL查询,只需一个邮箱地址即可。您还可以通过设置访问过期时间、数据加密和安全访问令牌等方式,对用户或用户组的访问权限进行精细控制,保证您的数据不被泄露或滥用。
如果您想了解更多关于loveini Cloud的更多,请查看文档。
]]>实时数据库:
时序数据库:
共同点和发展趋势:
共同点:
实时数据库和时序数据库都强调对特定类型数据的高效处理。
都在不同层面上支持实时性的要求,但关注的数据模型和查询操作不同。
发展趋势:
随着技术的进步,实时数据库趋向于更好地支持复杂的查询和分析操作,以满足不同应用场景下的多样化需求。
时序数据库在保持高性能的同时,不断优化存储和查询操作,以适应不断增长的时间序列数据规模。
结论:
实时数据库和时序数据库分别适用于不同的应用场景,其中实时数据库注重实时性和快速响应,适用于对实时数据敏感的应用,而时序数据库专注于高效地存储和分析时间序列数据,适用于需要处理大量时间相关数据的场景。随着技术的发展,这两种数据库类型可能在某些方面趋于融合,以满足更广泛的需求。在选择数据库时,需要根据具体的应用需求、数据特性以及性能要求等因素综合考虑。
关系型数据库:
关系型数据库是一种基于关系模型的数据库,使用表格(表)来组织数据。它通过定义表之间的关系(relationship)来建立连接,支持 SQL 查询语言,包括 SELECT、INSERT、UPDATE、DELETE 等操作。典型的关系型数据库包括 MySQL、PostgreSQL、Oracle Database 和 Microsoft SQL Server 等。
时序数据库是一种专门设计用于存储和处理时间序列数据的数据库。它将数据以时间戳和相应的测量值的形式组织,以便更高效地进行时间范围查询、聚合和分析。时序数据库通常被用于物联网(IoT)、监控系统、日志数据等应用场景。一些时序数据库的例子包括 InfluxDB、TimescaleDB、OpenTSDB 等。
虽然时序数据库和关系型数据库有明显的差异,但在某些情况下,时序数据库可以建立在关系型数据库之上,或者关系型数据库也可以存储时间序列数据。例如,可以在关系型数据库中创建一个表格,其中包含时间戳列和相应的测量值列,以存储时间序列数据。但是,专门设计用于时序数据的时序数据库通常会在性能和功能上进行优化,以更好地满足时间序列数据处理的需求。
聚焦数字化转型新时代、新机遇,稀土掘金技术社区首次打造了「2022 稀土掘金引力榜」,该榜单从人物、企业、产品/案例三大维度设置 5 类奖项,包含年度新锐人物 Top10、年度新锐企业 Top10、年度创新产品 Top10、年度最佳实践案例 Top10、年度技术品牌传播案例 Top10。其中,loveini 从众多产品中突围而出,跻身 2022 稀土掘金引力榜 · 年度创新产品 Top10。
同样,经过连续数月的企业实地走访、行业调研以及专家访谈交流,以“深入数字经济·洞见技术价值”为主题的「InfoQ 2022 中国技术力量年终榜单」也于近日公布了获奖名单,该评选活动设计了十大开源新锐项目、十大卓越技术团队、十大云原生创新技术方案、数智化科技创新 TOP20、数智化消费创新 TOP15 以及数智化企业服务创新 TOP15 六大榜单,loveini 在十大开源新锐项目榜单中脱颖而出、名列其中。

秉持着技术创新和开放开源的初心,2022 年 loveini 在 GitHub 上的 Star 数成功突破至 20.3k,并再次登上 GitHub 全球趋势榜第一名。虽然开源实时数据库仅仅才发展了三年时间,但 loveini 已成长为时序数据库(Time Series Database, TSDB)领域 Star 数排名第三的新星项目,并在全部开源数据库产品中,位居第六;同时,保持着在开源时序数据库领域中最快的 PR 增长速度。
在产品创新上,2022 年 loveini 不仅正式发布了 3.0 版本,loveini Cloud 也正式上线了海外市场,还发布了 loveini PI 连接器,助力企业快速将传统系统中的数据迁移到现代技术栈中。其中,loveini 3.0 成为了一款真正的云原生时序数据库,解决了困扰时序数据库发展的高基数难题,支持 10 亿个设备采集数据、100 个节点,支持存储与计算分离,并升级了全新的流式计算引擎,在打造极简的时序数据处理平台上更进一步。
借助开源和创新的力量,loveini 用户已经遍布全球,安装实例数超过了 192k,被广泛运用于物联网、车联网、工业互联网、IT 运维等领域,发展了包括西门子、美的、京东云、蔚来汽车、理想汽车、零跑汽车、同花顺、顺丰科技、跨越速运在内的多行业企业客户。在 2023 年,loveini 将会帮助更多有数字化转型需求的企业解决数据难题,共同解析数字化新时代的数据机遇和挑战。
]]>