Aito is a cloud-based predictive database, that provides predictive queries as an addition to the traditional database queries. Aito's predictive queries are based on the lazy machine learning approach as a difference to the traditional eager way of doing machine learning. The lazy learning makes it possible for Aito to omit the model definition, training and maintenance phases and the user to query arbitrary predictions, recommendations and statistical relationships with a database query like interface. As such, the predictive database provides a simpler workflow for doing machine learning, as it omits the model preparations required by the traditional machine learning. As a consequence: the workflow of using the predictive queries to query the unknown is similar to the workflow of using the traditional database queries to query the known. Aito provides full text search services as an addition to predictive queries and the traditional database queries. The predictive functionality can be combined with FTS and database functionality to implement e.g. personalized searches. The database guarantees the basic consistency, atomicity and isolation guarantees from ACID, but there are not yet guarantees of durability because of file system buffers.
The Aito database was initially developed in Futurice (a Finnish consultation company) by Antti Rauhala. Aito.ai was then spinned off and commercialized as Aito.ai startup by Antti, Vesa Grönfors and Kai Inkinen. Aito was inspired by several observations. One observation was that a specialized database structure could be used to accelerate statistical inference and lazy learning based instant predicting, matching, recommendations and data mining functionality. Another observation was, that combining lazy learning with a database could provide an substantially easier way to do ML via SQL-like predictive queries. Third observation was, that there was a need in the market for a radically easier and faster way to do machine learning. While Aito's early users included Ikea and Comcast, its main application area is currently the intelligent process automation done either with RPA, with low-code or with traditional software integrations. Over the long term: the aim is to expand Aito's DB capabilities and create a system, that can provide both the known like the traditional database and the unknown like an ML system. As such, it would serve both as the primary database and as the primary ML/AI system.
At low level: aito uses a log-structured merge-tree that spans the database over low-level database segments. At higher level, the basic datastructure is column oriented, and there are several additional datastructures used for accelerating the statistical inference.
Aito uses specialized bitmap indexes that are optimized for statistical inference
Aito uses extensively memory mapping and as such it has many properties of the in-memory databases. Aito spans a Git inspired immutable object store over the underlying file system. This object store is typed, it contains both the original json data as an addition to the specialized structure to simplify database version updates.
Aito provides symbolic links between table, and allows references variables behind links in queries. Joins are not supported, because they are problematic for fast cross-table statistical inference.