Skip to content
jlarsson edited this page Sep 11, 2011 · 6 revisions

It is great. Or not.

As a general disclaimer, it must be noted that KiwiDB is designed around working features, not performance.

Considering you can do stuff hard or impossible in other document databases, performance is great for eaxctly those operations!

But, and this is a big but, its not nearly as optimized as MongoDB when it comes to partial updates and stuff.

There are some open questions though.

Why does KiwiDB implement its own Btree when there already are some around?

I wanted my very own file locking and consistency checking. I'ts really a couchdb thingie stripped down from infinite versions to just 2 (the current update and the previous). This allows for a single file (which f.x. ESENT) cant provide and also sharing between processes. To say a few motivations...

Can performance be improved?

My guess is that it will. Very little code in KiwiDB is optimized or run through a profiler. Things that hurts performancewise will be improved.

Why does KiwiDB implement its own Json when everyone else uses the faster Newtonsoft.Json?

Newtonsoft is fast. Newtonsoft if feature rich. Its always my first choice.

But not this time, since I needed better JPath handling for indices and stuff. In fact, much effort has been put into be able to work with the inner aspects of javascript objects.

Clone this wiki locally