SlideShare a Scribd company logo
1 of 20
Download to read offline
NewSQL
The Future of Databases?
1
Elvis Saravia & Dau-Heng Hsu
23/11/2015
Outline
● Introducing NewSQL
● Architecture
● Drawbacks of NewSQL
● Conclusion
● Q&A
2
What is NewSQL?
“...NewSQL is a class of modern relational database management systems
that seek to provide the same scalable performance of NoSQL systems for
online transaction processing (read-write) workloads while still maintaining
the ACID guarantees of a traditional database system…”
3
- Wikipedia
OLTP (Online Transaction Processing)
4
Old OLTP New OLTP
OldSQL for New OLTP ● Too slow
● Does not Scale
NoSQL for New OLTP ● Cannot guarantee consistency
NewSQL for New OLTP ● Fast, Scalable and consistent
● Supports SQL
State of the Database
5
ACID transactions
SQL support
Standardized
Horizontal Scaling
High Availability
Horizontal Scaling
High Availability
ACID transactions
SQL support
Standardized
ACID transactions
Horizontal Scaling
High Availability
SQL support
Standardized
RDBMS (OLDSQL) NOSQL NEWSQL
A more comprehensive look
6
● Traditional OldSQL
○ SQL
○ ACID compliant
○ Re-write and re-architect to scale (Sharding, Denormalizing, Distributed Caching)
● NoSQL
○ Scalability and Availability
○ Schema-less (great for non-transactional systems)
○ Give up SQL
○ Give up ACID transactions (not fit for OLTP systems)
● NewSQL
○ SQL
○ Scalable, shared nothing architecture
○ ACID compliant
○ Schema
Why do we need NewSQL (Summary)?
● Provide the same scalable performance of NoSQL for OLTP, and still
maintaining the ACID.
● With relations and SQL.
7
8
NewSQL Categories
1. New architectures: VoltDB, NuoDB
2. SQL engines: TokuDB, ScaleDB
3. Transparent sharding: ScaleBase, dbShards
9
Source: Wikipedia
1. Architecture: New architectures
● Provide concurrency control.
● Traditional relational db concurrency control
○ 2 phase locking
● Newsql db concurrency control
○ MVCC (Multi Version Concurrency Control)
○ Basic Timestamp Concurrency Control
○ Optimistic Concurrency Control
○ T/O with Partition-Level Locking
○ And others.
● e.g. Google Spanner, VoltDB, MemSQL
10
MVCC (Multi Version Concurrency Control)
● Read data without blocking update.
● Each transaction keeps a snapshot.
● By reading the snapshot, gets a consistent view of the database.
● Cost:
○ Garbage collection on old snapshot.
11New architectures
snapshots time
Basic Timestamp Concurrency Control
● Timestamp on tuple.
● For read or write:
○ rejects if the timestamp is less than the timestamp of the last write to that tuple.
● For a write operation:
○ rejects if the timestamp is less than the timestamp of the last read to that tuple.
● Cost:
○ Each site maintains a logical clock, need to be accurate.
12New architectures
Optimistic Concurrency Control
● Tracks the read/write transaction; Stores all write operations in private
workspace.
● The system determines whether that transaction’s read set overlaps with
the write set of any concurrent transactions.
● Transactions write their updates to shared memory only at commit
time, the contention period is short.
● Cost:
○ Rollback
13New architectures
T/O with Partition-Level Locking
● Database is divided into disjoint subsets, called partitions.
● Partition
○ Lock.
○ Single-threaded execution engine.
● Apply timestamp on a transaction, and add to queues.
● Execution the oldest timestamp transaction in the queue.
14New architectures
2. Architecture: SQL engines
● Provide highly optimized storage engines for SQL.
○ use MySQL Cluster as an example.
● Separate nodes into 3 kinds of node
○ Data node
■ Store the data
○ Management node
■ Configuration and monitoring of the cluster.
○ Application node or SQL node
■ Connects to all of the data nodes and perform data storage and retrieval.
● Consistency will be controlled by Application nodes.
15
3. Architecture: Transparent sharding
● Use sharding middleware.
● All the node can connect to middleware.
● Middleware will control all the process to
ensure the consistency.
● e.g. dbShards and ScaleBase.
16
Main drawback
● Write latency.
○ With the concurrency control, need more time to make sure the data is consistent.
● Can use in-memory mechanism to help us reduce latency, but restricted
by memory size.
17Source: http://www.planetcassandra.org/nosql-performance-benchmarks/
Write latency for workload Read/Write
Conclusion
● A database trend to watch
● NewSQL is ACID compliant, SQL based, scalable, distributed, highly
available RDBMS system
● NewSQL databases are becoming more demanded due to the rise of
data-oriented industries (e.g. IoT)
18
Something to think about: In fact, both NoSQL
and NewSQL databases can offer a degree of
consistency, and availability, as well as partition
tolerance.
References
1. http://www.informationweek.com/big-data/big-data-analytics/16-nosql-ne
wsql-databases-to-watch/d/d-id/1269559
2. https://en.wikipedia.org/wiki/NewSQL
3. https://github.com/cockroachdb/cockroach
4. https://voltdb.com/
5. https://451research.com
19
Q&A
20

