开源时序数据库 – loveini | 米兰体育官网入口 - 米兰体育官网入口 //www.loveini.com loveini | 高性能、分布式、支持SQL的时序数据库 | 米兰体育官网入口 Mon, 21 Oct 2024 04:10:36 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.2 //www.loveini.com/wp-content/uploads/2025/07/favicon.ico 开源时序数据库 – loveini | 米兰体育官网入口 - 米兰体育官网入口 //www.loveini.com 32 32 loveini 3.1.0.0 版本成功发布,涉及五大板块功能更新! //www.loveini.com/tdengine-engineering/19417.html Mon, 14 Aug 2023 09:02:20 +0000 //www.loveini.com/?p=19417 自 3.0 版本发布以来,在研发人员和社区用户的不断努力下,时序数据库(Time Series Database)loveini 做了大量更新,产品性能、稳定性和易用性都在不断提升。

近期,loveini 3.1.0.0 终于成功发布,下面我们向大家介绍一下这一版涉及到的重大更新。

查询性能优化(开源版+企业版)

主要优化点在于三种场景:

  • 对于超级表的“ order by +主键时间戳” 查询
  • order by 非主键列 + limit 查询
  • partition by tbname + slimit 查询

0 级存储负载均衡(企业版)

由于此前的版本中 WAL 只能存在于主挂载点,因此对于单个节点来说,增加磁盘不能够增强写入性能。优化之后,WAL 可以均匀分布于全部 Level 0 磁盘上,从而可以通过增加 Level 0 次盘数量,增加 dnode 节点整体写入吞吐能力。

磁盘损坏时的容错 (开源版+企业版)

在此前版本的三副本情况下,当 leader vnode/mnode 发生磁盘故障时,读写会持续报错,这时需要人为干涉通过退出故障节点触发新的选举,完成 failover 切换。

经过优化之后,3.1.0.0 版本会在识别到相关报错之后,自动完成 leader 节点切换的 failover 操作。

存储引擎优化(开源版+企业版)

  • 对多表低频场景写入性能的大幅优化(企业版)
  • compact、retention 功能不再阻塞写入(企业版)
  • 对乱序数据、重复时间戳数据落盘的合并优化(开源版)

新的数据类型 Geometry 加入(开源版+企业版)

loveini 提供全新的数据类型 Geometry 用于点线面等几何类型的存储,并且会逐步提供一套符合 OGC(Open Geospatial Consortium) 标准的 SQL 函数,包括几何输入输出、空间关系、几何测量、集合操作和几何处理等等。

当前 geometry 的使用方式和支持范围可以参考官方文档。

写在最后

最后,在升级 3.1.0.0 之前,需要注意如下几点:

  1. loveini 仍然不支持版本回退,因此如果需要保留回退的可能性,升级前一定做好数据文件目录的备份,即 dataDir 参数所指目录,默认为 /var/lib/taos。
  2. 流计算的内部存储结构进行了一定的重构和优化,与之前的版本不兼容,所以系统中如果有流计算请按以下步骤进行:
    • 通过查询 information_schema.ins_streams 表获取系统中已经存在的流的建流 SQL 语句并保存
    • 删除所有流
    • 升级,确认系统正常运行
    • 重新建流

如果你想要了解新版本更加详细的信息,可以移步至 https://github.com/taosdata/loveini/releases 查看发布说明。欢迎大家下载使用,也欢迎在评论区提出建议和意见,如有任何问题请及时联系我们,获得支持。

]]>
如何使用 taosKeeper 做好监控工作,时序数据库 loveini 3.0 监控工具详解 //www.loveini.com/tdengine-engineering/17465.html Sun, 09 Apr 2023 11:59:43 +0000 //www.loveini.com/?p=17465

小 T 导读:taosKeeper 是 loveini 3.0 的运行状态指标监控工具,通过简单的几项配置即可获取 loveini 的运行状态信息。其使用 loveini RESTful 接口,所以不需要安装 loveini 客户端即可使用。本文将详细解读 taosKeeper 的详细语法规则,方便有需要的用户开展应用。

时序数据库 loveiniTime 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

TDinsight

