Is the One-Size-Fits-All Database Dead?
jlbrown writes "In a new benchmarking paper, MIT professor Mike Stonebraker and colleagues demonstrate that specialized databases can have dramatic performance advantages over traditional databases (PDF) in four areas: text processing, data warehousing, stream processing, and scientific and intelligence applications. The advantage can be a factor of 10 or higher. The paper includes some interesting 'apples to apples' performance comparisons between commercial implementations of specialized architectures and relational databases in two areas: data warehousing and stream processing." From the paper: "A single code line will succeed whenever the intended customer base is reasonably uniform in their feature and query requirements. One can easily argue this uniformity for business data processing. However, in the last quarter century, a collection of new markets with new requirements has arisen. In addition, the relentless advance of technology has a tendency to change the optimization tactics from time to time."
The problem with database articles like this is that they pretty much ignore the core objectives of a database. Wait, I hear you, "That's the point, but ignoring ACID and transactions, we can improve performance." There in lies the difference between understanding the "whole problem" vs a part of the problem.
Specialized solutions typically accomplish their objective by removing one or more aspects of good database design.
Databases are complex beasts and the good ones encompass a LOT of expertise and theory of data access, stuff that takes many months or even years to really understand. Specialized systems tend to focus exclusively on the highest level "problem" while ignoring the inherent problems of data access and modifications.
While there are specialized solutions that work within a limited range of criteria, and, in fact, improve performance, it should be the exception rather than the rule, because the good SQL databases are REALLY good (MySQL is not one of them) at parsing and creating a good query.