Introduction: We all know RDBMS & we were pretty much happy with them. Transactions in RDBMS are well protected, recovery was good & we are able to come back from failures pretty well & the row-column structure was a very good data model which kind of structured the data well while loading it so we can retrieve the data easily. So what was the need for a new theory called NoSQL? Well the motivation really was due to the huge unstructured data building up. And loading this huge data into an RDBMS with a schema structure was a challenge. And secondly, RDBMS systems scaled up well (you provide more memory & CPU resources it performs well) but they really could not scale out (horizontally by adding more machines to them). And lastly, RDBMS focus more on data consistency rather than the performance. When you stress more on consistency, there is an impact on performance. This blog discussed some basic theories NoSQL systems are built upon. This blog also kind of sets a ...
Storage plays an important role due to the dependencies that various sub systems have. Now a days due to the types of distributed systems available in market, storage gained more relevance. As data gets replicated with a minimum replication factor of 3, the space used by these systems is going up to make the applications more and more fault tolerant. Block storages have been the most used storage types for all types of work loads as data can be accessed in blocks & it is easier for the sub systems to operate. But block storages use up a lot of space due to the distributed nature of various sub systems. For example, for storing a backup file the block storage replicates the same block thrice & essentially uses 3 times of the actual file size. For such types of usages, object storage is getting more popular as it stores the metadata of data rather than the actual data. This allows it to use far lesser space than what object stores use. However, object stores may not be...