What Can You Do With An Algebra of Data?
You can build a database of course.
(Btw: this is a follow up article to Is The Relational Database Finally Finished).
You could insist, with some justification, that all relational databases are built on the foundation of Relational Algebra and Relational Calculus. As such they are the only databases specifically associated with mathematics. The early Codasyl databases were not endowed with such “mathematical respectability.” Neither were Object Databases, and Object-Relational database were mathematical only in their relationalness.
The new Algebra of Data, defined by the founders of Algebraix Data, has been employed in a database, called A2DB (an abbreviation for Advanced Analytical Data Base). Architecturally, A2DB isn’t much like a Relational database at all. Here it is:
Before we try to explain it, let’s describe two aspects of A2DB that come right out of left field:
- It doesn’t have a proprietary file structure. It uses the native file system (whatever it is) for all files
- All data is stored (initially) in delimited files with no indexes (yes, that’s right, CSV files – and no indexes)
If you want to load new data into A2DB database, you extract a CSV file from the data source and “bind” it to the A2DB server. Aside from that, loading data only involves telling A2DB what the meta-data structure of the CSV file is (by associating it with table definitions) and where it is on disk. There is no need to define key relationships as this and other meta-data is discovered automatically as needed. In effect, loading data reduces to loading meta-data. It takes seconds.
To explain A2DB, I need to introduce two terms; extended sets and clans. Sorry, but it’s necessary:
- An extended set is a set of elements each of which has a value and a meta-data tag. So the elements of an extended set are couplets; value, meta-data tag. You can think of an extended set as a record where the meta-data structure of the record is known.
- A clan is a collection of extended sets. Extended sets are like records. Clans are like tables. That is all.
So think of tables – as in relational database tables. A2DB doesn’t represent data in that way, but it can. A table would be a clan where each extended set had exactly the same number of elements and matching meta-data.
« 1 2 3 4 or View All »



















