Ever since the internet blew up the world of enterprise data and application silos in the mid-1990s, software engineers have been continuously challenged to integrate web solutions and platforms that were never meant to work together. Now 20 years later, those challenges are amplified by the expectations of an information-hungry world that demands ever-more intuitive interactions with the devices, data, information and applications they work with and play with every day.
To silence (or at least lower the volume of) the relentless drumbeat of these demands requires a mastery of database technologies that are only just maturing. But it can be difficult to navigate the worlds of NoSQL, cloud databases and polyglot persistence. Is a seasoned relational database – like PostgreSQL – the right way to go? When should I use a key-value store, like Redis? How about a document store – Cloudant, for example? What about polyglot persistence and the need for advanced analytics? All good questions, for which there is no one-size-fits-all solution.
A new eBook from IBM Cloud Data Services, A Field Guide to the World of Modern Data Stores, helps navigate and evaluate this expanding world of databases. This field guide to key-value, document, graph stores, and column family stores – and how they can interact with relational databases – helps developers begin their journey to building a masterful database strategy for their apps.
The Rise of NoSQL
Before exploring the pros and cons of each cloud database, it’s helpful to reflect on a bit of database history. From the 1970s to the 1990s, relational databases ruled the world. Enterprise developers generally relied solely on SQL to build and query their data layer. But as the internet grew, and web applications skyrocketed, relational databases couldn’t keep up with new data demands.
In the mid-2000s, internet giants like Google and Amazon popularized a new breed of databases that allowed for different query languages and better scalability – a movement which became known as “NoSQL,” today an umbrella term for all databases that don’t use SQL – or don’t only use SQL.
The once-humble NoSQL movement has ballooned into a large ecosystem of modern data stores, including key-value, graph, column and document databases. And while each of these technologies was designed to address isolated aspects of data management, when combined in strategic ways, they provide a powerful toolkit to solve today’s perplexing data integration, storage and retrieval challenges.
Polyglot Persistence and the Multi-database World
Every database has its strengths, and none is truly a one-size-fits-all solution. Key-value stores work well for application needs where performance and scalability are the main goals; document databases (a variation on the key-value pair database that incorporates metadata) are good for applications calling multiple different kinds of objects; and so on. For many of today’s applications – which are built from components using different programming languages, and connected using web service calls and APIs – a multi-database approach (polyglot persistence) is far better to meet demands for flexibility and scalability than a ‘monolithic’ data layer using just one database system.
Take, for example, a social media application – like Facebook or LinkedIn – where a user’s profile is changed by updates made by that user, as well as by many other users. When a user initially logs into the app, they see the most current, up-to-date version of their profile – made possible with queries to a RDBMS acting as the single source of truth. However, during the rest of the session, the user sees only the changes they make (not simultaneous changes made by other users) because a key-value store is acting as a temporary cache for changes made. Later, after refreshing or starting a new session, the user will once again see a consolidated view of their profile, incorporating changes made by themselves as well as others, because cached data in the key-value store has been transferred to the RDBMS. This is just one simple example of polyglot persistence in action.
Free eBook: A Field Guide to the World of Modern Data Stores
Navigating today’s cloud databases and analytics options can be challenging. But it doesn’t have to be intimidating. Start (or level-set) your journey today with A Field Guide to the World of Modern Data Stores – read this FREE eBook to learn:
- What are the defining characteristics and strengths of today’s different cloud databases?
- How can data in NoSQL stores be analyzed to learn more about your customers?
- How are different open source databases used together to achieve polyglot persistence?
Get A Field Guide to the World of Modern Data Stores from IBM Cloud Data Services.
Learn more about NoSQL and Cloud Data Stores
- IBM Cloud Data Services
- Real-time multi-tenant migration with Cloudant NoSQL database
- Navigating NoSQL and Cloud Data Services