NewSQL is a category of modern relational database management systems that seek to provide the same scalable performance of NoSQL systems for online transaction processing (OLTP) read-write workloads while still maintaining the ACID guarantees of a traditional database system.

The term “NewSQL” was coined to describe new commercial and open-source database systems that solved the scalability issues related to traditional online transaction processing (OLTP) RDBMS like MySQL, PostgreSQL, and Oracle DB.

Key Features of NewSQL:

  1. Scalability: One of the primary features of NewSQL databases is their ability to scale out using distributed systems principles, often achieved by sharding data across many servers.
  2. ACID Transactions: Unlike many NoSQL systems which offer eventual consistency, NewSQL systems provide full ACID (Atomicity, Consistency, Isolation, Durability) guarantees.
  3. SQL Interface: NewSQL systems continue to use SQL as their query language, ensuring a degree of familiarity and compatibility for developers and existing applications.
  4. Distributed Architecture: Many NewSQL databases are designed from the ground up as distributed systems to support cloud-based environments and global data distribution.
  5. Optimized Storage and Retrieval: Some NewSQL systems are designed with storage engines optimized for specific workloads, often resulting in significant performance gains.

Notable NewSQL Databases:

  1. Google Spanner: A globally distributed database service from Google Cloud, which leverages Google’s internal infrastructure for global consistency and scalability.
  2. CockroachDB: An open-source, cloud-native SQL database that offers both scalability and strong consistency.
  3. NuoDB: A distributed relational database that can be scaled out in a cloud or on-premises infrastructure.
  4. VoltDB: An in-memory NewSQL database that is specifically designed for high-velocity applications.
  5. TiDB: A distributed scalable hybrid transactional and analytical processing (HTAP) database.

Benefits of NewSQL:

  1. Best of Both Worlds: NewSQL databases attempt to provide the benefits of traditional RDBMS (ACID transactions and SQL interface) and the scalability of NoSQL databases.
  2. Compatibility: Due to the use of SQL, migrating from a traditional RDBMS to a NewSQL system might be simpler than migrating to a NoSQL solution.
  3. Durability and Reliability: With ACID compliance, NewSQL databases ensure data integrity and consistency.

Limitations:

  1. Maturity: Many NewSQL systems are relatively new compared to established RDBMS and NoSQL systems. This could mean fewer features, less community support, and potential unknown bugs or issues.
  2. Complexity: The distributed nature of many NewSQL systems can introduce complexities in deployment, maintenance, and operations.
  3. Cost: Some NewSQL solutions, especially commercial ones, can be expensive, particularly at scale.

In conclusion, NewSQL databases represent a new generation of database management systems that attempt to marry the benefits of traditional RDBMS and NoSQL databases. For organizations that need the scalability offered by NoSQL while retaining the guarantees and familiarity of SQL, NewSQL can be an excellent choice. As always, the suitability of a NewSQL database will depend on the specific requirements and constraints of a given project or application.