More Related Content

What's hot

1. introduction to no sql
1. introduction to no sql1. introduction to no sql
1. introduction to no sqlAnuja Gunale
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Data Warehouse Architecture.pptx
Data Warehouse Architecture.pptxData Warehouse Architecture.pptx
Data Warehouse Architecture.pptx22PCS007ANBUF
 
Apache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & InternalsApache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & InternalsAnton Kirillov
 
Keep me in the Loop: INotify in HDFS
Keep me in the Loop: INotify in HDFSKeep me in the Loop: INotify in HDFS
Keep me in the Loop: INotify in HDFSDataWorks Summit
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDBvaluebound
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using MahoutIMC Institute
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm Chandler Huang
 
Centralised and distributed databases
Centralised and distributed databasesCentralised and distributed databases
Centralised and distributed databasesForrester High School
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache SparkRahul Jain
 
Presto query optimizer: pursuit of performance
Presto query optimizer: pursuit of performancePresto query optimizer: pursuit of performance
Presto query optimizer: pursuit of performanceDataWorks Summit
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with HadoopPhilippe Julio
 
Hadoop File system (HDFS)
Hadoop File system (HDFS)Hadoop File system (HDFS)
Hadoop File system (HDFS)Prashant Gupta
 
Time series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionTime series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionPatrick McFadin
 
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...Edureka!
 

What's hot (20)

Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
MyRocks Deep Dive
MyRocks Deep DiveMyRocks Deep Dive
MyRocks Deep Dive
 
In-Memory DataBase
In-Memory DataBaseIn-Memory DataBase
In-Memory DataBase
 
1. introduction to no sql
1. introduction to no sql1. introduction to no sql
1. introduction to no sql
 
Hadoop hdfs
Hadoop hdfsHadoop hdfs
Hadoop hdfs
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Data Warehouse Architecture.pptx
Data Warehouse Architecture.pptxData Warehouse Architecture.pptx
Data Warehouse Architecture.pptx
 
Apache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & InternalsApache Spark in Depth: Core Concepts, Architecture & Internals
Apache Spark in Depth: Core Concepts, Architecture & Internals
 
Keep me in the Loop: INotify in HDFS
Keep me in the Loop: INotify in HDFSKeep me in the Loop: INotify in HDFS
Keep me in the Loop: INotify in HDFS
 
The Basics of MongoDB
The Basics of MongoDBThe Basics of MongoDB
The Basics of MongoDB
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using Mahout
 
Introduction to Storm
Introduction to Storm Introduction to Storm
Introduction to Storm
 
Centralised and distributed databases
Centralised and distributed databasesCentralised and distributed databases
Centralised and distributed databases
 
Introduction to Apache Spark
Introduction to Apache SparkIntroduction to Apache Spark
Introduction to Apache Spark
 
Presto query optimizer: pursuit of performance
Presto query optimizer: pursuit of performancePresto query optimizer: pursuit of performance
Presto query optimizer: pursuit of performance
 
Big Data Analytics with Hadoop
Big Data Analytics with HadoopBig Data Analytics with Hadoop
Big Data Analytics with Hadoop
 
Hadoop File system (HDFS)
Hadoop File system (HDFS)Hadoop File system (HDFS)
Hadoop File system (HDFS)
 
Time series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long versionTime series with Apache Cassandra - Long version
Time series with Apache Cassandra - Long version
 
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
 

Viewers also liked

NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015Ivan Glushkov
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database OverviewSteve Min
 
How Rakuten Reduced Database Management Spending by 90%
How Rakuten Reduced Database Management Spending by 90%How Rakuten Reduced Database Management Spending by 90%
How Rakuten Reduced Database Management Spending by 90%Rakuten Group, Inc.
 
