Live data from Hacker News

CodernityDB — pure Python, NoSQL, fast database

labs.codernity.com

11–20 of 52 posts

Re: CodernityDB — pure Python, NoSQL, fast database

#11
post #9

"CodernityDB pure python, NoSQL, fast database" Is the fact that it is written in "pure Python" really the most important thing to reenforce after the name of the product itself? Why would I use this over established products like Riak, Redis, MongoDB, etc?

If you look at the speed benchs they compare it to kyoto cabinet. I think that CodernityDB is meant to be embedded and is thus only interesting to python people. In that case the advantage would be to avoid the compilation step on intall that kyoto cabinet or sqlite would incur. It's a library database like sqlite and kyoto cabinet

Looks like they also have an HTTP service and a Python client library, so you can use it other ways than embedded, and for the Python client, you can switch back and forth from the embedded one to the HTTP one with the same API. Seems pretty slick.

Re: CodernityDB — pure Python, NoSQL, fast database

#12
post #6

Since these questions will inevitably come up: - You fsync yourself to ensure durability. I can't see at a glance what fsync settings are used for the speed tests. - It's not transactional, although single operations are atomic. - Indexes operate on a single-writer, multiple reader basis. - No traditional joins, although you can of course write a procedural function that joins for you.

These have come to be common features of NoSQL in general. I wouldn't be too surprised to see them here in a product marketed as NoSQL.

The other attributes i'm not too fussed about personally, i figure i can always work around them or face the question "am i using the right tool for this job?" but the fsync one still gives me the heeby-jeebies (even though it's never bitten me despite many many TBs of data).

Cassandra does periodic fsync's (although it can be configured). I understand HBase and Mongo have similar shennanigans.

Re: CodernityDB — pure Python, NoSQL, fast database

#13
This seems like a speedy solution for inserts but I'm curious about reads

"Indexes tries to reuse as much space as possible, because metadata size is fixed, during every write operation, if index finds metadata marked as removed or so, it reuses it - writes new data into that place."

I'm curious how this is implemented.

Re: CodernityDB — pure Python, NoSQL, fast database

#14
The only thing that turns me off to a product more than a poor website is poor English in the documentation. If English isn't your primary language, PLEASE get someone that speaks it fluently to either write your docs, translate your docs, or edit what you've written.

Re: CodernityDB — pure Python, NoSQL, fast database

#15

The only thing that turns me off to a product more than a poor website is poor English in the documentation. If English isn't your primary language, PLEASE get someone that speaks it fluently to either write your docs, translate your docs, or edit what you've written.

They are nice to write the documentation in poor English, they could launch the product only with Polish documentation and then you would never be able to use it before someones translates it.

Re: CodernityDB — pure Python, NoSQL, fast database

#16

"CodernityDB pure python, NoSQL, fast database" Is the fact that it is written in "pure Python" really the most important thing to reenforce after the name of the product itself? Why would I use this over established products like Riak, Redis, MongoDB, etc?

Avoids dependency issues when you try to deploy your work on an unmodifiable target.

I've been looking at DBM::Deep (one of perl's equivalent to CodernityDB) and App::FatPacker recently just for this case (install a script on some Macs with only Perl being needed requirement).

ref: https://metacpan.org/module/DBM::Deep | https://metacpan.org/module/App::FatPacker

Re: CodernityDB — pure Python, NoSQL, fast database

#17

"CodernityDB pure python, NoSQL, fast database" Is the fact that it is written in "pure Python" really the most important thing to reenforce after the name of the product itself? Why would I use this over established products like Riak, Redis, MongoDB, etc?

"Is the fact that it is written in "pure Python" really the most important thing"

It is for me. It's the most unique attribute about the project. Fast? Yawn. NoSQL? Yawn.

Re: CodernityDB — pure Python, NoSQL, fast database

#19

"CodernityDB pure python, NoSQL, fast database" Is the fact that it is written in "pure Python" really the most important thing to reenforce after the name of the product itself? Why would I use this over established products like Riak, Redis, MongoDB, etc?

Python is on almost every host out there now. Riak, Redis, and MongoDB are not, and on many hosts you won't be able to compile them from the source. So yes, that's relevant.

Re: CodernityDB — pure Python, NoSQL, fast database

#20

The only thing that turns me off to a product more than a poor website is poor English in the documentation. If English isn't your primary language, PLEASE get someone that speaks it fluently to either write your docs, translate your docs, or edit what you've written.

I forked the documentation this morning. I'll edit it and submit a pull request tonight.
Post reply on HN