Today's applications consume more and more data. From social networks, to geolocation services, to mobile applications, the rapid explosion of data and concurrency is causing many MySQL-based applications to hit the limits of relational databases. The performance and scalability problems that occur when MySQL has to deal with these ever-increasing volumes of data can be addressed through the use Akiban's table-grouping™ technology.
Most critical database performance bottlenecks are usually addressed by optimizing table storage or by denormalizing a schema. These solutions introduce their own problems. Problems which increase the cost of maintenance, limit the ability to add application functionality, slow the development process, and heighten the risk of error.
Akiban’s table-grouping technology provides a powerful alternative to denormalizing an existing database. Instead of modifying your database's schema, you can use Akiban table-grouping to eliminate the cost of SQL joins and set MySQL free. With Akiban you don't need to stop to analyze your database and plan for complex changes in architecture or application logic. You can just deliver blistering performance and superior scalability without skipping a beat.
Here are some of the traditional approaches used to address MySQL performance problems:
- De-normalization - bloats databases and makes maintenance and development complicated and time-consuming
- Caching layers - reduce database load by minimizing requests for static data, but add application complexity and are ineffective for dynamic data
- Database sharding - difficult to configure, makes it harder to troubleshoot and optimize queries and exacts a heavy price in the form of increased application complexity
- Replacing MySQL with NoSQL stores - requires extensive rewriting of application logic and often sacrifices the flexibility and reliability of an ACID compliant relational database.
Akiban’s Table-Grouping Technology
Akiban introduces a fundamental improvement to the architecture of a relational database: Table-Grouping. When databases grow in complexity, size and use, problematic queries are often causing a enormous amount of I/O and CPU activity joining related data together. Akiban addresses this problem by changing the fundamental, physical structure of the relational database while retaining all the benefits of a normalized logical relational model: ACID compliance and full SQL support. When you define table-groups you bring the cost of JOINS within a group to zero.
To understand the performance benefits of Akiban table-grouping, consider the following sample schema illustrated below:
Standard MySQL stores information for this schema in three separate physical tables: Customer, Order, and LineItem. In this model, whenever the application needs to find orders and lineitems for a customer, the database joins the data, using the key-values (cid and oid) to compute the joins. For schemas with many tables and large sets of records, the cost of these joins becomes very large.
Although Akiban uses the same logical schema, allowing applications to work unchanged, under the hood it co-locates the data that will be retrieved together. The result is a system that:
- Eliminates the cost of SQL joins
- Delivers 10-100x performance on a single node
- Supports object relational mapping efficiently
- Scales on cloud, virtual, commodity hardware
Consistency without Compromise
Many of today’s alternatives to MySQL force you to compromise on consistency (moving from ACID compliance to CAP tolerance) to ensure scalability. With Akiban, every aspect of your relational system remains intact and unchanged and you enjoy the benefits of increased performance without the administrative overhead.
Run Alongside MySQL
The Akiban MySQL Adapter allows Akiban Server to be implemented as a standard MySQL slave relicating from a Master. There is no need for you to modify the original database: just define a set of Akiban table-groups and run your queries against the slave.
This approach ensures a very low risk to deploying Akiban Server:
- No replacements or migrations
- SQL and application code unaffected
- Focus on problem queries (10x – 100x performance improvements)
- Failover mechanism to guarantee a fault-tolerant solution
Immediate Understanding
Akiban provides the Akiban Studio browser-based utility to guarantee that you can easily:
- Understand your database schema
- Identify problem queries
- Design and deploy table-grouping