NewSQL: The Best of Both "OldSQL" and "NoSQL"
NewSQL: The Best of Both "OldSQL" and "NoSQL"NewSQL: The Best of Both "OldSQL" and "NoSQL"
NewSQL: The Best of Both "OldSQL" and "NoSQL"Sushant Choudhary
 
MySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMatthew Aslett
 
How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...
How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...
How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...Rakuten Group, Inc.
 
NewSQL vs NoSQL for New OLTP
NewSQL vs NoSQL for New OLTPNewSQL vs NoSQL for New OLTP
NewSQL vs NoSQL for New OLTPDATAVERSITY
 
Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供Rakuten Group, Inc.
 
Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.Clustrix
 
Introducing dashDB MPP: The Power of Data Warehousing in the Cloud
Introducing dashDB MPP: The Power of Data Warehousing in the CloudIntroducing dashDB MPP: The Power of Data Warehousing in the Cloud
Introducing dashDB MPP: The Power of Data Warehousing in the CloudIBM Cloud Data Services
 
Forecast of Big Data Trends
Forecast of Big Data TrendsForecast of Big Data Trends
Forecast of Big Data TrendsIMC Institute
 
楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関してRakuten Group, Inc.
 

Viewers also liked (14)

NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015
 
NewSQL
NewSQLNewSQL
NewSQL
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database Overview
 
How Rakuten Reduced Database Management Spending by 90%
How Rakuten Reduced Database Management Spending by 90%How Rakuten Reduced Database Management Spending by 90%
How Rakuten Reduced Database Management Spending by 90%
 
NewSQL: The Best of Both "OldSQL" and "NoSQL"
NewSQL: The Best of Both "OldSQL" and "NoSQL"NewSQL: The Best of Both "OldSQL" and "NoSQL"
NewSQL: The Best of Both "OldSQL" and "NoSQL"
 
MySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey resultsMySQL vs. NoSQL and NewSQL - survey results
MySQL vs. NoSQL and NewSQL - survey results
 
How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...
How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...
How Rakuten Reduced Database Management Spending by 90% through Clustrix impl...
 
NewSQL vs NoSQL for New OLTP
NewSQL vs NoSQL for New OLTPNewSQL vs NoSQL for New OLTP
NewSQL vs NoSQL for New OLTP
 
楽天のSplunk as a service
楽天のSplunk as a service楽天のSplunk as a service
楽天のSplunk as a service
 
Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供Clustrixによる社内データベースクラウド環境の提供
Clustrixによる社内データベースクラウド環境の提供
 
Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.Achieve new levels of performance for Magento e-commerce sites.
Achieve new levels of performance for Magento e-commerce sites.
 
Introducing dashDB MPP: The Power of Data Warehousing in the Cloud
Introducing dashDB MPP: The Power of Data Warehousing in the CloudIntroducing dashDB MPP: The Power of Data Warehousing in the Cloud
Introducing dashDB MPP: The Power of Data Warehousing in the Cloud
 
Forecast of Big Data Trends
Forecast of Big Data TrendsForecast of Big Data Trends
Forecast of Big Data Trends
 
楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して楽天トラベルの開発プロセスに関して
楽天トラベルの開発プロセスに関して
 

Similar to NewSQL - The Future of Databases?

Monitoring Cassandra With An EYE
Monitoring Cassandra With An EYEMonitoring Cassandra With An EYE
Monitoring Cassandra With An EYEKnoldus Inc.
 
An Introduction to Apache Cassandra
An Introduction to Apache CassandraAn Introduction to Apache Cassandra
An Introduction to Apache CassandraSaeid Zebardast
 
MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017Severalnines
 
ClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outMariaDB plc
 
Event driven architectures with Kinesis
Event driven architectures with KinesisEvent driven architectures with Kinesis
Event driven architectures with KinesisMark Harrison
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLScyllaDB
 
Seastar / ScyllaDB, or how we implemented a 10-times faster Cassandra
Seastar / ScyllaDB,  or how we implemented a 10-times faster CassandraSeastar / ScyllaDB,  or how we implemented a 10-times faster Cassandra
Seastar / ScyllaDB, or how we implemented a 10-times faster CassandraTzach Livyatan
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific DashboardCeph Community
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practicesOmid Vahdaty
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XCAshutosh Bapat
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1Ruslan Meshenberg
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadKrivoy Rog IT Community
 
Redis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HARedis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HADave Nielsen
 
The Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL DatabasesThe Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL DatabasesDave Stokes
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBMariaDB plc
 

Similar to NewSQL - The Future of Databases? (20)

