DEV Community

Cover image for Bicycle 🚲 - Database (Rust, gRPC, RocksDB)
sean watters
sean watters

Posted on

Bicycle 🚲 - Database (Rust, gRPC, RocksDB)

Bicycle 🚲 is a framework for defining database schemas whose access patterns are generated as code and compiled into each server binary.

We're striving to reduce dynamic query parsing at run time.

Why the name?

"What a computer is to me is it's the most remarkable tool that we've ever come up with, and it's the equivalent of a bicycle for our minds" - Steve Jobs

The Bicycle is a metaphor for useful complexity, and one of the most influential inventions in history. It is also an interesting analogy for the anatomy of the framework:

  • Wheels (transport): gRPC
  • Frame (storage engine): RocksDB
  • Pedals, gears, handlebars, breaks, etc. (logic): Rust

GitHub logo ordinarylabs / bicycle

Bicycle 🚲 is a framework for defining database schemas whose access patterns are generated as code and compiled into each server binary.

Bicycle 🚲

Bicycle 🚲 is a framework for defining database schemas whose access patterns are generated as code and compiled into each server binary.

We're striving to reduce dynamic query parsing at run time.

Why the name?

"What a computer is to me is it's the most remarkable tool that we've ever come up with, and it's the equivalent of a bicycle for our minds" - Steve Jobs

The Bicycle is a metaphor for useful complexity, and one of the most influential inventions in history It is also an interesting analogy for the anatomy of the framework:

  • Wheels (transport): gRPC
  • Frame (storage engine): RocksDB
  • Pedals, gears, handlebars, breaks, etc. (logic): Rust

Usage

A Bicycle schema is defined in a simple .proto file like so:

// schema.proto
syntax = "proto3"
package bicycle;

message Dog {
  string pk = 1;

  string name = 2;
  uint32 age = 3
Enter fullscreen mode Exit fullscreen mode

Photo by Robert Bye on Unsplash

Top comments (0)