Skip to main content

A fast ordered NoSQL datastore.

Project description

Latest PyPI version Version status Python 3.5 and 3.6 https://travis-ci.org/ahopkins/merkava.png?branch=master Documentation Status

A fast ordered NoSQL database.

Documentation | GitHub

https://raw.githubusercontent.com/ahopkins/merkava/master/assets/logo.png

What is MerkavaDB?

A very fast, and lightweight DB for storing ordered data. The order it comes out is the order that it went in. The API is meant to be small and without bloated queries. Consequently, there is a limited set of queries to be made since the primary tool is getting objects in and out of storage in a specific order.

So, why would I use it?

Because it is fast. And it is simple.

Let’s say, for example, you are building an application. As a part of your application, you want to have a chat or a news feed. The data will ALWAYS be displayed in the same order. Well, you can persist your data objects and feel condifent that they will always be in the same order, no matter what.

MerkavaDB stores data in a similar format to JSON. So, it is schemaless and will allow you to store data in whatever format you need.

How do I use it?

By making HTTP calls to the database server. All you need to do is specify a “channel” and some data.

What kind of data?

  • nulls

  • booleans

  • integers

  • floats

  • strings

  • arrays/lists

  • maps/dicts

Basically anything you would pass by JSON.

What is a channel?

A channel is a division of data. All data is stored in a sequential order given the channel that it is in. For example, it could be a single chat room or news feed.

Supported Operations

  • HTTP POST /<channel>/ - create

  • HTTP GET /<channel>/<id>/ - retrieve a single record

  • HTTP PATCH /<channel>/<id>/ - update a record

  • HTTP DELETE /<channel>/<id>/ - delete a record

  • HTTP PUT /<channel>/<id>/ - restore a deleted record

  • HTTP GET /<channel>/recent/<X> - retrieve an array of the X most recent records

Roadmap

  • Drivers for: Python, NodeJS, Java

  • Test coverage

  • Documentation

  • Clean up utilities

  • User interface

  • Debian installer

  • Single script installer

  • Configuration options

  • Examples

  • Logging

Current Version

version 0.2.0

Documentation

The full documentation is at http://merkava.rtfd.org.

History

0.2.0 (2017-09-25)

  • History and tooling scripts

  • Functioning API with Sanic server

  • Versioning tools

0.1.0 (2017-09-24)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

merkava-0.3.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

merkava-0.3.0-py2.py3-none-any.whl (7.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file merkava-0.3.0.tar.gz.

File metadata

  • Download URL: merkava-0.3.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for merkava-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4ba0d7c3e7845a4230d2a6e02d1d71b212b202c0ae5090d9f6a97b54683dee58
MD5 09c366ca01ca7e4ef9533876c084c211
BLAKE2b-256 1cc41a8a446a845f8f94d8413b04d1aa86b185b777c770555e2d0df663ddd086

See more details on using hashes here.

File details

Details for the file merkava-0.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for merkava-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c1cf9e29470c03e1ea07f6c913f32df917b86005f84efc4d110e59d4dd4bb698
MD5 d907ccc02ba483b880e03cf8d4420867
BLAKE2b-256 c572fe25ae58eb95e8511e8650c14ed6213519684b8dc5287dcaf11052c762cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page