Skip to content
ar0311 edited this page Apr 5, 2012 · 6 revisions

It is great. Or not. Depends.

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

If your data demands peek at a few thousand operations per second, KiwiDB will suffice...

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

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

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 mention a few reasons...

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.

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.

Clone this wiki locally