RDBMS Inspired

The RDBMS approach to ES design

Build an API for your ES that is conceptually identical to a relational Database (e.g. anything using SQL):

Using RDBMS terminology:

  • "Primary keys" become a single integer, called "Entities"
  • "Rows" become arrays of data, and are called "Components"
  • "Tables" become lists-of-Components, and have no particular name

The executable code could live anywhere.

Warning

This approach is more theoretical than practical - the "practical" version of this is RDBMS with Code in Systems.

However, it helps to understand this "theory" before looking at the practical version, which adds some more complexity

Extensions to this Approach