tiedot
tiedot copied to clipboard
A rudimentary implementation of a basic document (NoSQL) database in Go
2021-09-05: thanks for evaluating tiedot! The project started as a short programming exercise and I am very grateful for the small user base it has received. I am afraid the project has been dormant since 2016, the feature set is minimal and lacking for a modern application. Please consider other embedded DB engine alternatives. In the meanwhile, check out this actively maintained open source project of mine: laitos - Top geek's chindogu.
tiedot
Keywords: Golang, go, document database, NoSQL, JSON
![Golang logo](https://golang.org/doc/gopher/frontpage.png)
tiedot - Your NoSQL database powered by Golang
tiedot is a document database engine that uses JSON as document notation; it has a powerful query processor that supports advanced set operations; it can be embedded into your program, or run a stand-alone server using HTTP for an API. It runs on *nix and Windows operating systems.
tiedot has fault-tolerant data structures that put your data safety first, while easily scales to 4+ CPU cores.
tiedot has very stable performance, even with millions of records! It consistently achieves high throughput - swallow more than 120k records or 80k complicated queries per second with confidence.
Get tiedot!
tiedot is distributed under the Simplified BSD license.
The newest version 3.4 comes with general performance and compatibility improvements. Find out more in releases.
Running in Docker
Run tiedot with help from docker and docker compose:
$ docker-compose build
$ docker-compose up -d
To view the logs:
$ docker-compose logs
References
... and more
- Performance tuning and benchmarks
- Data structures
- Query processor and index
- Concurrency and networking
Contributions welcome!
tiedot is a very small project in the large open source community - it is growing fast thanks to the 800+ stars and watchers, as well as many contributors for their feedback, comments, ideas and code. Your contribution matters a lot!
Pull requests/forks all welcome, and please share your thoughts, questions and feature requests in Issues section.
Let me know what you think about tiedot, I'd love to hear from you! Please Email me, follow my Twitter and blog.
The Go gopher was designed by Renee French. (http://reneefrench.blogspot.com/). The Go gopher is covered by the Creative Commons Attribution 3.0 license.