Apache Cassandra was designed to handle very large amounts of data and deliver high availability without a single point of failure.
This section provides basic checklists to use when evaluating a NOSQL DATABASE for production environments, guidelines for deciding when NoSQL should be deployed versus an RDBMS, and what deployment scenarios are most common.
Although not exhaustive, below are technical and business considerations designed to ask the right questions when evaluating whether a particular NoSQL database is suited for your production environment:
How do you determine whether a NoSQL database, like Cassandra should be used for all or part of an application versus an RDBMS? Some basic considerations can be represented by the following general comparison between an RDBMS’s capabilities and Cassandra’s:
From a practical perspective, as a DBA, how do you go about actually moving to NoSQL and implementing your first application? In general, there are three ways to deploy a NoSQL database like Cassandra:
1. New applications: many begin with NoSQL by choosing a new application and starting from the ground up. Such an approach mitigates the issues of application rewrites, data migrations, etc.
2. Augmentation: some choose to augment an existing system by adding a NoSQL component to it. This oftentimes happens with applications that have outgrown an RDBMS due to scale problems, the need for better availability, or other issues. Parts of the existing system continue to use the existing RDBMS whereas other components of the application are modified to utilize the NoSQL database.
3. Full Rip-Replace: for systems that simply are proving too costly from an RDBMS perspective to keep, or are broken in major ways due to increase of user concurrency, data velocity, or data volume from Web and mobile applications, a full replacement is done with a NoSQL database.
Get Updates on Tech posts, Interview & Certification questions and training schedules