[Discuss] No-SQL Database Recommendation?
Kent Borg
kentborg at borg.org
Mon Jan 12 13:33:05 EST 2015
On 01/11/2015 09:12 PM, John Hall wrote:
> I'm not convinced you need a database. Writing your own simple
> persistence layer can be really easy and reliable with Python.
Interesting suggestion, rolling my own is tempting, and when someone
else suggests it...the temptation rises. But the multiuser part is a
pain, I am happy to let someone else invent and implement that for lazy
old me. Assuming that really is the lazy way out...
> I'm curious about what the intended application is,
Until my project is closer to reality, I would like to avoid specifics.
Certainly I am looking forward to getting things working well enough to
demo, believe me.
> the OS distribution you are using, hardware and other loads on that
> hardware.
So far I have been playing on Ubuntu because it is handy. (Though lately
I have been losing patience with Ubuntu and preferring Debian. You know,
prejudices and aesthetics again.)
> I'm concerned that your Mongo issues might be due to some system
> bottleneck that you might run into with another solution as well,
> anyway, try using "nice" to prioritize your processes and "ionice" to
> make sure background processes and cron jobs don't dominate your disk io.
The fact mongodb was proudly telling me it found a half million records
made me think it was spending at least some time to even know it found a
half million records--where I only want a few records, and want to get
those few records appropriately quickly. I looked for some tuning option
to not do that work, but didn't find one.
> I assume you've heard about SQLAlchemy
Yes, I think I have heard the name before, but that's all. On your
recommendation I have looked it now: It looks nice! Quite Pythonic, I
think it will let me aim my brain at other stuff again.
I think my immediate todo turns into something close to:
- install postgresql and sqlalchemy
- create my user
- fire up python to create my tables, index my time field, and a
stuff in bunch of fake data (looks like the wikipedia article is a nice
enough cheat sheet to make me dangerous)
- see if I can figure out how to do my "gimme just a few of the many
hits" limited query, and see how fast it is
I suspect Postgresql will handle it well, quick Googling suggests the
minimal RAM foot print is plenty small for me, and if it turns out I
later *do* want any replication or relational stuff, Postgresql has
those features.
> I agree with others that if you need a database PostgreSQL would be a
> fine solution and with Richard Pieri's original litmus tests on if you
> should consider a nosql database.
SQLAlchemy looks like it will shield me from the SQL stuff I dislike.
And if I must craft a few SQL statements for debugging purposes, I can
do that, I can be tough and face the music, if I have to. I'm just a
whiny brat who is spoiled by how nice Python is.
(Python really is wonderful. Trying out some new library is easy and I
can start writing code quickly. By the time I have really understood
what I precisely want to do...I mostly have a working program. Maybe not
final, but working. Certainly Python has flaws, such as having an adhoc
language definition and being a big, monolithic, single-threaded
interpreter, but it is nice anyway.)
Thank you for your thorough suggestions,
-kb
More information about the Discuss
mailing list