使用InfluxDB

[复制链接]
970|8
 楼主| keer_zu 发表于 2020-10-21 10:54 | 显示全部楼层 |阅读模式
本帖最后由 keer_zu 于 2020-10-21 11:14 编辑
  1. InfluxDB v1.8.3
  2. OS X (via Homebrew)

  3. brew update
  4. brew install influxdb

  5. Docker Image

  6. docker pull influxdb

  7. Ubuntu & Debian

  8. SHA256: 1e993dae42c7ab9801081ad0e35b79aa10ef061d6cc7544617feb27a463e8b05

  9. wget https://dl.influxdata.com/influxdb/releases/influxdb_1.8.3_amd64.deb
  10. sudo dpkg -i influxdb_1.8.3_amd64.deb

  11. RedHat & CentOS

  12. SHA256: d8ff307f87009f9e7d97cadf58f147290a63064b4c2ce6f14c81d979b6dabdd9

  13. wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3.x86_64.rpm
  14. sudo yum localinstall influxdb-1.8.3.x86_64.rpm

  15. Mac OS X

  16. SHA256: f1ef0ec891bb084aca83f165475f9ba6ae1e1ab6829ecf69e6c8eb2a49f17b43

  17. https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3_darwin_amd64.tar.gz
  18. tar zxvf influxdb-1.8.3_darwin_amd64.tar.gz

  19. Windows Binaries (64-bit)

  20. SHA256: 24f2be79656176d04e95b614deaeee8d5d66043a1d5e58723fd8c3a2bd029ce2

  21. https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3_windows_amd64.zip
  22. unzip influxdb-1.8.3_windows_amd64.zip

  23. Linux Binaries (64-bit)

  24. SHA256: 392f39a669875b2978b43c79272fa83b28f13ac668b5aa873a66a04b8adc1e5f

  25. wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3_linux_amd64.tar.gz
  26. tar xvfz influxdb-1.8.3_linux_amd64.tar.gz

  27. Linux Binaries (64-bit, static)

  28. SHA256: 6ab85388426bb3bec5e7091e6fb1f8ccc10bbdecff34c50e8d580a56d0310bf2

  29. wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3-static_linux_amd64.tar.gz
  30. tar xvfz influxdb-1.8.3-static_linux_amd64.tar.gz

  31. Linux Binaries (32-bit)

  32. SHA256: 7c389b7155ab76c1deebab1a52184c6098e4b57ea40eeb286358ada287c9cdd6

  33. wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3_linux_i386.tar.gz
  34. tar xvfz influxdb-1.8.3_linux_i386.tar.gz

  35. Linux Binaries (ARM)

  36. SHA256: 5a5b64a8c05636cdf64b283951eaaac01680bad19b6d7a7a54c9d90b36f8156d

  37. wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3_linux_armhf.tar.gz
  38. tar xvfz influxdb-1.8.3_linux_armhf.tar.gz


这里只考虑windows下的安装

使用迅雷下载:
  1. https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3_windows_amd64.zip
解压:
502635f8fa697b8551.png



这个数据库是用来做什么的?



influxdb是目前比较流行的时间序列数据库。
    1. 何谓时间序列数据库?

    2. 什么是时间序列数据库,最简单的定义就是数据格式里包含Timestamp字段的数据,比如某一时间环境的温度,CPU的使用率等。但是,有什么数据不包含Timestamp呢?几乎所有的数据其实都可以打上一个Timestamp字段。时间序列数据的更重要的一个属性是如何去查询它,包括数据的过滤,计算等等。

Influxdb
Influxdb是一个开源的分布式时序、时间和指标数据库,使用go语言编写,无需外部依赖。

  1. 它有三大特性:
  2. 时序性(Time Series):与时间相关的函数的灵活使用(诸如最大、最小、求和等);
  3. 度量(Metrics):对实时大量数据进行计算;
  4. 事件(Event):支持任意的事件数据,换句话说,任意事件的数据我们都可以做操作。

