V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
Livid
V2EX  ›  奇思妙想

最近打算做的一个关于 Time Series DB 的试验

  •  
  •   Livid · 2018-04-23 13:43:25 +08:00 · 5058 次点击
    这是一个创建于 1050 天前的主题,其中的信息可能已经有所发展或是发生改变。

    把 DNSCrypt-Proxy 的 TSV 格式的 query.log 用 Python 解析之后,同时插入到下面 4 个数据库中:

    • MySQL InnoDB
    • InfluxDB
    • TimescaleDB
    • ElasticSearch

    然后用 Flask 做一个统计各种 DNS 查询的前端(比如每天最多的 10 个域名 / 10 个客户端,及各种流量图之类),然后对比这 4 个数据库在这类 time series 的实际应用场景中到底能有多大的区别。

    p.s.


    估计这类问题也是这里很多同学每天正在经历的痛点,所以我就先把想法分享出来了。

    21 条回复    2018-05-14 20:11:03 +08:00
    wph95
        1
    wph95   2018-04-23 13:57:55 +08:00   ❤️ 2
    可以加上一个 prometheus 试试(虽然和 influxDB 当前的设计思想基本一致)
    实际应用场景可以定义一下, 是写多读少?每分钟写多少量,每分钟查多少量。
    Livid
        2
    Livid   V2EX Moderator   2018-04-23 13:58:55 +08:00 via Android
    @wph95 实际应用场景,我主要是想看看谁的聚合查询是最快的。
    hst001
        3
    hst001   2018-04-23 14:22:38 +08:00 via Android
    战略性 mark
    freeznet
        4
    freeznet   2018-04-23 14:25:40 +08:00
    必须 mark~!
    xupefei
        5
    xupefei   2018-04-23 14:28:07 +08:00 via Android
    比较 SQL 和 NoSQL,schema 和 schema-free 需要特别设计数据,因为设计不好的数据直接会造成不平等的比较。Time series benchmarking 在学术界也是个很新的领域,鲜有研究。
    给你一篇参考:ftp://ftp.informatik.uni-stuttgart.de/pub/library/medoc.ustuttgart_fi/DIP-3729/DIP-3729.pdf
    mlhorizon
        6
    mlhorizon   2018-04-23 17:12:20 +08:00
    Mark,坐等结果
    bysslord
        7
    bysslord   2018-04-23 18:09:20 +08:00 via iPhone
    最近也在折腾 influxdb,mark
    jy01264313
        8
    jy01264313   2018-04-23 19:31:52 +08:00
    再加一个 graphite 吧
    bomb77
        9
    bomb77   2018-04-23 19:47:22 +08:00
    期待结果,我先投 influxdb 一票,不知道结果会不会让人惊讶
    sun2920989
        10
    sun2920989   2018-04-23 19:50:50 +08:00
    等着看看
    ninion
        11
    ninion   2018-04-23 19:53:39 +08:00
    同在折腾 influxdb 求问有没有国内用户群
    rrfeng
        12
    rrfeng   2018-04-23 20:44:33 +08:00   ❤️ 1
    每条都入还是单位时间后统计再入?这个差别很大的。另外只有 MySQL 和 ElasticSearch 并没有 time series 的属性。

    1. MySQL 必然倒数(少量数据情况下可能胜出),但是需要没有可以配合的前端。
    2. ElasticSearch 配 Kibana 不需要前端可以快速出图。
    3. InfluxDB 和 TimescaleDB 在非定量场景(一个 series 单位时间内条数一定)会出现什么反应确实很好奇。
    4. 可以直接用 Grafana 统一出图,不需要 flask 自己写了。

    ES 的区别在于存全量数据(原始日志直接录入),分析可以选择任意字段。Influxdb 通常只用来存聚合后的统计数据……如果也把全量塞进去的话,需要将字段拆成很多很多的 tag,可能会影响查询效率。
    Livid
        13
    Livid   V2EX Moderator   2018-04-24 07:34:00 +08:00
    之前 Hacker News 上关于 InfluxDB 和 TimescaleDB 的这个讨论很有料:

    https://news.ycombinator.com/item?id=16539317
    xuanyuanaosheng
        14
    xuanyuanaosheng   2018-04-24 08:27:42 +08:00 via Android
    持续关注
    widewing
        15
    widewing   2018-04-24 08:55:18 +08:00 via Android
    我用 OpenTSDB 是不是显得比较 out...
    freestyle
        16
    freestyle   2018-04-24 09:25:45 +08:00 via iPhone
    mark
    rrfeng
        17
    rrfeng   2018-04-24 10:42:41 +08:00 via Android
    @widewing
    open tsdb 可能还是目前最多用的。
    crystom
        18
    crystom   2018-04-25 14:19:39 +08:00
    不知道做游戏日志存储哪个好
    Kabie
        19
    Kabie   2018-04-27 17:41:03 +08:00
    最近还看到了一个略有不同的东西……
    https://github.com/pipelinedb/pipelinedb
    lambdaT
        20
    lambdaT   2018-05-05 21:17:17 +08:00 via iPhone
    mark
    capthy
        21
    capthy   2018-05-14 20:11:03 +08:00
    influxdb 配合 grafana 做前端很不错
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3283 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 12:20 · PVG 20:20 · LAX 04:20 · JFK 07:20
    ♥ Do have faith in what you're doing.