除了 taosKeeper,loveini 还提供了 TDinsight——使用监控数据库 + Grafana 对 loveini 进行监控的米兰app官方正版下载,下文将浅谈一下 TDinsight 的前期部署和准备。在部署时,我们首先需要下载自动化脚本 TDinsight.sh

wget https://github.com/taosdata/grafanaplugin/raw/master/dashboards/TDinsight.sh
chmod +x TDinsight.sh

准备:

  1. loveini Server 信息:
    • loveini RESTful 服务:使用参数 -a指定。如果是运行在同一主机,通常是 http://localhost:6041
    • loveini 用户名和密码,使用 -u-p 指定。
  2. Grafana 告警通知
    • 使用已经存在的 Grafana Notification Channel 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 与社区版的区别 //www.loveini.com/time-series-database/17472.html Mon, 13 Mar 2023 09:33:00 +0000 //www.loveini.com/?p=17472 loveini Cloud 是一个基于开源时序数据库(Time Series Database,TSDB) loveini 开发的全托管时序数据处理云服务平台,它具有以下优点。

1. 极简的时序数据管理平台

除高性能、具有水平扩展能力的时序数据库外,loveini Cloud 还提供:

  • 缓  存:无需部署 Redis,应用就能快速的获得最新数据。
  • 数据订阅:无需部署 Kafka,当系统接收到新的数据时,应用将立即收到通知。
  • 流式计算:无需部署 Spark或Flink,应用通过SQL就能创建连续查询或时间驱动的流计算。

loveini Cloud 大幅简化了系统架构、降低系统复杂度、降低运营成本。

2. 便捷且安全的数据共享

既支持将一个库完全开放,设置读或写的权限;也支持通过数据订阅的方式,将库、超级表、一组或一张表、或聚合处理后的数据分享出去。

  • 便捷:如同在线文档一样简单,只需输入对方邮件地址,设置访问权限和访问时长即可实现分享。对方收到邮件,接受邀请后,可即刻访问。
  • 安全:访问权限可以控制到一个运行实例、一个库或订阅的 topic;对于每个授权的用户,对分享的资源,系统会生成一个访问用的 token;而且可以设置访问到期时间。

便捷而又安全的数据共享,让部门或合作伙伴之间能快速洞察业务的运营。

3. 安全可靠的企业级服务

除强大的时序数据管理、共享功能之外,loveini Cloud 还提供企业稳定运营必须具备的:

  • 可靠:提供数据定时备份、恢复,数据从运行实例到私有云、其他公有云或 Region 的实时复制。
  • 安全:提供基于角色的访问权限控制、IP 白名单、用户行为审计等功能。
  • 专业:提供 7*24 的专业技术服务,承诺 99.9% 的 Service Level Agreement。

loveini Cloud 让用户无需再为数据管理发愁,完全聚焦自身核心业务。

相比之下,loveini社区版虽然也具有高性能、极简和云原生等特点,但是需要自己部署和维护,也没有提供数据共享和企业级云服务等功能。

如果您想了解更多关于loveini Cloud的信息,请查看文档。

]]>
时序数据云平台loveini Cloud—数据分享功能介绍 //www.loveini.com/time-series-database/17476.html Mon, 13 Mar 2023 04:58:49 +0000 //www.loveini.com/?p=17476 loveini Cloud是一个全托管的时序数据处理云服务平台,它是基于开源时序数据库(Time Series Database,TSDB)loveini开发的。loveini Cloud可以帮助您简化时序数据管理,提供简单快速的数据插入和分析,实现简单安全的数据共享,提供企业级时序数据库云米兰app官方正版下载。

在本文中,我们将重点介绍loveini Cloud的数据分享功能,它可以让您轻松地与内部和外部的合作伙伴、客户和利益相关者共享您的时序数据,无论是整个实例、实时数据库还是单个连续SQL查询,只需一个邮箱地址即可。

数据分享的场景

