The First Bite: Anti-Database
The way to build a complex system that works is to build it from very simple systems that work
-- Kevin Kelly --
As a part of our massive Anti-Software effort, the very first project is Anti-Database. Originally it aims to create an ACID-compliant database storage engine (just storage engine, with tables, indexes, database log and so on, but without SQL compiler or catalog tables). First iteration of Anti-Database will be intended for use in heavily-loaded OLTP (On-Line Transaction Processing) environments either separately or as a storage engine for MySQL. On the other hand, we are going to produce significantly stripped version(s) for use in client applications as a storage transactional ACID-compliant library. We are going to support wide range of platforms for Anti-Database. Originally it will be Windows and Linux/x86, but as all the project is cross-platform from the very beginning, it shouldn't be a problem to extend it to the other platforms (Linux/IA64, FreeBSD, HP-UX and so on) later.
Anti-Database will have the whole set of tools to simplify it's management in enterprise environments (where online backup is usually considered as one of the very basic tools), and integration with 3rd-party databases. Special attention will be paid to configurations when Anti-Database is used for time-critical OLTP processing and some other database (like IBM DB2 or Oracle) is used as a back-end for reporting (including ad-hoc SQL requests), with Anti-Database providing replication between Anti-Database and back-end reporting database. Also Anti-Database aims to have unusually extensive abilities to analyze performance bottlenecks in customer environment and to tune its performance for specific task.
Performance-wise, we hope that we will be able to beat the best of TPC-C and TPC-E benchmarks (TPC-C is the most important benchmark for OLTP processing for the last 16 years, TPC-E is the newer OLTP benchmark developed by the same Transaction Processing Council) on equivalent hardware at least by margin of 20% (as top TPC-C and TPC-E configurations currently require hardware worth many millions, obviously, at first we will stick to beating cheaper x86 configurations). On the other hand, we won't be surprised if we will be able to reach significantly higher advantage then 20% mentioned above (the most optimistic estimates give numbers of 1.5x to 2x advantage, but we won't know for sure until we try). Advantage for practically very important in practice "most of database resides in memory" scenario is expected to be even higher. Also we aim to achieve almost infinite close-to-linear scalability for Anti-Database (at this point it has locking minimized to the absolute minimum). As Anti-Database is built with performance and scalability in mind from the very beginning, we are confident of achieving these performance goals.