column
go-memdb
column | go-memdb | |
---|---|---|
3 | 3 | |
1,380 | 3,071 | |
- | 0.8% | |
4.1 | 3.6 | |
4 months ago | 3 months ago | |
Go | Go | |
MIT License | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
column
- Known "Entity Component Systems" implementations in Go?
-
Open Source Databases in Go
column - High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions.
-
GitHub - kelindar/ecs: Example of Entity Component System in Go
I've wanted to build an online roguelike in Go for a long time, but no good ECS libraries were out there. After a first failed attempt last year, I realized that first I needed to build a solid columnar storage engine kelindar/column which took roughly half of 2021 to get into a good state, with transactions, bitmap queries, concurrent snapshotting and all of that fancy stuff.
go-memdb
-
I created an in-memory SQL database called MemSQL as a learning project
For another in-memory database example, you could also check out https://github.com/hashicorp/go-memdb, but it's based on a radix tree implementation.
-
Why use a real K/V database over a MapStore?
I just think its a glorified map. Yeah, for example go-memdb list some of its advantages in their https://github.com/hashicorp/go-memdb/blob/master/README.md README. But it is not clear whether you gain any performance gain over a map except for avoiding the locking as explained.
-
An Unlikely Database Migration
>So we invested what probably amounts to two or three weeks of engineering time into designing in-memory indexes that are transactionally consistent
I'll be interested to see that part if it does get open sourced. I've used https://github.com/hashicorp/go-memdb which sounds similar.
What are some alternatives?
frostdb - ❄️ Coolest database around 🧊 Embeddable column database written in Go.
dbbench - 🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts
jaeger - CNCF Jaeger, a Distributed Tracing Platform
badger - Fast key-value DB in Go.
rosedb - Lightweight, fast and reliable key/value storage engine based on Bitcask.
buntdb - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support
prometheus - The Prometheus monitoring system and time series database.
bolt
goqu - SQL builder and query library for golang
go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
cockroach - CockroachDB - the open source, cloud-native distributed SQL database.