Giter Club home page Giter Club logo

sqldoc's Introduction

sqldoc

A document database in python, using a sql backend.

Handles dicts/list/scalar combinations of arbitrary depth (think json documents).

Why, o why?

For my own experiments I need a document storage, that allows me the following:

  • store documents completely schema free
  • allow retrieval of said documents
  • schema free indexing of the documents - e.g. I don't want to handle indexing, just index everything
  • use database functionality on the values - e.g. still being able to concat strings etc.
  • fulltext search, that actually works (am at looking at you, neo4j)
  • multi document transactions
  • potentially attribute level security - it would be great if I could fine tune access rights on the permissions of every object on every attribute
  • easy to set up and run on "cheap" hosting setups
  • open source

The background is that I like information management systems, and need a backend where I have lots of freedom to experiment. Especially I want to be able to build a graph on top the backend. My requirement is not to scale to infinity, but full flexibility on a small to medium level (whatever that means).

Why not ?

I considered the following alternatives:

  • neo4j - has some form of schema (labels for nodes, types for edges), has quite some issues when it comes to indexing and searching, is java, e.g. no cheap setups, is only half open source. Funny problems with transactions.
  • mongodb - you need some form of schema for indexing, not available on standard cheap setups, not really that open source. Not sure about the transaction support.
  • zodb - is of course fantastic, but lacks in the indexing and fulltext search department. Hard to debug if you run into problems (e.g. PosKeyErrors).
  • ... - others usually have one or more of the above problems:
    • good, well tested transaction support,
    • good, well tested indexing and/or fulltext support
    • not easily available on cheap setups

Because I can

The main reason is that I want to play around with the idea of a generic 'safe-everything' SQL Storage.

sqldoc's People

Contributors

jhb avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.