tiedot

command module
v0.0.0-...-8f90974 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2014 License: BSD-2-Clause Imports: 15 Imported by: 0

README

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

build status 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.

References

... and more

Get tiedot!

tiedot is distributed under the Simplified BSD license.

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

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?

Documentation

Overview

Run tiedot HTTP API server, benchmarks, or embedded usage example.

Directories

Path Synopsis
Collection data file contains document data.
Collection data file contains document data.
Collection schema and index management.
Collection schema and index management.
Package mmap allows mapping files into memory.
Package mmap allows mapping files into memory.
Collection management handlers.
Collection management handlers.
Prepare HTTP server for serving web control panel application.
Prepare HTTP server for serving web control panel application.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL