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

A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.Navdeep Charan
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Introduction To HBase
Introduction To HBaseIntroduction To HBase
Introduction To HBaseAnil Gupta
 
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
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introductionPooyan Mehrparvar
 
Hadoop tools with Examples
Hadoop tools with ExamplesHadoop tools with Examples
Hadoop tools with ExamplesJoe McTee
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremRahul Jain
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL DatabasesBADR
 
Database performance tuning and query optimization
Database performance tuning and query optimizationDatabase performance tuning and query optimization
Database performance tuning and query optimizationUsman Tariq
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageBethmi Gunasekara
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to RedisArnab Mitra
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentationHyphen Call
 
NoSql Data Management
NoSql Data ManagementNoSql Data Management
NoSql Data Managementsameerfaizan
 

What's hot (20)

A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.A Seminar on NoSQL Databases.
A Seminar on NoSQL Databases.
 
Mongodb vs mysql
Mongodb vs mysqlMongodb vs mysql
Mongodb vs mysql
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Introduction To HBase
Introduction To HBaseIntroduction To HBase
Introduction To HBase
 
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"
 
NoSQL databases - An introduction
NoSQL databases - An introductionNoSQL databases - An introduction
NoSQL databases - An introduction
 
Nosql databases
Nosql databasesNosql databases
Nosql databases
 
Designing data intensive applications
Designing data intensive applicationsDesigning data intensive applications
Designing data intensive applications
 
Hadoop tools with Examples
Hadoop tools with ExamplesHadoop tools with Examples
Hadoop tools with Examples
 
What is NoSQL and CAP Theorem
What is NoSQL and CAP TheoremWhat is NoSQL and CAP Theorem
What is NoSQL and CAP Theorem
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Nosql data models
Nosql data modelsNosql data models
Nosql data models
 
Database performance tuning and query optimization
Database performance tuning and query optimizationDatabase performance tuning and query optimization
Database performance tuning and query optimization
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
MongoDB presentation
MongoDB presentationMongoDB presentation
MongoDB presentation
 
Introduction to Amazon Redshift
Introduction to Amazon RedshiftIntroduction to Amazon Redshift
Introduction to Amazon Redshift
 
NoSql Data Management
NoSql Data ManagementNoSql Data Management
NoSql Data Management
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Apache HBase™
Apache HBase™Apache HBase™
Apache HBase™
 

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.
 
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 (13)

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%
 
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

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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

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.