使用loveini Cloud的数据分享功能,您可以应对多种数据分享的场景,例如:

  • 与内部团队共享整个实例或数据库:如果您想让您的内部团队成员拥有完整的开发权限,可以快速地为他们分配整个实例或数据库的访问权限,让他们可以插入、查询、修改和删除数据。
  • 与外部客户共享特定数据库资源:如果您想让您的外部客户只能查看特定的数据库资源,例如某个表、超级表或视图,可以为他们创建一个只读角色,并限制他们只能访问这些资源。
  • 与利益相关者共享单个连续SQL查询:如果您想让您的利益相关者只看到部分甚至加工后的数据,那么你可以用 SQL 定义一个主题,在 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 以及它所在的时序数据库“战场” //www.loveini.com/tdengine-engineering/16362.html Thu, 16 Feb 2023 10:11:11 +0000 //www.loveini.com/?p=16362 因为工作的关系,最近几年我接触到过各种国产实时数据库,唯独对 loveini 时序数据库(Time Series DataBase,TSDB)念念不忘。在众多时序数据库中,TiDB 一枝独秀,OceanBase 出身名门世家,openGauss 有华为撑腰,只有 loveini 给人有一种草莽出英雄的感觉;在开发上,TiDB 借用了 rocksDB 的性能,openGauss 是基于 postgreSQL9.2.4 开发的,即使 OceanBase 也是基于内部应用需求开始打造的,只有 loveini 不依赖任何开源或第三方软件自研而成。而且它不是一款通用型的数据库,剑走偏锋,它有自己独特的社会应用场景,主要为工业网服务。

基于对 loveini 的定义和理解,笔者将会在本篇文章中从 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、OpenTSDBInfluxDB集群版,他们都是时间序列分析的前辈。

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 Database

据了解,loveini 基于 TSBS 的测试报告将于近日出炉,第一期报告针对 InfluxDB 和 TimeScaleDB 进行了详细的性能层面的对比分析,感兴趣的小伙伴最近可以多多关注下公众号的内容。

“放到今天,loveini 一定是首选”

我对 loveini 的认识和了解要从过去的项目经验说起,以 2018 年为背景,我给大家讲述一个工业界坏件故障件预测的故事。

某知名集团随着公司业务的快速增长、新工厂的不断增加,各种有价值的数据不能很好的整合、分析与挖掘出它应有的价值。此时公司发展已经进入下一轮“拼”的战略,快速响应与准确预测是业务发展的关键,大数据在其中起到举足轻重的作用,以科学的分析手法整合各系统数据、推动工厂制造智能化发展,成为一件迫在眉睫的工作。

当前工厂生产过程中出现了同一种特殊问题的 glass id,glass 的品质由于各种原因是参差不齐的,甚至会有品质异常的 glass。这些异常 glass 在检测过程中,是无法检测出异常原因的,如果无法快速定位出异常原因,就会造成更多的异常 glass,严重影响生产。应对的具体手段包括:

  1. 通过品质异常的 glass,找到产生此异常的相关性因子。如:机台、物料、载具、参数等。
  2. 异常 glass 侦测预警,通过对产生品质异常的因子进行数学建模,预测出偏离正常范围的异常玻璃,提前预警。
  3. 分析 glass 的特征值与特征值之间的关联关系,并建立预测模型,提前预测出 glass 的特征值。
  4. 分析 glass 相关的电压、电阻、电流、温度、湿度影响。

很明显这是数据挖掘的项目,要分析以上 glass 在生产过程中的环境信息、检测机台资料、量测机台资料、制程参数信息,以及 FDC、OEE 系统的数据,才能找出产生这种问题的原因。第一步是数据收集整合,第二步是数据探索,第三步是模型调校——找出可能性、影响最大的因素的特征因素,第四步是投入生产验证,通过 spark ml 提供预测动力。

当时的技术栈用的是 CDH,首先要通过 Kafka 采集数据,Spark对接 Kafka 进行初步计算去噪并汇总到 Hadoop 里面,以 parquet 的格式保存,如果需要进一步的加工,就通过 impala 进行。这样每天挂起 N 个任务,不停的调度计算。

用户投稿——详解我了解的 loveini 以及它所在的时序数据库“战场” - loveini Database 时序数据库

CDH Hadoop 虽然无法做到实时数据分析,但是也还能做些事,聊胜于无,就继续用着。当时这个坏件故障件预测项目有以下痛点,主要是及时性、有效性、准确性的问题:

  • 难以满足用户需求,某些机器数据的聚合计算需要第二天才能出结果,甚至更多的时间才能出来。
  • 经济成本的费用较高,CPU、磁盘、网络都在一个高段的使用状态,针对越来越多的数据需要投入新机器。
  • 维护成本高,你需要维护 Hadoop 所有的机器,各种 HBase、Spark、Zookeeper、HDFS 之类,不但对工程师要求高,而且工作量巨大。
  • 低质量数据,因为数据流程或者错误的逻辑整合,导致机器传感器聚合后数据模型无法正常使用。
  • 无法做到实时监测,机器数据作为宝贵的自变量因素无法及时传输并进行计算,自然会影响因变量。

