Under the Bridge

SQLite: Nanostore

So, you in that head space where you’re figuring Core Data is just a little too much for your non-trivial storage needs? Well, here’s something that might be just right:

Today, Webbo is pleased to announce the release of NanoStore:


NanoStore is a Cocoa wrapper for SQLite, a C library that implements an embeddable SQL database engine.

With NanoStore, you store data using a dictionary of any depth. The developer can decide what to store on the fly, unlike other systems that require the developer to design a schema. With NanoStore just build your dictionary and store it. That’s all there is to it! Every data element in the dictionary is indexed (except BLOBs) so there’s no need to keep a list of indexed separately. You can disable indexing, import your data in batch mode, save it and then reindex at once, which is quite efficient. For even better performance, all I/O can be performed in memory and save the new database to disk at once, which is even faster. And if you feel adventurous, you can even do that in Fast mode and save extra SQLite processing.

All these variations come with pros and cons, sure… but you have a choice. You can decide what’s best *for you* and map a strategy to *your* model as there accessors available for most SQLite settings and pragmas that will allow you to tune it to your liking…

Certainly sounds massively convenient, doesn’t it? If any of you Dear Readers are intrigued enough to take a close look at it, be sure and let us know how that turns out!


NanoStore is now 2.0 and has moved to github and has nice documentation and a Twitter account !

  • http://www.barrettj.com Barrett Jacobsen

    Any idea what happened to this project? The link gives a 404 now.

  • http://www.alexcurylo.com/ Alex

    It now can be found at


    Thanks for the heads up!

  • Tito Ciuro

    Hi Alex,

    After a few months working on the next iteration of NanoStore, I’m happy to announce the release version 2.0. I got a lot of feedback on where to best host it, so I finally decided to place it on GitHub:


    The sources are fully documented and I wrote an introduction document as well. Lots of cool stuff made it into 2.0. I hope you like them.


    – Tito