爱意满满的作品展示区。
opentrade

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

  •  
  •   opentrade · Dec 1, 2018 · 2979 views
    This topic created in 2725 days ago, the information mentioned may be changed or developed.

    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 replies    2019-04-09 11:34:33 +08:00
    leopku
        1
    leopku  
       Dec 1, 2018
    厉害了老铁

    能否提供一个 Docker 整合环境,可以做下简单使用或测试啥的
    opentrade
        2
    opentrade  
    OP
       Apr 9, 2019 via Android
    没有,golang 的东西编译方便 也不需要 docker
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2803 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 14:27 · PVG 22:27 · LAX 07:27 · JFK 10:27
    ♥ Do have faith in what you're doing.