| | August 20159CIOReviewplatform highlights the value of both technologies in data management and availability. These databases typically operate with SQL as the main interface and provide a mechanism for consistent ACID transactions to be applied on data that is stored and distributed using NoSQL techniques. This approach enables these new database platforms to achieve the data consistency of a SQL database and the flexibility and scalability of a NoSQL database. It's easy to get caught up in the SQL versus NoSQL fight, but try to remember that it's really a complementary relationship. There is no single database, or database type, that is best for all types of data. It's important to remove those polarized lenses and make sure the choice to use one or the other (or both) is driven not by posturing, but by application, business, and operational requirements. the application. This presents challenges when automating the scaling and management of clusters, but these databases have very mature backup and recovery tools.With all this in mind, the complementary relationship between SQL and NoSQL emerges as a balance between the flexibility and scalability of NoSQL and the consistency of SQL.This theory of balance is seen in practice as most web applications use a combination of SQL and NoSQL databases. A hybrid approach allows applications to utilize the strengths of each for the different classes of data that they work with: data that requires accuracy, consistency, or ACID transactions, like payments and financial data, can be stored in SQL databases and data that can tolerate some inconsistency, like logs and user preferences, can be stored in NoSQL databases. This is by far the most common approach to data management.The other thing to consider from merely a performance standpoint is the type of data that the database was designed to handle. A database that is designed for full text search is going to perform full text search faster than a database designed for generic data storage. A common example is to keep a normalized copy of the data in a SQL database and create a denormalized view of that same data in a NoSQL database. While this approach is mostly used for enabling fast full text search of data stored in a SQL database, it can also be used to provide write consistency and read scalability, albeit with additional application complexity.It would be unfair not to point out that this complementary nature of SQL and NoSQL has not gone unnoticed. This is evident through the emergence of a new database technology coined NewSQL. NewSQL databases combine SQL and NoSQL features into a single database platform so that the strengths of both can be utilized efficiently. Examples of NewSQL databases are: VoltDB, FoundationDB, and NuoDB. Their combination of SQL and NoSQL into a new database There is no single database, or database type, that is best for all types of dataCraig Thayer
< Page 8 | Page 10 >