zoukankan      html  css  js  c++  java
  • 时序数据库InfluxDB

    在系统服务部署过后,线上运行服务的稳定性是系统好坏的重要体现,监控系统状态至关重要,经过调研了解,时序数据库influxDB在此方面表现优异。

    influxDB介绍

    时间序列数据是以时间字段为每行数据的标示,比如股票市场的价格,环境中的温度,主机的CPU使用率等。但是又有什么数据是不包含timestamp的呢?几乎所有的数据都可以打上一个timestamp字段。时间序列数据更重要的一个属性是如何去查询它。在查询的时候,对于时间序列我们总是会带上一个时间范围去过滤数据。同时查询的结果里也总是会包含timestamp字段。
    InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。
    它有三大特性:

    1. Time Series (时间序列):你可以使用与时间有关的相关函数(如最大,最小,求和等)

    2. Metrics(度量):你可以实时对大量数据进行计算

    3. Eevents(事件):它支持任意的事件数据
      特点:

    • schemaless(无结构),可以是任意数量的列

    • min, max, sum, count, mean, median 一系列函数,方便统计

    • Native HTTP API, 内置http支持,使用http读写

    • Powerful Query Language 类似sql

    操作介绍

    远程连接

    1
    influx -host xx.xx.xx.xx -port xxxx(默认8086) -username xx -password xx -database xx


    创建及使用数据库

    1
    2
    3
    create database "test"; --创建数据库
    show databases;  --查看数据库
    use test; --选取数据库


    增删改查

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    SHOW MEASUREMENTS  --查询当前数据库中含有的表
    SHOW FIELD KEYS --查看当前数据库所有表的字段
    SHOW series from pay --查看key数据
    SHOW TAG KEYS FROM "pay" --查看key中tag key值
    SHOW TAG VALUES FROM "pay" WITH KEY = "merId" --查看key中tag 指定key值对应的值
    SHOW TAG VALUES FROM cpu WITH KEY IN ("region", "host") WHERE service = 'redis'
    DROP SERIES FROM <measurement_name[,measurement_name]> WHERE <tag_key>='<tag_value>' --删除key
    SHOW CONTINUOUS QUERIES   --查看连续执行命令
    SHOW QUERIES  --查看最后执行命令
    KILL QUERY <qid> --结束命令
    SHOW RETENTION POLICIES ON mydb  --查看保留数据
    查询数据
    SELECT * FROM /.*/ LIMIT 1  --查询当前数据库下所有表的第一行记录
    select * from pay  order by time desc limit 2
    select * from  db_name."POLICIES name".measurement_name --指定查询数据库下数据保留中的表数据 POLICIES name数据保留
    删除数据
    delete from "query" --删除表所有数据,则表就不存在了
    drop MEASUREMENT "query"   --删除表(注意会把数据保留删除使用delete不会)
    DELETE FROM cpu
    DELETE FROM cpu WHERE time < '2000-01-01T00:00:00Z'
    DELETE WHERE time < '2000-01-01T00:00:00Z'
    DROP DATABASE “testDB” --删除数据库
    DROP RETENTION POLICY "dbbak" ON mydb --删除保留数据为dbbak数据
    DROP SERIES from pay where tag_key='' --删除key中的tag

    SHOW SHARDS  --查看数据存储文件
    DROP SHARD 1
    SHOW SHARD GROUPS
    SHOW SUBSCRIPTIONS


    6、数据保留命令

    查看保留期 SHOW RETENTION POLICIES ON mydb

    修改保留期 ALTER RETENTION POLICY default ON online DEFAULT

    删除保留期 DROP RETENTION POLICY <retentionpolicy> ON <database>

    创建保留期 REATE RETENTION POLICY "rp_name" ON "db_name" DURATION 30d REPLICATION 1 DEFAULT

    rp_name:策略名

    db_name:具体的数据库名

    30d:保存30天,30天之前的数据将被删除

    它具有各种时间参数,比如:h(小时),w(星期)m minutes h hours d days w weeks INF infinite

    REPLICATION 1:副本个数,这里填1就可以了

    DEFAULT设为默认的策略


    目前,我们已经influxdb+grafana应用到数据库监控、Kafka数据流监控、服务页面数据统计监控等,炫酷的页面给你不一样的体验,试试吧!

    关注微信公众号:正版乔,和我一起探索日常的编程乐趣~

    推荐阅读:




    一个学统计的程序员

    喜欢Coding

    喜欢硬件

    喜欢树莓派

    喜欢深度学习

    喜欢你



  • 相关阅读:
    hdu6229 Wandering Robots 2017沈阳区域赛M题 思维加map
    hdu6223 Infinite Fraction Path 2017沈阳区域赛G题 bfs加剪枝(好题)
    hdu6438 Buy and Resell 买卖物品 ccpc网络赛 贪心
    hdu6441 Find Integer 求勾股数 费马大定理
    bzoj 1176 Mokia
    luogu 3415 祭坛
    bzoj 1010 玩具装箱
    bzoj 3312 No Change
    luogu 3383【模板】线性筛素数
    bzoj 1067 降雨量
  • 原文地址:https://www.cnblogs.com/qiaohaoforever/p/10252952.html
Copyright © 2011-2022 走看看