A Ridiculously Easy & Seriously Powerful SQL Cloud Database
Itamar Haber
AVP Ops & Solutions
Agenda
• About Us
• Common pains with the database tier
• Xeround’s SQL Cloud Database
• Demonstration Create Your New DB Instance
Connect to Your DB Instance
Scale Your Database
Survive a Server Crash
About Us
• About Xeround, the company: Founded in 2005 and backed by solid VC investors
Initial premise: Telco-Grade, Real-Time DBMS
Already deployed in live Telco production – T-Mobile US, Pelephone ISR
• About Xeround, the technology and service: Designed from day one for a Cloud ecosystem
Patented native Virtualized Cloud DB, balancing Innovation with Traditional SQL
Simple to use, seriously powerful
• About myself: 17+ years around database-based applications and DBMSs in various
capacities
Last 4.5 years with Xeround doing product, project and operations management
There is a crack in everything – that’s how the light gets in (Leonard Cohen)
(Some) Common Pains with the Database Tier
• Database server installation Operating system installation
Configuration: storage, networking…
• Database server maintenance Patches and upgrades
Backup (and restore) policies
• Database operation Monitoring
High Availability: fail over (& failback)
Scaling
Xeround SQL Cloud Database-as-a-Service
• Elastic, Available & Simple!
• Worry Free philosophy – operational aspects all handled by the service
• Robust functionality, full compatibility with MySQL
• Self-service management portal
Demonstration:
Create Your New DB Instance
General Architecture
DB Instance Manager
DBaaSResourceManager
DBaaSResourceManager
Serv
ice A
PI
Serv
ice A
PI
DBaaSOperator
webPortal
CustomerSelf Serve
Web Portal
• The virtualized Database is built from three separate elements: Load Balancer
SQL Engine
Data Store
• Each element is scalable
• Physical resources for each element are managed individually
LoadBalancer
LoadBalancer
LoadBalancer
SQLEngine
SQLEngine
SQLEngine
SQLEngine
SQLEngine
DataStore
DataStore
DataStore
DataStore
Virtualized Database Layers
• Load Balancer – The gateway to a database instance
Maintains transaction stickiness and balances the load between the SQL engine instances
Handles failover of SQL engines
• SQL Engine - MySQL Façade implementation
Processes SQL statements into distributed parallel plan of execution
Gathers the results from the different processes and assembles the final result for the application
• Data Store - Distributed data stores, which maintain the data in its different representations
DHT, Distributed B-Tree and Object Store, which are the basic data services required by the database
Pluggable persistency layer
Virtualized Database Layers, cont.
DBaaS Resource Manager uses the Cloud API to acquire resources for the database service and to provision the service elements on those resources
Cloud ResourcesLoad
BalancerLoad
BalancerLoad
Balancer
SQLEngine
SQLEngine
SQLEngine
SQLEngine
SQLEngine
DataStore
DataStore
DataStore
DataStore
DBaaSResourceManager
DBaaSResourceManager
Cloud API
DBaaS Resource Management
Demonstration:
Connect to Your DB Instance
Connecting to Your Cloud Database
• 100% compatible with MySQL
• No code changes required to port an existing application
• Built-in advanced features (e.g., replication, load balancing…) are transparent to the user
The DB Instance Manager is responsible for creating databases, by allocating slices from the Load Balancer, the SQL Engine and the Data Store physical resources.
DBaaSResourceManager
DBaaSResourceManager
DataStore
DataStore
DataStore
DataStore
DataStore
DataStore
LoadBalancer
LoadBalancer
LoadBalancer
SQLEngine
SQLEngine
SQLEngine
SQLEngine
SQLEngine
DB InstanceManager
Database Instance
Database Instance Management
Demonstration:
Scale Your Database, Automatically!
3 Ways to Scale Your Database Instance
1. Manual Scaling - via the self-service portal GUI
2. Auto-Scaling Currently: thresholds-based rules
Near-future: advanced rule- and policy-based scaling
3. API - enables programmatic access to the service’s capabilities
DBaaSResourceManager
DBaaSResourceManager
DataStore
DataStore
DataStore
DataStore
DataStore
DataStore
LoadBalancer
LoadBalancer
LoadBalancer
SQLEngine
SQLEngine
SQLEngine
SQLEngine
SQLEngine
DB InstanceManager
Database Instance
Database Instance Scaling
Each element may be scaled separately:
Load Balancer = More connections
SQL Engine = More queries/ complexity
Data Store =More data
Demonstration:
Server Crashes, Your Database Survives
P1
P2
P3
P4
P1
P2
P4
P2
P3
P4
P1
P3
A database With 4 virtualpartitions
Each Virtual partition is replicated across multiple servers. If any one of the servers fails, all data is still available and the DB is still operational
This enables a recovery process to occur, by acquiring a replacement server, and re-sync the server from existing partitions
Host Host Host
Data Distribution
P1
P2
P3
P4
P1
P2
P4
P2
P3
P4
Host Host Host
Fault Tolerance & Automatic Healing
1) When a server fails, surviving replicas maintain the service
P1
P3
2) The system heals itself by automatically “re-growing” the missing replicas
3) A pool of failover servers is kept online to expedite process
P1
P3
Summary
• Xeround offers a SQL Cloud DBaaS that is: Simple to use
Elastic so it always fits your requirements
Highly available
Fully-compatible with MySQL
• Xeround’s DBaaS frees you from worrying about: Patching and upgrading your database server
Operating a backup policy
Planned and unplanned downtime
Xeround DBaaS Deployments
• Xeround Cloud DB service is currently deployed on Amazon US(East), Amazon Europe and Rackspace US
Additional Cloud Service Providers coming soon…
NORTH AMERICA
EUROPE
A Ridiculously Easy & Seriously Powerful Cloud Database - See it in Action!
Questions?
Thank You!
http://xeround.com/
Visit us in Booth 407