We’re excited to bring Transform 2022 back to life on July 19th and virtually July 20-28. Join AI and data leaders for sensible conversations and exciting networking opportunities. Register today!
Relational databases and SQL were invented in the 1970’s, but data still dominates the world today. Why? Relational calculus, consistent data, logical data presentation are all reasons that a relational database advocate can be credited for its success. However, the success of a relational database can be attributed to two practical things: speed and the power of SQL query language.
The so-called “NoSQL” technology seems to be the opposite of those powers. But in reality, NoSQL is building its own momentum, and how that is happening provides SQL familiarity and power.
The power of SQL
Let’s review the power of SQL that it does not exist: there is no declarative language to work with data. Instead, we must work. Instead of specifying What The data we want, we have to mention how To get it.
With this strategy, verbose instructions are provided for each step of the database query: matching, grouping, projecting and sorting. Some are processed by clients, and some by servers. That strategy compares to a declarative SQL query, how to project, how to sort and all the process is left on the specified database. All we have left is a simple language to read and write to get the data we need. And it is a standard language that anyone working with data can take and use with any other relational database. It’s no wonder relative and SQL dominated.
The limits of the relationship
So, why does NoSQL exist? Gartner found that the non-relational DBMS market was the fastest growing segment in 2020, expanding 34.5% (more than double the relational growth). Relational databases were not designed to deal with the scale of the Internet. Do you want a relational server to handle more work? You need Vertical scale Which means it’s about to be the most delusional time of the year, as well.
What happens when it becomes impossible or wildly expensive? If you are Amazon or Google, you have to go beyond the relational model. You have to Horizontal scale, Which means you have to connect to multiple servers simultaneously on the network. It introduces a whole new world of challenges to be solved. Amazon and Google had the resources to tackle those problems, research and publish technical papers that led to a whole new generation of open-source databases and database-centric vendors known as “NoSQL”.
Should I use NoSQL or not?
As NoSQL was introduced, so did microservices (a distributed approach to horizontal scaling of applications). Each microservice can use its own database, and in many cases, this means that the entire system can use the patchwork of multiple databases.
Sounds like a good approach, but there are challenges. Each microservice has its own domain of data, which is a good, integrated design. But now the data is spread not only in different databases, but in different technologies. In this new landscape, your team needs to learn maintenance, upgrades, purchases, licenses, patches (log4j, anyone?), And various database technologies, but they have to buy, license, build, maintain, maintain patches (again log4j?). , And learn data pipelines and integration In between Those techniques. This is known as “database sprolling”.
Solutions: single model, cloud and multimodal
Three approaches can help reduce database spray:
- Standardization on a database
- Lock in cloud provider
- Use a multimodal approach
Standardization on a database
This approach means commanding your organization: “Use this one database for everything.” The speed of the relational database makes it a popular choice: it may not be the best choice for search or caching or graphs, but “no one has ever been fired for buying IBM.” As the saying goes.
Pros: Huge talent pool, usually with enough time or money to “make it work”.
Cons: Expensive, less agile
For organizations operating in a certified domain that do not change frequently and do not require large-scale handling, this costly approach is worth considering.
Lock in cloud provider
Popular cloud providers (Azure, AWS, GCP) have integrated open-source databases, APIs and their own proprietary database technologies “as a service”. They can offer a wide range of databases to go with microservices. Because they control the cloud, they can offer integration, patching and maintenance between all of them. It’s still a database spread, but it’s less work.
Pros: One-stop shop, buffet of database choices
Cons: Can be very expensive, seller locked-in, behind open-source compatibility, still spread
This approach is popular, but there are risks. What happens if your apps are only built on AWS, for example, when the price goes up or a feature is removed? Your switching costs can be enormous (not just in dollars, but opportunity costs).
Use a multimodal approach
How can a NoSQL database compete with the Titanic ecosystem of Azure, AWS and GCP and still help you avoid database spreads? The answer is “multimodel” databases. These are databases built on the same data storage technology, but provide multiple ways to read, write, and access the same data.
Pros: One-stop shop, buffet of data interaction options, can be used in multiple clouds
Cons: Relatively new
Wait a minute, you said SQL?
Yes, SQL. It is now in the NoSQL database. The unrelated database turns to the most successful and well-known database language to work on unrelated data (such as JSON). It is known as SQL ++, and is an emerging standard championed by Couchbase, Amazon (PartiQL) and Microsoft (CosmosDB SQL).
We’re looking at a combination of Best Relational and Best NoSQL. Quick and flexible like NoSQL, familiar like Relational, future-proof multimodal approach, combine to make your database story more affordable.
Matthew Groves is a developer and database enthusiast at Couchbase,
Welcome to the VentureBeat community!
DataDecisionMakers is a place where experts, including tech people working on data, can share data-related insights and innovations.
If you would like to read about the latest ideas and latest information, best practices and the future of data and data tech, join us at DataDecisionMakers.
You might even consider contributing to your own article!
Read more from DataDecisionMakers