gpt4 book ai didi

database - 如何找到时间序列数据的最新项目?

转载 作者:行者123 更新时间:2023-12-03 02:10:35 28 4
gpt4 key购买 nike

例如,有时间序列数据,例如根分区利用率。数据结构如下:

name: root_disk_utilizatoin
ip: 1.1.1.1
timestamp: 1234567890
value: 0.5
实际数据将更加复杂,但这足以说明我的问题。
我们有数百万台服务器每隔几分钟报告一次此数据。数据将存储在一些中央存储中,例如时间序列db,mysql或elasticsearch
我的期望是找到每个服务器的最新数据。
为了获得中央存储,需要

ip 的
  • 组数据
  • 按时间戳对数据排序并返回最新的

  • 我想这将是一个非常昂贵的过程(花费大量时间)。那么您在系统中是否有类似的要求?您如何设计?

    最佳答案

    You can use a combination of terms aggregation with maxaggregation


    添加带有索引数据,搜索查询和搜索结果的工作示例
    索引数据:
    {
    "name": "root_disk_utilizatoin",
    "ip": "1.1.1.2",
    "timestamp": 1234567891,
    "value": 0.5
    }
    {
    "name": "root_disk_utilizatoin",
    "ip": "1.1.1.1",
    "timestamp": 1234567890,
    "value": 0.5
    }
    搜索查询:
        {
    "size":0,
    "aggs": {
    "unique_id": {
    "terms": {
    "field": "ip.keyword",
    "order": {
    "latestOrder": "desc"
    },
    "size":1
    },
    "aggs": {
    "latestOrder": {
    "max": {
    "field": "timestamp"
    }
    }
    }
    }
    }
    }
    搜索结果:
    "aggregations": {
    "unique_id": {
    "doc_count_error_upper_bound": 0,
    "sum_other_doc_count": 1,
    "buckets": [
    {
    "key": "1.1.1.2",
    "doc_count": 1,
    "latestOrder": {
    "value": 1.234567891E9
    }
    }
    ]
    }

    关于database - 如何找到时间序列数据的最新项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64762507/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com