同时,它有以下几大特点:

  1. schemaless(无结构),可以是任意数量的列;
  2. min, max, sum, count, mean, median 一系列函数,方便统计;
  3. Native HTTP API, 内置http支持,使用http读写;
  4. Powerful Query Language 类似sql;
  5. Built-in Explorer 自带管理工具。





评论

@21ic小管家 原创直播帖,求编辑推荐  发表于 2020-10-21 11:33
 楼主| keer_zu 发表于 2020-10-21 11:33 | 显示全部楼层
好了,开始运行数据库:

970595f8fab65443c2.png


再打开一个窗口运行客户端程序:

311225f8fab9f04369.png

数据库到位了。
接下来是使用自己的程序来做增删改查,这里要使用golang

ok,接下来继续。


 楼主| keer_zu 发表于 2020-10-21 11:45 | 显示全部楼层
一个golang实例:

  1. package main

  2. import (
  3.         "fmt"
  4.         "github.com/influxdata/influxdb/client/v2"
  5.         "log"
  6.         "time"
  7. )

  8. const (
  9.         MyDB     = "test"
  10.         username = "admin"
  11.         password = ""
  12. )

  13. func main() {
  14.         conn, err := client.NewHTTPClient(client.HTTPConfig{
  15.                 Addr:     "http://127.0.0.1:8086",
  16.                 Username: username,
  17.                 Password: password,
  18.         })

  19.         if err != nil {
  20.                 log.Fatal(err)
  21.         }
  22.         fmt.Println(conn)

  23.         bp, err := client.NewBatchPoints(client.BatchPointsConfig{
  24.                 Database:  MyDB,
  25.                 Precision: "s",
  26.         })

  27.         if err != nil {
  28.                 log.Fatal(err)
  29.         }

  30.         tags := map[string]string{"name": "xc"}
  31.         fields := map[string]interface{}{
  32.                 "id":   1,
  33.                 "sex":  1,
  34.                 "pass": 0707,
  35.         }

  36.         pt, err := client.NewPoint("myuser", tags, fields, time.Now())
  37.         if err != nil {
  38.                 log.Fatal(err)
  39.         }
  40.         bp.AddPoint(pt)

  41.         if err := conn.Write(bp); err != nil {
  42.                 log.Fatal(err)
  43.         }
  44. }


创建go mod

880615f8fada8cea39.png

运行:

205865f8fadef28640.png


提示数据库不存在


使用客户端创建数据库:
238475f8faec332914.png

再次运行程序:
171675f8faef27b210.png

icecut 发表于 2020-10-21 17:39 | 显示全部楼层
我在用golang写wasm, 已经可以前后端通吃了
 楼主| keer_zu 发表于 2020-10-21 17:50 | 显示全部楼层
icecut 发表于 2020-10-21 17:39
我在用golang写wasm, 已经可以前后端通吃了

科普一下wasm吧
顺便分享一下你的心得
icecut 发表于 2020-10-22 13:09 | 显示全部楼层
keer_zu 发表于 2020-10-21 17:50
科普一下wasm吧
顺便分享一下你的心得

就是一个可代替js的字节码,浏览器可以执行. 我研究的结果是这个东西现在坑比较少了.
 楼主| keer_zu 发表于 2020-10-22 15:27 | 显示全部楼层
icecut 发表于 2020-10-22 13:09
就是一个可代替js的字节码,浏览器可以执行. 我研究的结果是这个东西现在坑比较少了. ...

真的是前后端通吃了,不过现在还没有成为主流做法吧。要不golang要上天了
icecut 发表于 2020-10-22 20:40 | 显示全部楼层
keer_zu 发表于 2020-10-22 15:27
真的是前后端通吃了,不过现在还没有成为主流做法吧。要不golang要上天了 ...

现在就是编译出来比较大. 不过做企业应用还是比较好用的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1488

主题

12952

帖子

55

粉丝
快速回复 在线客服 返回列表 返回顶部