NoSQL Experiments

It’s been a while since my last blog post. I’ve been spending a lot of time learning and re-learning how to develop a mobile app with Apache Cordova. I think the app has been re-written from the ground up 3-4 times now.

In looking for a solution for an in-app database I stumbled upon Couchbase. Not only have I become a fanboy of this NoSQL database and the json query language N1QL that Couchbase has created, but so has another developer at my work. The fun fact about the other developer is that he is a pure Microsoft fanboy tried and true. This is the first time he has really embraced a database that is not MS SQL.

Since playing with Couchbase, starting 2 months ago, we have all been impressed with the speed and flexibility of this database.

If you are not familiar with Couchbase it is a NoSQL database with a freemium business model. The have an open source Community Edition which is free to use and has most of the features of the Enterprise Edition. After installing Couchbase the IT director at work and I had a sales call with Couchbase and the price the quoted us for the Enterprise Edition was reasonable when compared to MS SQL but outside of the reach of our small (but growing) company. We didn’t explore the options further as we have not put anything into production yet. However, soon we will probably be contacting them again to see if there is an option that is affordable for small/start-up businesses.

The more I use this database the more I like it. Like with any new technology there is a bit of a learning curve. Initially the setup was amazingly simple and the database just worked. Once the database was installed and working there was a lot to learn with using the SDKs for the different languages and the unique challenges of their SQL language (N1QL) for accessing data stored as JSON documents.

My experiments over the past 2 months have produced a lot of notes that I need to compile into one source/place. And since this blog has been neglected for the past year, this seems like a great time to get it updated as a place to document my experiments with Couchbase.