command module
Version: v0.0.0-...-8699cbc Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2014 License: BSD-2-Clause Imports: 14 Imported by: 0


Keywords: Golang, go, document database, NoSQL, JSON

Golang logo

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 on most *nix and Windows operating systems.

tiedot has fault-tolerant data structures that put your data safety first, while considering scalability in design.

Did you know? The largest known tiedot deployment powers a personal offline Wikipedia indexing project, it has 5.9 million documents and over 73GB of data.

Contributions welcome!

tiedot is a very small project in the large open source community - it is growing fast thanks to the 500+ 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 love to hear from you! Please Email me, follow my Twitter and blog.


... and more

Get tiedot!

tiedot is distributed under the Simplified BSD license.

The newest version 2.0 (branch 2.0) is a complete re-write aiming to bring a much cleaner codebase. Please check out Version History for change logs and historical version informaion.

Project Story

Is tiedot "yet another NoSQL database"?

There are probably as many NoSQL database as there are Linux distributions.

tiedot is not as powerful (yet) - and does not intend to compete with mainstream NoSQL database engines such as CouchDB or Cassandra. However, tiedot performs reasonably well given its small size (around 3k LOC); and due to its simplicity, its performance may come close or even exceed those large brand NoSQL solutions (under certain workloads).

What is the motive behind this project?

Golang (Go) is a fascinating language - very easy to use, scalable and reasonably stable. I am very passionate about document database technologies (check out my other GitHub projects!) and enjoy seeing my code scaling well on SMP machines. This is my Golang exercise.

Why the name "tiedot"?

"tiedot" is a Finnish word standing for "data". I enjoy learning (natural and computer) languages, also enjoy listening to music in many languages. "Tiedot" sounds cute, doesn't it?



Benchmark of tiedot individual features and usages.

tiedot main entrance.


Path Synopsis
A tiedot collection is made of chunks, each chunk is independent fully featured collection.
A tiedot collection is made of chunks, each chunk is independent fully featured collection.
Document collection file.
Document collection file.
Common data file features.
Common data file features.
Coordination between a collection of chunks.
Coordination between a collection of chunks.
Package mmap allows mapping files into memory.
Package mmap allows mapping files into memory.
Collection management handlers.
Collection management handlers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL