Lec2 NewSql
Lec2 NewSql
Transaction Processing
Today’s scenario… “Big Data”
▪ Big volume
+ have too much data
▪ Big velocity
+ Data is coming too fast
▪ Big variety
+ have too many data sources
Traditional Transaction Processing
The internet
+ Client is no longer a professional terminal operator
+ Instead are using the web herself
PDAs
+ Your cell phone is a transaction originator
▪ OldSQL
+ Legacy RDBMS vendors
▪ NoSQL
+ Give up SQL and ACID for performance
▪ NewSQL
+ Preserve SQL and ACID
+ Get performance from a new architecture
OldSQL
▪ Give up SQL
▪ Give up ACID
Give Up SQL?
▪ Funds transfer
+ anybody moving something from X to Y
▪ SQL
▪ ACID
▪ Performance and scalability through modern
innovative software architecture
NewSQL
▪ Some details
+ On-line failover?
— a backup operational mode that automatically switches to a
standby database, server or network if primary fails
+ On-line failback?
— process of returning production to its original location after a
disaster or a scheduled maintenance period.
+ LAN network partitioning?
+ WAN network partitioning?
NewSQL
▪ Needs a solution to write-ahead logging (4th big
source of overhead)
+ Obvious answer is built-in replication and failover
+ New TP views this as a requirement anyway
▪ Some details
+ On-line failover?
+ On-line failback?
+ LAN network partitioning?
— a network failure causes the members to split into multiple
independent groups- a member in a group cannot communicate
with members in other groups.
— In a partition scenario, all sides of the original cluster operate
independently assuming members in other sides are failed.
+ WAN network partitioning?
A NewSQL Example – VoltDB
▪ Main-memory storage
+ No latching
Before VoltDB
Current VoltDB Status
▪ Too slow
OldSQL for New OLTP ▪ Does not scale
▪ Lacks consistency guarantees
NoSQL for New OLTP ▪ Low-level interface/manipulation