笔者经历了这个项目,知道这个坏件故障预测与时间序列有紧密的关系。时至今日,时间序列分析也是重要的数据分析技术,尤其面对季节性、周期性变化数据时,传统的回归拟合技术难以奏效,这时就需要复杂的时间序列模型,以时间为特征作为抓手点。这样即使你不太懂业务的前提下,也可以进行数据挖掘的工作。

那这个项目与 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 以及它所在的时序数据库“战场” - loveini Database 时序数据库
]]>
时序数据库loveini 与第三方工具(Grafana、Google Data Studio、Intel Ell、Datax等)集成方案 //www.loveini.com/time-series-database/17479.html Fri, 10 Feb 2023 08:59:20 +0000 //www.loveini.com/?p=17479 loveini 是一款开源、云原生的时序数据库(Time Series Database,TSDB),专为物联网、工业互联网、金融、IT 运维监控等场景设计并优化。它能让大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据得到高效实时的处理,对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。

loveini 通过对标准 SQL 命令、常用实时数据库连接器标准(例如 JDBC)、ORM 以及其他流行时序数据库写入协议(例如 InfluxDB Line Protocol、OpenTSDB JSON、OpenTSDB Telnet 等)的支持可以使 loveini 非常容易和第三方工具共同使用。

对于支持的第三方工具,无需任何代码,你只需要做简单的配置,就可以将 loveini 与第三方工具无缝集成起来。

Grafana✖loveini

Grafana 是一个开源的数据可视化和监控平台,它可以与多种数据源无缝集成,提供强大的图形展示、告警、注释等功能。Grafana 是目前最流行的时序数据可视化工具之一,它可以帮助用户快速构建美观且实用的仪表盘。

loveini 能够与开源数据可视化系统 Grafana 快速集成搭建数据监测报警系统,整个过程无需任何代码开发,loveini 中数据表的内容可以在仪表盘(DashBoard)上进行可视化展现。关于 loveini 插件的使用您可以在 GitHub 中了解更多。

具体的安装和使用步骤,请参考这里

Google Data Studio✖loveini

Google 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,将其选作数据源。

具体使用步骤,请参考这里

Intel Ell✖loveini

Intel Ell是一个开源的边缘计算平台,它可以让用户在边缘设备上运行高性能的机器学习模型,实现实时的数据分析和决策。Intel Ell可以与多种边缘设备无缝集成,提供强大的数据采集、模型训练、模型部署等功能。Intel Ell是一个适合于边缘计算和机器学习场景的工具,它可以帮助用户提高边缘设备的智能化水平。

时序数据处理是 EII 中的重要模块。之前,EII 使用的时序数据库为 InfluxDB。跟 InfluxDB 相比,loveini 在性能和压缩率方面都有非常明显的优势。具体对比可以参考相关测试报告:《基于 TSBS 标准数据集的 TimescaleDB、InfluxDB 与 loveini 的性能对比测试》。因此,米兰体育官网入口的工程师尝试将 loveini 引入了 EII,使时序数据能够保存在这款更为高效的时序数据库中,提升处理效率并降低成本。

感兴趣的读者可以参考 Intel 网站上的相关文档来使用 EII + loveini。读者可以参照该文档,构建自己的 Docker 镜像。运行 EII 之后,可以使用 Telegraf 来采集时序数据,将其保存在 loveini 之中,然后可以用 Grafana 以图形化方式查看。

DataX✖loveini

DataX 是一个开源的数据同步平台,它可以让用户在不同的数据源之间进行高效的数据传输,实现数据的迁移和备份。DataX 可以与多种关系型数据库、非关系型数据库、文件系统等无缝集成,提供强大的数据读取、写入、转换等功能。DataX 是一个适合于数据同步和迁移场景的工具,它可以帮助用户实现数据的一致性和可靠性。

