DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

BoJack


BoJack is a single-node key-value store written in Crystal.

Source Code
https://github.com/marceloboeira/bojack[01]
Developer
Country of Origin
DE
Start Year
2016 [05]
Project Type
Open Source
Written in
Crystal
Supported Languages
Crystal, Elixir, Python, Ruby
Inspired By
Redis
Operating System
Linux
License
MIT License

Database Entry

BoJack


BoJack is a single-node key-value store written in Crystal.

History[02]


The systems was started by Marcelo Boeira in 2016 as a learning vehicle for understanding NoSQL database systems.

Checkpoints


Concurrency Control[03]


BoJack does not provide any kind of concurrency control. Concurrent client requests are handled by the Crystal language's concurrent Channel class.

Data Model


BoJack's data model relies on a key/value store which maps string keys to string array values.

Foreign Keys


As BoJack is a key-value store, SQL joins are not supported.

Indexes


Joins


Logging


Bojack logs, in addition to errors, individual commands for any client action, along with the date and time of interaction, and the client's address and port.

This includes anytime a client connects, or a key is set, updated, or deleted.

Query Compilation


Query Interface[04]


Bojack provides a standard command-line interface for starting the server and connecting clients.

Storage Architecture


Storage Model


Storage Organization


Stored Procedures


System Architecture


Views


Revision #10 Last Updated: