Ori Herdstadt, cofounder and CTO for Akiban, explained that the company has been working to design a database that can handle the increasing levels of depth and complexity present in the data we currently capture for use. Thanks to an unusual way of grouping the data, which Akiban has been working on for the past 18 months, the company’s database software operates much faster than MySQL. In fact, Akiban claims that one of their databases can complete operations in one tenth of the time it takes a MySQL database to perform the same operation.
So what’s the secret? It involves getting rid of cross-table joins, or at least reducing them. Basically, when database administrators design their databases, they often save space by moving frequently-repeated data items (such as zip codes when you’re dealing with addresses) to separate tables. This process is known as normalization. These tables get called for queries; answers may get assembled from multiple tables. This “assembly” process is called a join, and when the number of joins it takes to answer a query goes up, so does the time it takes for the database to deliver the answer.
Akiban responded to this issue with something called table grouping. “By assembling a set of tables into a table-groups, related data from these tables is stored together, mirroring application objects,” the company explains on its website. Under normal circumstances, a customer in a database might have information associated with him scattered throughout many separate tables – orders, items for each order, addresses, payments, credit cards, and so forth. Calling up customer data means accessing each of these tables, and as Akiban notes, this “requires many memory accesses (or even worse, disk accesses). You’d be surprised how much IO is generated by these joins in memory or disk.”
Akiban’s approach is to assemble the data around a customer object, and to collocate this data. In this way, the company notes, “the Akiban Server is able to access an object in a single, efficient action.” However, as Hernstadt emphasized, “Each row remains completely independent.” And best of all, at least from the point of view of MySQL users, the database fully supports all SQL commands.
Now for the bad news: the database can’t scale past a single server yet. But Akiban is working on a distributed version.
Finally, Akiban’s MySQL Replication Adapter mimics MySQL; it’s a MySQL storage engine the replicates a MySQL database to an Akiban server. By the way, if you try out the community edition of Akiban’s database software and decide you like it well enough to try the enterprise edition, you’ll benefit from additional functionality. You’ll pay a price for it, of course; the enterprise edition, available since the beginning of this year, will set you back between $20,000 and $40,000 (in US dollars) depending on the features.
For more on this topic, check out the PC World story.