SQL vs NoSQL vs NewSQL: Which one?

SQL is back, more profitable than ever, overwhelming NoSQL ( source ), now businesses have to choose between traditional SQL or NoSQL, or even NewSQL Database? Mike Stonebraker, who won the 2015 Turing Award, once said "one size does not fit all". The idea is to use only one database that can serve for all cases no longer practical.

If you are satisfied with the performance and endurance of traditional SQL database management systems (such as Oracle, SQL server, MySQL) then you don't need to read any more. But if you are having a headache because of this problem, there is more choice for you is NoSQL and NewSQL. But which guy?

Here are some of the benefits of traditional SQL (called OldSQL), NoSQL and NewSQL, which can help you find the database you want.

OLDSQL

Traditional SQL databases have existed for decades and are present in almost every app we use today. If you deploy the app with relative performance, that's great, not having to replace the new database. Changing databases is not only labor intensive but also risky.

OLDSQL strengths

  • SQL is a common standard that has proven stable for several decades
  • Integrate with ORM classes like Hibernate or ActiveRecord
  • Good support for client-side transactions
  • Use query and report
  • Large market share in the market

OLDSQL weaknesses

  • It is very difficult to expand (architecture is not open-oriented).
  • Traditional SQL is built on the idea of ​​"one size fit all", the normal application is fine but it will be problematic when the database blooms
  • Parameter adjustment is complex and often requires experts to balance performance, data security and data usage.

NOSQL

Because of different criteria, there are many different NoSQL systems.

Priority type first availability

For example, you are studying the sensor data, your app writes data to the database and usually does not edit. You want to save on the cloud and do not care much about its consistency when distributing to access points, many access points of other data centers, …

The interaction between your app and the database is simply "CREATE" and "GET". Most importantly, the database must always run to receive new content and must always send content when requested even if the content is not the latest. The database system is typical of DynamoDB , Riak and Cassandra .

Flexibility priority (flexibility)

This type is more famous and can include MongoDB and CouchDB , which stores data in JSON design, often called schemaless (without schema). This type of database has no schema consistency in all records, which makes schema management less framed but more confusing. Small dev groups and simple data often use this type.

Other systems are expanded by managing and arranging better key-values. Redis is a well-known library that creates many lists that can be conveniently arranged for ranking. Depending on your purpose, you can add other features to the system.

Priority type other data model or special type

Most commonly, the system is tuned to handle graphing (graph) like Neo4j . Another example is an array database; SciDB uses Python and R to access MPP array data for scientific research. Accumulo is a combination of Cassandra and BigTable 's wide column database but focuses on each cell more. Systems like etcd distribute file databases into data configuration storage for other services. Elasticsearch is the famous system for searching text in app.

NOSQL plus points

  • The eventual-consistency algorithm ensures the availability of the database
  • Better scalability than traditional SQL
  • Many of the NoSQL systems are optimized to support unrelated data such as log messages, XML and JSON as well as documents without specific architectures, so you don't need to consider schema when writing but only need to see the schema when reading.

NOSQL minus points

  • This type of system does not support transaction (ACID)
  • OLAP queries require a large amount of code to execute. Therefore readability will decrease when the database blooms.

NEWSQL

This type of database is not as resonable as NoSQL. NewSQL systems often start from relational databases and SQL query language and they want to solve problems such as scalability, immobility or lack of focus while ensuring consistency.

But in this group there are many differences. HANA was created just for reporting for businesses, perfectly suited to SAP deployment. Hekaton adds an intelligent internal memory to Microsoft SQL server. Both systems are non-clustered and designed to replace or enhance the deployment of OldSQL directly.

NuoDB is the first clustered SQL database focused on cloud-ops: run on multiple nodes throughout many data centers and let the system behind manage data locally and consistently for you. The price to pay is performance and consistency for arbitrary work. The closer the job is to key-value, the more system-wide data management is. NuoDB is the best system based on the consistency of NewSQL.

Other types focus on clustering type analysis like MemSQL . MemSQL is distributed with MySQL features and often for faster OLAP analysis than other OldSQL (faster data updating capability)

VoltDB combines stream analysis, ACID assurance and clustering. As a result, VoltDB can both be a recording system for apps that require large amounts of data, as well as a device for handling large amounts of data transmitted. VoltDB is the perfect choice for databases that require quick decision making.

If your goal has the "ingest, analyze, decide" model as follows:

  • Large amount of data to access
  • Input events are always in the form of streams (sensors, mobile phones, network access points) and need to calculate the response rate and analyze each event in real time.

NewSQL may be a good choice with the ability to expand endurance but also ensure consistency.

NewSQL good score

  • Reduce the complexity of the app thanks to consistency
  • Familiar SQL feature
  • Serving better analysis and better scalability than SQL
  • Many systems provide NoSQL classification but traditional data types and query models.

NewSQL bad score

  • NewSQL often serves certain objectives, not generic like SQL
  • Memory architecture into internal memory may not be suitable for data volumes that are too many terabytes.

Source: http://dataconomy.com/sql-vs-nosql-vs-newsql-finding-the-right-solution/

ITZone via Techmaster

Share the news now