Where to Start?
Technology is a continually evolving cauldron, full of emerging marvels. With so many languages, frameworks and systems to choose from, it’s hard to pick the best. And so, using a particular software or an API is often driven more by the ‘cool’ factor, rather than by truly assessing options for the best solution. Often, a word or two by a tech guru are worth more than real field experience. Looking at databases, there’s no exception to the rule: welcome to the NoSQL vs. OldSQL battle.
When NoSQL databases started to become popular, many people jumped on the bandwagon because it was the technology of the moment. Imagine you were a startup, ready to pitch your idea to an investor with deep pockets, would you want them to see you wearing RDMBS in public? Of course not, you’re about to become the next Facebook, not an old corporate dinosaur.
Prime Your Weapons!
If there’s one thing that software developers love, it’s a genuine technology war. Consequently (and in this case), developers had to pick a side in this mighty battle. Many debates started about features (or the lack of) like data consistency, transactions and schemaless. Needless to say, you can now find a lot of arguments on why any one solution is better than the other.
Even today, if you ask around you can hear people saying “Oh NoSQL? Yeah yeah ok, you can store Cats and Cars in the same table but what about ‘eventual consistency’?” or “There’s no way I could develop this thing with a RDBMS. Who cares about transactions?”.
But what fueled all this arguing? The main reason was the fundamental mistake of trying to find the ‘one size fits all’ solution.
And What If …?
But why does it have to be this way? Do you wear a coat all year long because it keeps you warm in winter, but during summer you just have to sweat a little? Do you only use a hammer for both nails and screws because ‘screw that, in the end the result is the same’?
No, you don’t. You look for specific solutions, tools that are able to get that particular job done, technologies that can help you solve your problems in the best possible way. You keep all your apparatus in your toolbox, each for the best job.
Now, if you go back for a moment and apply this point of view to the NoSQL vs. OldSQL debate, maybe you will change your mind. A new technology does not have to replace the other, and they can even work together. This is what is often referred as ‘Polyglot Persistence’.
If you need a strong transactional system (because that logic is too complicated or expensive to implement in your application): stick to a DBMS that can guarantee ACID constraints. At the same time, do you need to cache part of your data because most of the traffic points to the same resources? Well, you can leverage an ‘in memory’ Key Value storage.
You are the architect of your software and you should find the best mix of tools to tackle the problem. Software development will keep evolving, you should put as much effort into choosing the database for your project, as you put into architecting the rest of your application.
Here at Mobile Jazz, we always use the most appropriate and efficient tools to develop your ideas and turn them into amazing products. We strive to be at the top of what’s happening in technology, digital marketing and design. We always learn and experiment with the latest trends to stay ahead of everyone else. That’s why we’re able to give you a competitive advantage in market. Feel free to drop us a line and we’ll take your project one step ahead!
Get Notified On New Articles
You can unsubscribe any time
if you change your mind.
By submitting your information