Akiban table-grouping™ is the patented technology that enables Akiban Server's breakthrough performance, scalability and programmability.

- A table-group colocates data that belongs together. As a result Joins Are Free!
- Data objects can be fetched in simple, sequential operations. Consistently fast - like accessing a single table.
- Table-groups fully support the logical relational model. Avoid denormalization and application rewrites!
Simplifying the Relational Schema with Table-Groups
Akiban Server uses relationships and usage information to assemble sets of tables into a new logical construct called table-groups that mirror application objects.

In the above illustration the tables of a relational schema fall in two groups that represent the application objects Customer and Search. Joins within those groups are free. Joins that involve tables from both groups are reduced to a single join.
Akiban versus Traditional Relational Systems
Akiban Server supports Schemas, Tables and Columns and all standard SQL concepts, so that applications written for relational databases can run unchanged. But under the hood, the physical model for Akiban Server uses table-groups to optimize data-storage:

Table-groups define the physical storage that interleaves related data and pre-computes joins. This makes fetching an object like accessing a single table and results in significantly improved query performance and scalability for operational workloads.
Efficiency ensures performance and scale
The Akiban model has significant benefits when executing SQL joins. Consider this simple query that joins three tables:
SELECT c.customer_id
,o.order_id
,o.order_date
FROM customers c
INNER JOIN addresses a
ON a.customer_id = c.customer_id
LEFT JOIN orders o
ON o.customer_id = c.customer_id
WHERE a.zip_code in ($1)
AND c.payment_status = 'C'
ORDER BY c.customer_name asc
LIMIT 500;
If you study the execution plan of the relational database (MySQL in this case) for this query, you see a total of ten steps to complete the process, including costly steps such as the creation of a temporary table that needs to be sorted. By contrast, the Akiban explain plan shows that this query is executed in three efficient steps.

The result is that the Akiban Server performance for such queries is often 10-100x faster than MySQL.
See our descriptions of Akiban Use Cases to learn more about the impact of table-grouping under various types of workloads.
