V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
opentrade
V2EX  ›  分享创造

Golang 实现的分布式键值数据库 FoundationDB 的 SQL Layer

  •  
  •   opentrade · 2018-12-01 11:35:30 +08:00 · 2536 次点击
    这是一个创建于 2175 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/opentradesolutions/opentick

    最近分布式 SQL 数据库很火,国内外都出现不少创业公司,比如国内的 TiDB,国外的 Cockroachdb,他们的共同特点都是使用的第三方键值数据库作为存储引擎。对于存储交易市场 Tick 数据而言,标准的 SQL 数据库显然开销过大,KDB 又太贵。近年来行业里不少人使用 Cassandra 存储 Tick 数据,比如黑石,在他们的招聘帖子里,就能看到对 Cassandra 经验的要求。Cassandra 的关键字 Partition+Clustering 特性很适合 Tick 数据库的天然特性,按照 Symbol 做 Partion,按照时间做 Clustering,可以做到快速的并发查询。可惜现实是骨干的,Cassandra 项目臃肿,作为 Java 实现的项目,资源消耗很严重,更别说各种稀奇古怪的 bug,比如删掉的行又出现的情况,很久很久都得不到修复。因此当我看到 FoundationDB 再次开源后,就开始思考使用他作为存储引擎开发一个完全自己可控的 Tick 数据库替代目前在工作中使用的 Cassandra。主要特性如下:

    • 采用了 CQL 的语法子集

    • 类 pg8000 的 API,用户不用考虑 prepare 的问题

    • 高度一致的 SDK 风格,python/c++/golang 的 SDK 接口几乎一致

    • 简单的异步并发执行接口

    2 条回复    2019-04-09 11:34:33 +08:00
    leopku
        1
    leopku  
       2018-12-01 18:56:23 +08:00
    厉害了老铁

    能否提供一个 Docker 整合环境,可以做下简单使用或测试啥的
    opentrade
        2
    opentrade  
    OP
       2019-04-09 11:34:33 +08:00 via Android
    没有,golang 的东西编译方便 也不需要 docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1267 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.