[Discuss] No-SQL Database Recommendation?

markw at mohawksoft.com markw at mohawksoft.com
Sat Jan 10 17:39:56 EST 2015


There is this database religion thing that I don't get. Why at the
specification phase do you say you would like a no-sql solution, the,
ironically, enumerate a list of requirements that scream real database.

First misconception: A relational database supports relational data in the
same way that C++ supports object oriented programming, i.e. it completely
optional.

A good database like Oracle, DB2, and PostgreSQL have amazing durability
and AMAZING indexing and data location tools. SQLite even has some very
amazing tools. Dismissing them at the beginning makes no sense.

Using a free database like PostgreSQL will EASILY handle what you want to do.


> I have been doing some Python programming recently and needed a
> database. I tried mongodb and it is pretty easy to use, but its
> performance is terrible--I think it is because I have funny needs.
>
> I was hoping of one of you could point me in a better direction. (Or
> tell me to quit looking and write my own.)
>
> Here are my needs:
>
>   - Open source (GPL 2, MIT, etc.), easy to use from Python, to run on
>     Linux, no need for relational stuff, don't want to have to embed
>     another language (would prefer no SQL).
>
>   - Multiuser, but only a dozen-ish clients, all on the same
>     machine--or possibly on the local network. Don't care about big
>     transactional systems that can replicate and operate when
>     partitioned, etc. This is small stuff. Maybe as small as Raspberry
>     Pi to maybe as big as cheapest available x86 system.
>
>    - Durable mostly. If the machine were unplugged without warning I
>     would expect to lose a little current data, but never corrupt the
>     whole database.
>
>   - Need to do bidirectional queries on one primary key: Time. My
>     timeline is sparsely and irregularly populated.
>
>   - My data items are small, likely an integer or three.
>
>   - Queries are count-limited: so only spend time finding first N-items
>     out of many, many more possible hits, where my requested count, N,
>     is only dozens to hundreds out of a total set of hits that might
>     otherwise be many millions.
>
>         This is probably my most odd need, one that might be
>         impossible to satisfy without writing this myself.
>
>   - I will have locality behavior, so if a first query or insert near
>     time-T takes 100-times longer normal, that's cool, providing
>     subsequent transactions near time-T are fast. So first query is
>     maybe approaching 1-second, but subsequent nearby queries are few
>     milliseconds (and look nearly free compared to other Python
>     slowness).
>
>   - New data will typically appear in-order--but not always. New items
>     might be added to the database bursting as fast as maybe a dozen
>     per second (significant locality in that case), but with average
>     rates maybe being lower. Data might be deleted in any order.
>
> Anyone have a favorite database the looks like this?
>
> Thanks,
>
> -kb
>
> _______________________________________________
> Discuss mailing list
> Discuss at blu.org
> http://lists.blu.org/mailman/listinfo/discuss
>





More information about the Discuss mailing list