Protocol buffers database, a Key-Value database on the wire

This page summarizes the projects mentioned and recommended in the original post on /r/golang

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • ld

    Lean Database

  • I got my database into a release candidate: ld - a protocol buffers database

  • ogc-grpc

    Proto api and proxy server for ogc / inspire compliant API

  • I have later started mapping the OGC WFS api at MikkelHJuul/ogc-grpc, I want to open source the WFS gRPC mappings including open api specification for the proxy server. And use this as a backing database. Having two very well-defined API boundaries for the gRPC service between the two makes for focused developer experience. I may throw in my extension library for fun. Write some demo app for it all.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • protoc-gen-star

    protoc plugin library for efficient proto-based code generation

  • I was using protoc-gen-star to define queries and structures. If you want to generate protobuf from protobuf, you'll need this fork with a decent amount of boilerplate on your end. I found it useful for things like generating protobuf to represent diffs.

  • roaring

    Roaring bitmaps in Go (golang), used by InfluxDB, Bleve, DataDog

  • Roaring bitmaps + btrees are a rock solid indexing approach. Alternatively, bleve has a lot out of the box but that's introducing a new datastore, basically.

  • sled

    the champagne of beta embedded databases

  • There are a lot of modern approaches like the BW-Tree which is well documented by a Microsoft research paper. Also something like sled-db, which essentially utilizes IO_DIRECT to read straight into a buffer, skipping the page cache, and therefore the db creates it's own page cache where the live pages are actually deserialized representations of the data. There's a lot of other cool stuff, like latch free tree structure for indexing, and scattering pages across sequentially accessed logs, where the only lock required is one to ensure write order into a queue. There's a lot of neat approaches to developing performant datastorage systems for modern hardware, and LSM-Tree type storage engines like level or rocks db only scratch the surface of potential.

  • s2geometry

    Computational geometry and spatial indexing on the sphere

  • Nice! I've been considering learning Rust by taking a stab at something similar with it. I probably would have already if there was a fully ported s2 crate.

  • h3

    Hexagonal hierarchical geospatial indexing system

  • It's the way to go, so far as I can tell. Uber's h3 is an interesting take, but I don't think it stands up performance wise and I can imagine the complexity is a bit intense. Very cool for visuals though.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • S2 geometry

    S2 geometry library in Go

  • There's a Java port and bindings for Python. The go port has been a work in progress for a while and the claimed to be at about 40% done. There's a rust port but it is based off of the go port and thus not complete either.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Persistent data with golang

    1 project | /r/golang | 12 Apr 2023
  • Looking for fast, space-efficient key-lookup

    9 projects | /r/golang | 12 Nov 2022
  • NutsDB v0.9.0 release~

    1 project | /r/golang | 19 Jun 2022
  • A B-Tree implementation for fast read and write in databases

    1 project | /r/golang | 18 Sep 2021
  • NutsDB v0.6.0 release,Add PrefixSearchScan() with regexp search ability and more

    1 project | /r/golang | 21 Mar 2021