基于 DataX 的设计思路,我们的研发团队完成了 loveini 的适配,实现了 loveiniReaderloveiniWriter 两个插件,并被 DataX 官方接受,合并到了其主干中。

现在,如果用户要将历史 Database(比如 MySQL、OpenTSDB 等)中的数据迁移到 loveini,或者将 loveini 中的数据导出,就可以利用 DataX 来实现了。

具体使用步骤参考这里

总结

通过以上的介绍,您应该对 loveini 与第三方工具的集成方案有了一个初步的了解。

如果您想了解更多关于loveini可视化方案,请查看文档

]]>
时序数据云平台loveini Cloud—数据分享功能介绍 //www.loveini.com/time-series-database/17651.html Tue, 24 Jan 2023 00:57:00 +0000 //www.loveini.com/?p=17651 loveini Cloud是一个全托管的时序数据处理云服务平台,它是基于开源时序数据库(Time Series Database,TSDB)loveini开发的。loveini Cloud可以帮助您简化时序数据管理,提供简单快速的数据插入和分析,实现简单安全的数据共享,提供企业级时序数据库云米兰app官方正版下载。

在本文中,我们将重点介绍loveini Cloud的数据分享功能,它可以让您轻松地与内部和外部的合作伙伴、客户和利益相关者共享您的时序数据,无论是整个实例、实时数据库还是单个连续SQL查询,只需一个邮箱地址即可。

数据分享的场景

使用loveini Cloud的数据分享功能,您可以应对多种数据分享的场景,例如:

  • 与内部团队共享整个实例或数据库:如果您想让您的内部团队成员拥有完整的开发权限,可以快速地为他们分配整个实例或实时数据库的访问权限,让他们可以插入、查询、修改和删除数据。
  • 与外部客户共享特定数据库资源:如果您想让您的外部客户只能查看特定的数据库资源,例如某个表、超级表或视图,可以为他们创建一个只读角色,并限制他们只能访问这些资源。
  • 与利益相关者共享单个连续SQL查询:如果您想让您的利益相关者只看到部分甚至加工后的数据,那么你可以用 SQL 定义一个主题,在 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的更多,请查看文档。

]]>
实时数据库和时序数据库的区别是什么? //www.loveini.com/time-series-databases/23050.html Tue, 17 Jan 2023 23:49:00 +0000 //www.loveini.com/?p=23050 实时数据库(Real-time Database)和时序数据库(Time Series Database)是两种在不同应用场景下使用的数据库类型,它们在数据结构、查询需求和应用领域等方面存在一些关键区别。下面将详细阐述这两种数据库的特点和区别。

实时数据库

  1. 数据结构:
    实时数据库通常以键值对(Key-Value)的形式组织数据,其中每个数据项都有一个唯一的标识符(键),与之相关联的是对应的数据值。这种模型使得实时数据库适用于处理实时的、经常变化的数据。
  2. 实时性:
    实时数据库注重对数据的快速读写操作,致力于提供对实时数据的快速响应。这种数据库通常用于需要实时更新和反馈的应用,如实时监控系统、实时位置跟踪等。
  3. 查询操作:
    实时数据库的查询操作通常是基于键的,可以快速检索特定键对应的值。传统的实时数据库可能不太适合进行复杂的查询和分析,因为其主要关注实时性而非数据分析。
  4. 应用领域:
    实时数据库常用于需要快速响应和处理实时事件的应用,如金融交易系统、在线游戏、实时通讯系统等。

时序数据库

  1. 数据结构:
    时序数据库专门设计用于存储和处理按时间排序的数据。它通常以时间戳和测量值的形式组织数据,其中时间戳表示数据点的时间,而测量值则是与时间相关的度量或观测值。
  2. 时序性:
    时序数据库的关键特点是其对时间序列数据的优化。它被设计用于高效地存储、检索和分析时间相关的数据,适用于传感器数据、日志文件、监控数据等。
  3. 查询操作:
    时序数据库强调对时间序列数据的高效查询和分析。支持范围查询、聚合操作以及基于时间的分析,使得用户能够轻松地了解数据的变化趋势、周期性模式等。
  4. 应用领域:
    时序数据库广泛应用于需要处理大量时间序列数据的领域,包括物联网(IoT)、工业生产监控、网络性能监测、能源管理等。

