The RDBMS architecture is based on a formal method of constructing a database in rows and columns using rules that have formal mathematical proofs. RDBMSs originated in the work of E.F. Codd. In an RDBMS, relationships among tables are created by comparing data, such as account numbers and names. In addition, an RDBMS has the flexibility to take any two or more tables and generate a new table from the rows that meet the matching criteria.
RDBMSs are implemented in many different ways. For example, they can be implemented on disk storage using relational or row storage techniques, stored as columns or indexes as in column-based storage, implemented in memory as the in-memory storage model, and even implemented in flash memory. In addition, RDBMS engines are available with different footprints that can be used as embedded DBMS engines in edge devices, as well as in portable or mobile devices. We also do not distinguish data types any longer because most RDBMSs available today allow multiple data types, including objects, user-defined data types, BLOBs and native XML structures.