V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Keyes
V2EX  ›  Go 编程语言

大神们可否有轻量级单机时序数据库推荐? Go 优先

  •  
  •   Keyes · 2018-05-07 09:43:55 +08:00 · 4104 次点击
    这是一个创建于 2393 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做一个单机数据收集的工具,有几个需求:

    1. 时序
    2. 有数据过期机制,或循环写入
    3. 类似 SQLite 一样的轻量级库

    看了下 RRD 的 Go 绑定,貌似有平台依赖,InfluxDB 有些重了,打点数据量大概每秒 5~8 个左右,大神们是否有更好的家伙推荐?

    16 条回复    2018-07-03 11:21:47 +08:00
    fuxiaohei
        1
    fuxiaohei  
       2018-05-07 09:47:52 +08:00   ❤️ 1
    influxdb 吧,没啥重度啊,很简单的东西,不过耗内存
    Keyes
        2
    Keyes  
    OP
       2018-05-07 09:54:13 +08:00
    @fuxiaohei 因为是一个通用型 Agent,可能会放在非自己产品部管辖的产品中,开一个单独的 DB 服务出来,别人会比较排斥
    mkeith
        3
    mkeith  
       2018-05-07 10:16:06 +08:00   ❤️ 1
    boltdb
    mingqing
        4
    mingqing  
       2018-05-07 11:18:43 +08:00   ❤️ 1
    influxdb 2 年了,很好用,使用恰当就很稳定
    Keyes
        5
    Keyes  
    OP
       2018-05-07 11:20:13 +08:00
    @mkeith boltdb 有内置的数据过期策略吗?
    znood
        6
    znood  
       2018-05-07 12:25:56 +08:00 via iPhone   ❤️ 1
    @Keyes etcd 是用这个吧
    leopardwei
        7
    leopardwei  
       2018-05-07 12:31:53 +08:00   ❤️ 1
    普罗米修斯( prometheus ),主页 https://prometheus.io
    janxin
        8
    janxin  
       2018-05-07 12:51:59 +08:00   ❤️ 1
    @Keyes 写入到自己能管辖的 DB 里不就好了?
    cloverstd
        9
    cloverstd  
       2018-05-07 13:06:27 +08:00   ❤️ 1
    @leopardwei #7 这个只是个监控平台
    fuxiaohei
        10
    fuxiaohei  
       2018-05-07 13:09:46 +08:00   ❤️ 1
    badger 简单的 kv,有 ttl 机制
    Keyes
        11
    Keyes  
    OP
       2018-05-07 15:44:56 +08:00
    @janxin 给人家上一个 agent 已经很反感了,为了这个 agent 再上个 db 服务,这项目回做死的(TvT)
    leopardwei
        12
    leopardwei  
       2018-05-07 15:54:19 +08:00   ❤️ 1
    @cloverstd 监控平台的数据源就是一个典型 time series database 的应用场景,prometheus 主要应用在监控报警场景,包括 influxdb 也是,但 promethues 本身是一个 tsdb。著名的 grafana 监控展示软件的数据源默认是 influxdb,现在也支持 prometheus 了。
    ensonmj
        13
    ensonmj  
       2018-05-08 16:58:57 +08:00   ❤️ 1
    @leopardwei prometheus 对需要自己设置 timestamp 的场景不支持
    leopardwei
        14
    leopardwei  
       2018-05-08 21:09:44 +08:00
    @ensonmj 仅供参考,那就看看别的吧
    yyl719133368
        15
    yyl719133368  
       2018-07-03 11:13:06 +08:00
    我推荐 badger
    优点:
    - 轻量不需要部署
    - 备份数据拷贝即可
    - 性能怪兽(比 boltdb 强太多)
    - SSD 有优化

    缺点:
    - 不支持集群
    - 不支持多个应用同时读写
    - 不支持时序

    我觉得时序的话可以通过 prefix 来控制,实现起来也比较简单
    yyl719133368
        16
    yyl719133368  
       2018-07-03 11:21:47 +08:00
    badger 的 performance 了解一下

    环境 32G 内存 500GSSD
    数量 400m key value
    时间 00:33:15
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   929 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:12 · PVG 05:12 · LAX 13:12 · JFK 16:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.