Monitoring Cassandra With An EYE
Monitoring Cassandra With An EYEMonitoring Cassandra With An EYE
Monitoring Cassandra With An EYE
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
An Introduction to Apache Cassandra
An Introduction to Apache CassandraAn Introduction to Apache Cassandra
An Introduction to Apache Cassandra
 
MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017MySQL Cluster (NDB) - Best Practices Percona Live 2017
MySQL Cluster (NDB) - Best Practices Percona Live 2017
 
ClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale outClustrixDB: how distributed databases scale out
ClustrixDB: how distributed databases scale out
 
Event driven architectures with Kinesis
Event driven architectures with KinesisEvent driven architectures with Kinesis
Event driven architectures with Kinesis
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQL
 
Seastar / ScyllaDB, or how we implemented a 10-times faster Cassandra
Seastar / ScyllaDB,  or how we implemented a 10-times faster CassandraSeastar / ScyllaDB,  or how we implemented a 10-times faster Cassandra
Seastar / ScyllaDB, or how we implemented a 10-times faster Cassandra
 
2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard2021.02 new in Ceph Pacific Dashboard
2021.02 new in Ceph Pacific Dashboard
 
NoSQL Evolution
NoSQL EvolutionNoSQL Evolution
NoSQL Evolution
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practices
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XC
 
NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1NetflixOSS Meetup season 3 episode 1
NetflixOSS Meetup season 3 episode 1
 
Rails DB migrate SAFE.pdf
Rails DB migrate SAFE.pdfRails DB migrate SAFE.pdf
Rails DB migrate SAFE.pdf
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High load
 
Redis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HARedis as a Main Database, Scaling and HA
Redis as a Main Database, Scaling and HA
 
The Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL DatabasesThe Proper Care and Feeding of MySQL Databases
The Proper Care and Feeding of MySQL Databases
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
Megastore by Google
Megastore by GoogleMegastore by Google
Megastore by Google
 
Hochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDBHochverfügbarkeitslösungen mit MariaDB
Hochverfügbarkeitslösungen mit MariaDB
 

More from Elvis Saravia

The Future of Brain-Powered Learning
The Future of Brain-Powered Learning The Future of Brain-Powered Learning
The Future of Brain-Powered Learning Elvis Saravia
 
Introduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNsIntroduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNsElvis Saravia
 
Text mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector RepresentationText mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector RepresentationElvis Saravia
 
Thesis oral defense 2015 elvis saravia
Thesis oral defense 2015  elvis saraviaThesis oral defense 2015  elvis saravia
Thesis oral defense 2015 elvis saraviaElvis Saravia
 
An Introduction to Apache Spark
An Introduction to Apache SparkAn Introduction to Apache Spark
An Introduction to Apache SparkElvis Saravia
 
The Neurochemistry of Music
The Neurochemistry of MusicThe Neurochemistry of Music
The Neurochemistry of MusicElvis Saravia
 
Crowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systemsCrowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systemsElvis Saravia
 
Relational Databases - Benefits and Challenges
Relational Databases - Benefits and ChallengesRelational Databases - Benefits and Challenges
Relational Databases - Benefits and ChallengesElvis Saravia
 
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...Elvis Saravia
 

More from Elvis Saravia (9)

The Future of Brain-Powered Learning
The Future of Brain-Powered Learning The Future of Brain-Powered Learning
The Future of Brain-Powered Learning
 
Introduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNsIntroduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNs
 
Text mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector RepresentationText mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector Representation
 
Thesis oral defense 2015 elvis saravia
Thesis oral defense 2015  elvis saraviaThesis oral defense 2015  elvis saravia
Thesis oral defense 2015 elvis saravia
 
An Introduction to Apache Spark
An Introduction to Apache SparkAn Introduction to Apache Spark
An Introduction to Apache Spark
 
The Neurochemistry of Music
The Neurochemistry of MusicThe Neurochemistry of Music
The Neurochemistry of Music
 
Crowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systemsCrowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systems
 
Relational Databases - Benefits and Challenges
Relational Databases - Benefits and ChallengesRelational Databases - Benefits and Challenges
Relational Databases - Benefits and Challenges
 
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
 

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

