Chapter 15. Migrating and Integrating
Throughout this book we’ve looked at many aspects of Cassandra, including its origins (Chapter 2), query language (Chapter 4), and architecture (Chapter 6); how to create Cassandra data models (Chapter 5) and design (Chapter 7) and implement applications using Cassandra (Chapter 8); and how to effectively configure (Chapter 10), monitor (Chapter 11), maintain (Chapter 12), tune (Chapter 13), and secure (Chapter 14) Cassandra clusters.
Now it’s time to recap what you’ve learned from a different angle: bringing Cassandra into your existing enterprise architecture. First, you’ll apply your knowledge to the task of migrating a relational application to Cassandra, including adapting data models and application code. While the focus is migration from relational databases to Cassandra, the principles apply to migration from other database types as well. We’ll finish up by taking a look at tools and integrations for getting data into and out of Cassandra, and searching and analyzing data stored in Cassandra clusters.
Knowing When to Migrate
The first consideration is how to know when you need to migrate an application or use case to Cassandra. A clear indication is when you encounter one or more of the challenges of relational databases highlighted in Chapter 1:
Poor performance due to volume and complexity of queries
Challenges scaling beyond a single database node
Availability risk due to single-node or single-region deployments
High licensing ...