Cassandra for Microservices
As software development progressed towards creation of web-scale applications, the relational databases that dictated the data architectures started to crack under the strain of real-time data crunching social apps and thousands of devices connected IoT platforms. Quantum of data transactions required the existing data tiers to be scaled up leading to emergence of more advanced databases such as NoSQL or non-relational databases which offered more pliable data models. These databases guaranteed strong consistency, ACID transactions and joins.
Simultaneous maturing of Service-Oriented Architecture (SOA) to micro-services architecture for a more decentralized approach provided the ability to develop, manage and scale services independently. Thus, this flexible architecture requires a demanding choice of databases, which can scale, can be monitored, and can guarantee consistency in data.
This is precisely where Cassandra fits-in! Cassandra, thus, is fast becoming a popular database for its closer to pragmatic requirements of microservices architecture. Cassandra, being a distributed database, can be critical for monitoring and architectural safety aspects of microservices.