NewSQL - The Future of Databases?

  • 1. NewSQL The Future of Databases? 1 Elvis Saravia & Dau-Heng Hsu 23/11/2015
  • 2. Outline ● Introducing NewSQL ● Architecture ● Drawbacks of NewSQL ● Conclusion ● Q&A 2
  • 3. What is NewSQL? “...NewSQL is a class of modern relational database management systems that seek to provide the same scalable performance of NoSQL systems for online transaction processing (read-write) workloads while still maintaining the ACID guarantees of a traditional database system…” 3 - Wikipedia
  • 4. OLTP (Online Transaction Processing) 4 Old OLTP New OLTP OldSQL for New OLTP ● Too slow ● Does not Scale NoSQL for New OLTP ● Cannot guarantee consistency NewSQL for New OLTP ● Fast, Scalable and consistent ● Supports SQL
  • 5. State of the Database 5 ACID transactions SQL support Standardized Horizontal Scaling High Availability Horizontal Scaling High Availability ACID transactions SQL support Standardized ACID transactions Horizontal Scaling High Availability SQL support Standardized RDBMS (OLDSQL) NOSQL NEWSQL
  • 6. A more comprehensive look 6 ● Traditional OldSQL ○ SQL ○ ACID compliant ○ Re-write and re-architect to scale (Sharding, Denormalizing, Distributed Caching) ● NoSQL ○ Scalability and Availability ○ Schema-less (great for non-transactional systems) ○ Give up SQL ○ Give up ACID transactions (not fit for OLTP systems) ● NewSQL ○ SQL ○ Scalable, shared nothing architecture ○ ACID compliant ○ Schema
  • 7. Why do we need NewSQL (Summary)? ● Provide the same scalable performance of NoSQL for OLTP, and still maintaining the ACID. ● With relations and SQL. 7
  • 8. 8
  • 9. NewSQL Categories 1. New architectures: VoltDB, NuoDB 2. SQL engines: TokuDB, ScaleDB 3. Transparent sharding: ScaleBase, dbShards 9 Source: Wikipedia
  • 10. 1. Architecture: New architectures ● Provide concurrency control. ● Traditional relational db concurrency control ○ 2 phase locking ● Newsql db concurrency control ○ MVCC (Multi Version Concurrency Control) ○ Basic Timestamp Concurrency Control ○ Optimistic Concurrency Control ○ T/O with Partition-Level Locking ○ And others. ● e.g. Google Spanner, VoltDB, MemSQL 10
  • 11. MVCC (Multi Version Concurrency Control) ● Read data without blocking update. ● Each transaction keeps a snapshot. ● By reading the snapshot, gets a consistent view of the database. ● Cost: ○ Garbage collection on old snapshot. 11New architectures snapshots time
  • 12. Basic Timestamp Concurrency Control ● Timestamp on tuple. ● For read or write: ○ rejects if the timestamp is less than the timestamp of the last write to that tuple. ● For a write operation: ○ rejects if the timestamp is less than the timestamp of the last read to that tuple. ● Cost: ○ Each site maintains a logical clock, need to be accurate. 12New architectures
  • 13. Optimistic Concurrency Control ● Tracks the read/write transaction; Stores all write operations in private workspace. ● The system determines whether that transaction’s read set overlaps with the write set of any concurrent transactions. ● Transactions write their updates to shared memory only at commit time, the contention period is short. ● Cost: ○ Rollback 13New architectures
  • 14. T/O with Partition-Level Locking ● Database is divided into disjoint subsets, called partitions. ● Partition ○ Lock. ○ Single-threaded execution engine. ● Apply timestamp on a transaction, and add to queues. ● Execution the oldest timestamp transaction in the queue. 14New architectures
  • 15. 2. Architecture: SQL engines ● Provide highly optimized storage engines for SQL. ○ use MySQL Cluster as an example. ● Separate nodes into 3 kinds of node ○ Data node ■ Store the data ○ Management node ■ Configuration and monitoring of the cluster. ○ Application node or SQL node ■ Connects to all of the data nodes and perform data storage and retrieval. ● Consistency will be controlled by Application nodes. 15
  • 16. 3. Architecture: Transparent sharding ● Use sharding middleware. ● All the node can connect to middleware. ● Middleware will control all the process to ensure the consistency. ● e.g. dbShards and ScaleBase. 16
  • 17. Main drawback ● Write latency. ○ With the concurrency control, need more time to make sure the data is consistent. ● Can use in-memory mechanism to help us reduce latency, but restricted by memory size. 17Source: http://www.planetcassandra.org/nosql-performance-benchmarks/ Write latency for workload Read/Write
  • 18. Conclusion ● A database trend to watch ● NewSQL is ACID compliant, SQL based, scalable, distributed, highly available RDBMS system ● NewSQL databases are becoming more demanded due to the rise of data-oriented industries (e.g. IoT) 18 Something to think about: In fact, both NoSQL and NewSQL databases can offer a degree of consistency, and availability, as well as partition tolerance.