NewSQL is a group of newer relational database management system which promises to achieve the scalable performance like NoSQL while being ACID compliant. ACID is a set of properties, namely Atomicity, Consistency, Isolation, Durability. That “standard” intended to guarantee validity facing events such as power failure. Although, NewSQL systems vary widely in their internal architectures, their two common hallmarks are support for the relational data model and the use of SQL as its main interface. One of the best known NewSQL systems is the H-Store.
Types of NewSQL
The term NewSQL was first used in a research paper in 2011, while discussing the emergence of new database systems. Many business systems such as financial sector that handle high profile data should also be able to scale, but they are not able to use NoSQL solutions because they cannot give up high transactional and consistency requirements. The only options previously available to these organizations were to acquire a more powerful single-node machine or develop custom middleware to distribute queries across more traditional DBMS nodes. Both approaches are excessively expensive for most, and therefore, in this work, Aslett analyzes the possibilities of NewSQL to compete with other commercial providers, and in particular with Oracle.
They are classified in to three categories :
- New architectures
- MySQL engines
- Transparent protection
The first type of NewSQL systems are completely new database platforms. They are designed to work in a shared-nothing distributed cluster, in which each node has a subset of the data. Although different design approaches have been used in many of the new databases, there are two main categories in evolution. They send the execution of transactions and queries to the nodes that contain the necessary data. SQL queries are divided into fragments and sent to the nodes, which are the ones that process and contain the data. These databases are capable of scaling linearly as additional nodes are added. General purpose databases maintain the full functionality of traditional databases and the handling of all types of queries. These databases are often written from scratch with a distributed architecture in mind, and include components such as distributed concurrency control, flow control, and distributed query processing. Among them are Google Spanner, Clustrix, NuoDB and TransLattice .
In memory database systems are characterized by having a large number of short-term transactions, which touch a small subset of data using index searches and repetitive. These NewSQL systems achieve high performance and scalability by preventing much of the architecture from being inherited from the original design of the R System, such as recovery algorithms or concurrency control. Two example systems in this category are VoltDB and SQLFire from GoPivotal.
The second type is optimized as an SQL storage engine. These systems provide the same programming interface as MySQL, but with better scale built into the engines, such as InnoDB. Several examples of these new engines are: TokuDB, MemSQL and Akiban.
Third type systems provide an intermediate protective layer to automatically divide the databases across multiple nodes. Some examples of this type of system are dbShards, Scalearc, Scalebase and MySQL Cluster.
Illustration is by Dr. Rabi Prasad Padhy, PhD
NewSQL is a term which is being used by a new type of scalable databases which support a SQL interface. The requirements from databases in this era of Internet of Things and cloud is more different. The need from databases started them to divided into the categories of OLAP and OLTP. NoSQL are useful for applications where strong consistency is not essential. In other words, NoSQL databases are not easy to use where consistency is critical. A good example is the e-commerce platforms. The NewSQL group came in various form to augment.