150 likes | 160 Views
ScaleDB is a shared disk storage engine that enables clustered, high-end database operations without changing applications. It provides high availability, scalability, and performance, ideal for cloud environments. The technology offers unique benefits for MySQL users. ScaleDB's architecture ensures no single point of failure and allows ease of scalability. It offers innovative indexing solutions and efficient data management tools. Deployable on virtualized cloud servers, ScaleDB supports multiple nodes with robust cluster and standby management. Learn more about ScaleDB's features, benchmarks, and future enhancements.
E N D
ScaleDB Transactional Shared Disk storage engine for MySQL Moshe Shadmon, Founder, CTO
The product DBMS/Apps MySQL-ScaleDB Interface Storage Engine Storage Layer
ScaleDB Benefits • Enables open source DBMS (eg: MySQL) to operate as clustered, high end database • Scales applications in cloud environments • No need to change the applications • Provides high performance • Provides unified data store
Shared Disk vs. Shared Nothing Shared Disk Shared Nothing SQL Server DB2 (Unix) MySQL PostgreSQL Oracle RAC IBM - DB2, IMS (MF) ScaleDB Masters Slaves
Shared Disk vs Shared Nothing Shared disk provides “out of the box” scalability and availability Currently available with the high end commercial databases only
The Virtualized Cloud Database Server1 VM VM VM VM VM Server 2 OSS DBMS OSS DBMS OSS DBMS OSS DBMS OSS DBMS MySQL Server ScaleDB ScaleDB ScaleDB ScaleDB ScaleDB OSS DBMS Storage Engine Local Disk Shared Storage Shared Nothing Shared Disk
Deploying ScaleDB Application Layer Application Database Layer (Physical or VM nodes) Node 1 Node 2 Node N DBMS DBMS DBMS … ScaleDB ScaleDB ScaleDB ScaleDB Cluster Manager ScaleDB Standby Cluster Manager Shared Storage Shared Storage Storage Layer
Benefits of ScaleDB Technology • High Availability – No single point of failure • If a node fails – a different node takes over • If the cluster manager fails – the standby cluster manager is initiated to manage the cluster • Scalability • No limit on the number of nodes that can join the cluster • Algorithms to minimize the need to communicate • Performance • Innovative, high performance, general purpose indexing
ScaleDB’s Internal Architecture Applications XML ScaleDB Cluster Manager ScaleDB API Transaction Manager ScaleDB Node Index Manager Data Manager Global Buffer Manager Lock Manager Local Lock Manager Buffer Manager Global Lock Manager Global Lock Coordinator Log Manager Global Recovery Manager Recovery Manager Storage Manager File System Storage Devices Storage Devices
Distributed Lock Manager ScaleDB Cluster Manager ScaleDB Node H List Node 1 R/W Node 2 R/W DBMS X H List Node 1 R/W Node 2 R/W Table Y Read Customer Info H List Node 1 R Node 2 R Block Z Node 2 R/W W List Index translates logical id to Row ID Shared DBMS lock Shared Table lock Shared Row lock File System Storage Devices Storage Devices
Shared Disk in the Cloud • Cloud provides Scalability and HA • Scalability - Enables dynamic allocation of computing and storage • Availability – Multiple servers over the same physical data • High performance • Reduces Management Overhead • Reduced tuning and partitioning support • No manual slave promotion or replication
Performance / Scalability • Benchmarks • Join operations using Multi-Table index • Sysbench • TPCC • Example multiple MySQL + ScaleDB nodes on Amazon EC2 • Demo
Sysbench Performance on EC2 2303 TPS 2033 1764 1494 Other Engine 1224 ScaleDB Transactions Per Second 954 775 TPS 685 415 1 1 2 3 4 5 6 7 8 Number of Nodes
Current & Future Work • Optimizing TPCC – soon to be published • Integrating with other environments • GA – later this year • Demo