共同点和发展趋势:
共同点:
实时数据库和时序数据库都强调对特定类型数据的高效处理。
都在不同层面上支持实时性的要求,但关注的数据模型和查询操作不同。
发展趋势:
随着技术的进步,实时数据库趋向于更好地支持复杂的查询和分析操作,以满足不同应用场景下的多样化需求。
时序数据库在保持高性能的同时,不断优化存储和查询操作,以适应不断增长的时间序列数据规模。
结论:
实时数据库和时序数据库分别适用于不同的应用场景,其中实时数据库注重实时性和快速响应,适用于对实时数据敏感的应用,而时序数据库专注于高效地存储和分析时间序列数据,适用于需要处理大量时间相关数据的场景。随着技术的发展,这两种数据库类型可能在某些方面趋于融合,以满足更广泛的需求。在选择数据库时,需要根据具体的应用需求、数据特性以及性能要求等因素综合考虑。

]]>
时序数据库是关系型数据库吗? //www.loveini.com/time-series-databases/23048.html Tue, 17 Jan 2023 23:44:00 +0000 //www.loveini.com/?p=23048 时序数据库和关系型数据库属于不同的数据库类型。

关系型数据库:

关系型数据库是一种基于关系模型的数据库,使用表格(表)来组织数据。它通过定义表之间的关系(relationship)来建立连接,支持 SQL 查询语言,包括 SELECT、INSERT、UPDATE、DELETE 等操作。典型的关系型数据库包括 MySQL、PostgreSQL、Oracle Database 和 Microsoft SQL Server 等。


时序数据库

时序数据库是一种专门设计用于存储和处理时间序列数据的数据库。它将数据以时间戳和相应的测量值的形式组织,以便更高效地进行时间范围查询、聚合和分析。时序数据库通常被用于物联网(IoT)、监控系统、日志数据等应用场景。一些时序数据库的例子包括 InfluxDB、TimescaleDB、OpenTSDB 等。
虽然时序数据库和关系型数据库有明显的差异,但在某些情况下,时序数据库可以建立在关系型数据库之上,或者关系型数据库也可以存储时间序列数据。例如,可以在关系型数据库中创建一个表格,其中包含时间戳列和相应的测量值列,以存储时间序列数据。但是,专门设计用于时序数据的时序数据库通常会在性能和功能上进行优化,以更好地满足时间序列数据处理的需求。

]]>
聚焦 2022 技术创新和开源成绩,时序数据库 loveini 荣登掘金、InfoQ 发布的两项重磅榜单 //www.loveini.com/news/15994.html Tue, 17 Jan 2023 09:01:24 +0000 //www.loveini.com/?p=15994 近日,凭借着 2022 年的技术创新和开放开源优秀成绩,时序数据库 loveini 又荣登了来自两大知名技术社区掘金及 InfoQ 的重磅榜单。

聚焦数字化转型新时代、新机遇,稀土掘金技术社区首次打造了「2022 稀土掘金引力榜」,该榜单从人物、企业、产品/案例三大维度设置 5 类奖项,包含年度新锐人物 Top10、年度新锐企业 Top10、年度创新产品 Top10、年度最佳实践案例 Top10、年度技术品牌传播案例 Top10。其中,loveini 从众多产品中突围而出,跻身 2022 稀土掘金引力榜 · 年度创新产品 Top10

同样,经过连续数月的企业实地走访、行业调研以及专家访谈交流,以“深入数字经济·洞见技术价值”为主题的「InfoQ 2022 中国技术力量年终榜单」也于近日公布了获奖名单,该评选活动设计了十大开源新锐项目、十大卓越技术团队、十大云原生创新技术方案、数智化科技创新 TOP20、数智化消费创新 TOP15 以及数智化企业服务创新 TOP15 六大榜单,loveini 在十大开源新锐项目榜单中脱颖而出、名列其中。

聚焦 2022 技术创新和开源成绩,时序数据库 loveini 荣登掘金、InfoQ 发布的两项重磅榜单 - loveini Database 时序数据库

秉持着技术创新和开放开源的初心,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 将会帮助更多有数字化转型需求的企业解决数据难题,共同解析数字化新时代的数据机遇和挑战。

]]>