Boston Linux & UNIX was originally founded in 1994 as part of The Boston Computer Society. We meet on the third Wednesday of each month, online, via Jitsi Meet.

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] No-SQL Database Recommendation?



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




BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org