

CodernityDB — pure Python, NoSQL, fast database - amarsahinovic
http://labs.codernity.com/codernitydb

======
knightni
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.

~~~
3amOpsGuy
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.

------
mmcnickle
A cursory glance through the code revealed a bug:
[https://bitbucket.org/codernity/codernitydb/issue/1/_rev-
not...](https://bitbucket.org/codernity/codernitydb/issue/1/_rev-not-
guaranteed-to-be-unique)

~~~
ecaron
You can learn a lot about a community, a product, and a company based on how
they respond to bug reports. Promptness, formality, details and politeness are
all incredible indicators about what's going on under the hood.

~~~
d0ugal
And what did you make of their reply?

------
AaronBBrown
"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?

~~~
mistercow
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.

~~~
justincormack
If you are on a host without a compiler you don't need a NOSQL db.

~~~
mistercow
How do you figure?

~~~
danudey
I believe the insinuation is that if you're actually building a serious app
that might actually benefit from NoSQL, then you should host it on a serious
machine and not some shared hosting solution.

Basically conflating the idea that NoSQL is for 'real projects' and that only
'amateur hour' hosts have no compiler.

~~~
adrinavarro
NoSQL is targeted at extreme performance. So, yes, it sounds like a reasonable
assumption.

~~~
mistercow
There are other advantages to NoSQL, like flexible data structure, and not
having to squish your data into two incompatible data models.

------
dbecker
It would be helpful to add "How is this different from other NoSQL databases"
to the FAQ.

~~~
danudey
It seems as though the key differentiator is 'pure python'. For python
environments, this is a huge bonus, as it makes it easy to install and support
with existing tools.

------
francesca
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.

------
louischatriot
Interesting, but I'd like to see how this compares to other NoSQL such as
MongoDB.

------
gldnspud
I'd love to check this out this morning, but the page is unreadable using
Safari on an iPhone. The table of contents stays floating above the body text,
and takes up almost the whole screen.

------
tintor
What is the difference between DatabaseThreadSafe and DatabaseSuperThreadSafe?

[http://labs.codernity.com/codernitydb/design.html#how-it-
s-b...](http://labs.codernity.com/codernitydb/design.html#how-it-s-build)

------
shuzchen
I've registered ##codernitydb in freenode and will idle in there, if anybody
is interested in forming a community in irc

------
hoodoof
No Python 3 = no thanks

------
lehgo
python ehh

------
ucee054
In case, like me, you like SQL: <http://gadfly.sourceforge.net/>

------
mattbasta
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.

~~~
nakovet
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.

~~~
pyre
While this is true, it's to the detriment of their project not to have at
least _some_ English docs. It grants them the largest possible audience[1] for
their project. Generating interest in their tool is one of the things that
they need to do if they want it to be a successful open source project.

[1]: I guess it's possible that 'Chinese' might be close too, but I have no
idea how the different dialects (Mandarin/Cantonese) would affect this.

~~~
saraid216
> [1]: I guess it's possible that 'Chinese' might be close too, but I have no
> idea how the different dialects (Mandarin/Cantonese) would affect this.

Cantonese isn't written down, strictly speaking; when you write Chinese, there
aren't dialectic differences.

~~~
francesca
nginx didn't have english docs until 2 years after the project launched. Full
story from Igor Here: <http://www.ruby-forum.com/topic/151853>

Also: Don't blame people for english lang proficiency.

