Top Signs You Need a Non-Relational Database
Today’s data is coming in at speeds and substances we’ve never before seen. Systems designed during the days of disco are being used to handle petabytes of information in real time. Much like the Bee Gees, these systems are out of touch with the demands of today.
If you find your systems in need of the following, you may want to look at a NoSQL database:
Simplicity
Relational databases are a system of rows and tables that need to be pieced together to serve a query. If you need a distributed data cluster, you are adding a new layer of complexity by having to piece together tables from different nodes. This lengthens latency, impedes performance, and makes for a more complex system.
Non-relational databases have all the information you need in one document, with links to specific pieces of information you might need. This eliminates a layer of complexity and a ton of latency and throughput, and it makes distributed data a snap.
Scalability and availability
Among the benefits of a distributed data network is the ability to add and remove nodes on demand. On cloud platforms, this is done automatically. When you need more, the system will create a new node, replicate the data to it, and suddenly, you have an additional cash register to handle your growing lines.
At the same time, your data needs to be on 99.999% of the time. With assignment failover, you can quickly spin up a new node if one goes down, maintaining the number of service points at all times. This protects performance, keeps you open 24/7, and makes the customer very happy.
Agility for quick release cycles
One of the biggest roadblocks to your next release might be the database schema. You have to set it up at the beginning of your project when you know the least about its needs. Making changes to the foundation of your data takes as much time and effort as it would to make changes to the foundation of a building. This can put the brakes on your next build.
A schemaless data model gives you the ultimate flexibility. You can start using your database right away and move to the next version a lot sooner.
Dynamic application architecture
Non-relational databases offer document, key value, counters, time series, graph and other models seamlessly. This enables you to take in data any way you need to. You can use a document for orders, a graph for recommending products or content, and time series for IoT data ingestion. This flexibility is great for a microservice architecture or for simply making your application best fit its data needs.
ACID data consistency
Fully transactional guarantees are the marquis item of relational databases. How can you benefit from all that non-relational databases have to offer when you cannot count on the data being accurate? Compromised data can throw off all aggregates, making the metrics you rely on to be wrong, rendering the decisions you make based on that information risky.
A non-relational database that is ACID gives you everything but the kitchen sink . . . and that too! The key is to make sure that enjoying ACID does not cost you in performance. Only the elite class of non-relational databases are up to the task.
Case Study: Point of Sale in 36,000 Locations
A Fortune 100 Quick Food Enterprise installed 1.5 million instances of RavenDB in point-of-sale kiosks in over 36,000 of its restaurants worldwide. They used RavenDB as part of their microservices architecture. The following strengths of non-relational databases were utilized for the project:
- Data distribution with minimal complexity. When one kiosk went down, local staff were able to replace it with the push of a button. There was no need for DBA or IT engineers. An assistant manager, usually an 18-year old high school student, was able to set up a new kiosk and replicate the data from another node instantly.
- ACID integrity with fast performance. Over $400,000 of orders were processed every minute.
- Replication. All 36,000 locations needed copies of fresh data at all times.
- Connectivity. If a kiosk went offline, the database could continue to work and then update the rest of the cluster once connectivity was restored.
It’s Easier Than You Think
Conquering the new world of non-relational doesn’t require you to reinvent the wheel. It is more like shifting to a faster gear. The best NoSQL databases are easy to set up and simple to use. Many NoSQL options, like RavenDB, offer an SQL-based query language that enables you to leverage what you already know so your starting point is already halfway to the finish line.
You can download one for free, and get total access to the boot camp, documentation, and webinars on how to model your data in document form, how to set up a database without a schema, and how to boost performance on a NoSQL database while keeping ACID data integrity.
About Oren Eini
Oren Eini, CEO and founder of Hibernating Rhinos, has more than 20 years of experience in the development world with a strong focus on the Microsoft and .NET ecosystem. Recognized as one of Microsoft’s Most Valuable Professionals since 2007, Oren is also the author of “Inside RavenDB.” He frequently speaks at industry conferences such as DevTeach, JAOO, QCon, Oredev, NDC, Yow! and Progressive.NET. An avid blogger, you can also find him under his pseudonym as Ayende Rahien at Ayende.com.