时序数据库Machbase「建议收藏」

时序数据库Machbase「建议收藏」Background最近偶然接触到Machbase,发现相关信息很少,于是自己做了一些简单的了解,这里记录下,方便有兴趣的童靴参考哈。1、官方介绍Machbase是韩国的一家公司开发的一款类似InfluxDB、DolphinDB、TDengine等时序数据库产品,不开源,不过单机fog版可以免费试用,具体可以参考官方网站:https://www.machbase.com/product/edge;但是国外的网站访问不便,这里给个下载的链接,想试用的可以下载:下载链接:https://pan.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Background

最近偶然接触到Machbase,发现相关信息很少,于是自己做了一些简单的了解,这里记录下,方便有兴趣的童靴参考哈。

在这里插入图片描述

1、官方介绍

Machbase是韩国的一家公司开发的一款类似InfluxDB、DolphinDB、TDengine等时序数据库产品,不开源,不过单机fog版可以免费试用,具体可以参考官方网站:https://www.machbase.com/product/edge;但是国外的网站访问不便,这里给个下载的链接,想试用的可以下载:
下载链接:https://pan.baidu.com/s/1W1gYCVYKHDrU4BYwVmPO7g
提取码:king

Machbase 是一个针对工业物联网优化的超快时序数据库管理系统,提供数据合并和监控功能。 此外,它可以有效地构建边缘计算环境。Machbase Edge Edition 旨在即使嵌入在资源有限的小型设备中也具有高速处理性能。通过嵌入众多小型设备中的边缘版,可以通过收集和处理生产现场产生的所有数据来构建完美的边缘计算基础设施。Machbase Edge Edition 是边缘计算的最佳解决方案。
在这里插入图片描述
在这里插入图片描述

2、数据库版本

  • Machbase 支持 Edge、Fog、Cluster 三种模式,满足物联网基础设施不同位置的数据存储与分析需求。
  • Edge Edition 定位是边缘计算,相当于数据采集的客户端,数据采集协议可以定制开发,开发语言go;
  • Fog Edition 是单机版,用来存储和分析边缘设备产生的数据,通常运行与 Linux 或者 Windows 服务器
  • Cluster Edition 是分布式高可用架构,主要解决 Fog Edition 在高可用和横向扩展能力上的不足。

在这里插入图片描述

3、表类型

  • 根据数据存储位置主要分为内存型和磁盘型。
  • 基于磁盘存储的又分为log tabletag table,全内存存储的分为lookup tablevolatile table
  • log table与传统关系模型区别不大,操作方式也比较类似,这里不作详细介绍;lookup tablevolatile table均为全内存存储,实际应用场景会比较受限,本文也不展开介绍。这里主要介绍下为存储传感器数据定制开发的tag tabletag table的抽象与 TDEngine 非常类似,只是表达方式上有所不同。

在这里插入图片描述
在这里插入图片描述

  • volatile table
    在这里插入图片描述

  • lookup table
    在这里插入图片描述

  • log table
    在这里插入图片描述

  • tag table
    在这里插入图片描述

4、Tag Table

  • 以下均为实测记录,没有操作文档等相关资料(官方网站的打不开),都是一点点摸索的,错漏之处,敬请斧正。
  • 这里从拿到tar包开始,记录的比较详细哈。
  • 4.1、上传tar包并解压
[root@elephant resources]# pwd
/root/resources
[root@elephant resources]# mkdir /opt/machbase-fog-6.5.8
[root@elephant resources]# ll machbase-fog-6.5.8.official-LINUX-X86-64-release.tgz
-rw-r--r-- 1 root root 170421210 Jun 10 10:44 machbase-fog-6.5.8.official-LINUX-X86-64-release.tgz
[root@elephant resources]# tar zxf machbase-fog-6.5.8.official-LINUX-X86-64-release.tgz -C /opt/machbase-fog-6.5.8
[root@elephant resources]# cd /opt/machbase-fog-6.5.8/
[root@elephant machbase-fog-6.5.8]# ll
total 17
drwxrwxr-x  5  503  503   64 May 20 13:24 3rd-party
drwxrwxr-x  2  503  503 4096 Jun 10 11:49 bin
drwxrwxr-x  6  503  503  174 May 20 13:24 collector
drwxrwxr-x  2  503  503  231 Jun 10 13:24 conf
drwxrwxr-x  6  503  503  189 Jun 17 09:34 dbs
drwxrwxr-x  3  503  503   22 May 20 13:24 doc
drwxrwxr-x  4  503  503   30 May 20 13:24 http
drwxrwxr-x  2  503  503   96 May 20 13:24 include
drwxrwxr-x  2  503  503   29 Jun 10 11:19 install
drwxrwxr-x  2  503  503  277 May 20 13:24 lib
drwxrwxr-x  2  503  503    6 May 20 13:24 meta
drwxrwxr-x  2  503  503    6 May 20 13:24 package
drwxrwxr-x 12  503  503  140 May 20 13:24 sample
drwxrwxr-x  2  503  503 4096 Jun 17 02:53 trc
drwxrwxr-x 11  503  503  177 May 20 13:24 tutorials
drwxrwxr-x  2  503  503   39 Jun 10 11:41 utility
drwxrwxr-x  3  503  503   19 May 20 13:24 webadmin
# 配置环境变量
export MACHBASE_HOME=/opt/machbase-fog-6.5.8
export PATH=$MACHBASE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MACHBASE_HOME/lib:$LD_LIBRARY_PATH
  • 4.2、启动Machbase serverWebServer
[root@elephant machbase-fog-6.5.8]# ulimit -n 65535
[root@elephant machbase-fog-6.5.8]# ./bin/machadmin -c
[root@elephant machbase-fog-6.5.8]# ./bin/machadmin -u
[root@elephant machbase-fog-6.5.8]# ./bin/MWAserver start

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ps:我配了环境变量,所以可以直接使用命令。

  • 4.3、webcli
  • 如果上步启动成功,则可以访问web界面和进入sql cli。
  • 默认系统用户和密码【sys:manager】
  • sys用户可以看到所有表,包括其他用户创建的表,但不能操作其他用户创建的表。
  • 新创建的用户不能创建tag table,只能看到自己的表。

在这里插入图片描述

  • 登录后界面【admin/machbase】
    在这里插入图片描述

在这里插入图片描述

  • 4.4、表空间

创建表空间,可以指定数据存储在不同的磁盘位置。

在这里插入图片描述
在这里插入图片描述

  • 4.5、【tag table】表DDL,创建、查看表结构、删除
  1. 创建时间挺慢的,不过使用时这个表就创建一次;
  2. metadata相当于influxdb中的tag;
  3. tag table 为存储传感器数据定制,只能创建一个,必须包含 Tag name(ID),Input time(TIME)、Sensor value(DATA) 三个列,并且是指定的类型,还可以额外创建其他列。时间精度支持纳秒级存储。
  • Tag name : PRIMARY KEY
  • Input time : BASETIME
  • Sensor value : SUMMARIZED

在这里插入图片描述

  • 4.6、【tag table】数据操作,插入、查询、删除
  1. tag table 不支持根据主键(targetId)进行删除,只有lookup和volatile table 才支持;
  2. 仅支持按时间批量删除。

在这里插入图片描述

  • 4.7、数据导入、导出
  1. tag table 数据存储时,完全相同的一条记录可以重复存储,这点和其他时序数据库差别很大;
  2. tag table 导入数据时,必须先创建表;而log table可以直接导入,表不存在则直接创建,不过字段类型默认都时varchar;
  3. 测试了log table 导入7百万条记录的速度,七八个字段,不预先建表须18秒,预先建表指定字段类型则须23秒,数据导入导出速度大约37.2万条/秒。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

5、数据可视化展示

  • 数据的可视化包括两部分:web analytics 和 tag analyzer
  • 登录进去可以对数据进行可视化展示,tag analyzer界面应该是基于grafana。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6、支持的数据类型

machbase与inflxudb不同,需要预先创建表并指定各字段类型。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186066.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lofter限流怎么解决_高并发限流

    lofter限流怎么解决_高并发限流前言:学习本篇博客是有一些前提基础的1、熟悉gateway网关使用2、熟悉nginx使用3、熟悉sentinel的应用,会涉及网关规则持久化改造看不懂的童鞋们可以补一下微服务gateway网关和Sentinel相关知识秒杀链路兜底方案之限流&降级实战一、秒杀场景介绍1.1秒杀场景的特点1.2流量消峰1.3兜底方案二、限流实战2.1nginx限流(https://nginx.org/en/docs)2.2网关限流2.2.1网关接入sentinel控制台2.2.2Sentinel

    2022年10月6日
    2
  • spring任务调度scheduled_golang 任务调度

    spring任务调度scheduled_golang 任务调度1、任务调度接口TaskScheduler提供了多种方法来调度将来某个时间点要运行的任务。2、触发器Trigger实现PeriodicTrigger和CronTrigger。3、@Scheduled注解创建定时任务4、@Async注解异步方法执行,value属性指定任务执行器。5、task:scheduler、task:executor创建调度器和执行器…

    2022年10月11日
    3
  • 操作系统:银行家算法(C语言代码)详解

    操作系统:银行家算法(C语言代码)详解银行家算法流程图:银行家算法自然语言描述:设Requesti是进程Pi的请求向量,如果Requesti[j]=K,表示进程Pi需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:(1)如果Requesti[j]≤Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。(2)如果Requesti[j]≤Available[j],便转向步骤3;否则,表示尚无足够资源,Pi须等待。(3)系统试探着把资源分配给进程Pi,并修改下面数据..

    2022年6月13日
    29
  • mysql curdate current_date_utildate转sqldate

    mysql curdate current_date_utildate转sqldateMysql常用函数的汇总,可看下面文章https://www.cnblogs.com/poloyy/p/12890763.htmlcurdate的作用以字符串或数字形式使用该函数, 

    2022年8月6日
    7
  • JDK环境变量配置(win10)[通俗易懂]

    JDK环境变量配置(win10)[通俗易懂]前言对于每一位做Java开发人员来说,JDK是必须要安装的,安装好JDK,其实并没有结束,一般情况下还需要配置JDK的环境变量,给大家介绍一下如何在Win10下配置JDK,并检测是否配置成功。步骤使用Windows图标+R,快速打开“运行”操作界面,并输入cmd,回车确认。在命令行输入java–version;如果能显示java的版本信息,则表示不需要配置,下面的步骤也不需要了。打开系统环境变量配置的页面。具体操作是:打开开始菜单,找到“此电脑”,然后右键“更多”→“属性”。在弹出的页面,

    2022年7月21日
    12
  • RadioButton实现多选一

    RadioButton实现多选一

    2022年3月5日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号