2015 is coming to an end, and I have not written as much as I should have. It has been a busy year for me on the learning end and I am glad about it. Slowly, but surely, I am moving my career in the direction that I always wanted it to go. This year has been the year of NoSQL databases for me.
There’s a storm going on in the NoSQL database world, each one vying to grab mindshare and occupy a place in your development stack. Now that developers have started to understand the segment better than before, these data-stores can be safely classified into broad categories per their use case fit, such as:
1. Want to write everything to file in a schema-less environment – go for document oriented databases like MongoDB, RavenDB etc.
2. Want to deal with deep hierarchical data and process it real fast – go for graph databases such as Neo4J, OrientDB etc.
3. Want to store everything in-memory for fast retrieval – go for in-memory data-stores like Memcached, Redis, Hazelcast etc.
and so on.
It is the first and the third categories in the aforementioned list, that can be leveraged in general purpose applications and either are already in enterprise-ready state or will be in a release or two.
I recently started learning about distributed caching solutions for one of my open source projects and thus began my journey to learn one.
A distributed cache is built upon the fundamental idea of separating out the caching component from the ones provided by programming frameworks like .Net and be hosted independently. When this idea spans several servers, it becomes distributed in nature, hence the name distributed cache.
Some of the major distributed cache products available can be found over at Wikipedia. Of particular interest are Memcached, Riak, Redis and Hazelcast, as they are free for any use and have got a wide community support. At the core of all products is the central idea of storing data in RAM as a key-value pair. Of course, different products differentiate from one another on the basis of features.
It has been a short while since I have been working with Redis, and I have decided to include it in all my web projects, if I have my way.
While this article is not having anything usable technical stuff or practical utility for that matter, I just wanted to write something, and at this time, Redis is all I have in my mind. I hope the departing year was a fruitful one for you, and I wish my best for the upcoming year.