Relation - Database Management System (RDBMS)

Data System Architecture

About

Relational databases are solidly founded on Set Theory and are based on the Relational Model, which is a set of principles for relational databases formalized by Dr. E.F. Codd (an IBM Engineer). It introduces the concept in the late 1960s through a paper titled “A Relational Model of Data for Large Shared Banks”.

In the relational model of a database, all data is represented in terms of tuples (row), grouped into relations (table).

The databases were born to insert into.

Relational Database Management Systems were invented to let you use one set of data in multiple ways, including ways that are unforeseen at the time the database is built and the 1st applications are written.

Curt Monash, analyst/blogger

Good at

Relational Databases are good at “Needle in Haystack” problems:

  • Extracting small results from big datasets
  • Transparently provide “old style” scalability
  • Your query will always (almost) finish, regardless of dataset size.

Indexes are easily built and automatically used when appropriate

In a social network is Bill updates his status of his friends, who sees the new one, who sees the old one? The answer to this question from a relational database perspective is everyone must see the new change or no one does.

In a distributed environment, the transaction commits and all copies of the data everywhere are synchronized simultaneously. And further anybody attempting to read the value is able to read only the old value, or has to wait until the transaction commits.

Everything synchronous, everything must be updated. It's either all or nothing.

Really large applications can't afford to wait arbitrarily long for this global commit. The user can not wait while the synchronization is still occurring.

Design Space

  • Some kinds data are a bad fit for RDBMS.
  • Some problems are a bad fit for RDBMS.

Which kind of data does not fit in a relational Database?

  • images and video
  • large files
    • Natural language text (Blog posts, job ads, product descriptions)
    • Semi-structured data (CSV, JSON, XML, log files) Sensor data





Discover More
Data System Architecture
(Relation|Table) - Tabular data

This section is based on the relation data structure must well known under the term of table. The system that manages this structure are called Relational databases (or RDMS) . They are founded on Set...
Card Puncher Data Processing
Apache - Hive (HS|Hive Server)

Hive is a relational database developed on top of Hadoop to deliver data warehouse functionality. It uses SQL queries (HiveQL) to run MapReduce jobs on Hadoop. The Hive driver converts the HiveQL queries...
Browser
Browser - IndexedDb

indexedDb is a SQL database implementation in the browser. It's one of the way to store data locally (client data) IndexedDB...
Star Schema
Dimensional Data Modeling - Dimensional Schemas

This section is dimensional data modeling, That is the building of a cube (hypercube) A dimensional schema is a schema based on dimension. The dimensional schema can modeled: in a relational database...
Relational Algebra Between Sql And Query Plan
Relational Algebra - Expression and Operators

Relational algebra is based upon the fact that you can pass tabular data through a set of data operators (select, filter, join, sort, union, etc.) in a algebraic structure. It means that: the output...
Data System Architecture
Relational Data Modeling - Foreign Key Constraint (one-to-many relationship)

A Foreign Key Constraint is a constraint that creates a one to many relationship between a primary key and a foreign key (ie between two tables) The foreign key constraint on a table A will : create...
Sqlite Banner
SQLite

is a relational database management system. This is an embedded database meaning that: There is no server that you need to connect to, you reach a file on the file system with a client or your library...
Stream Vs Batch
Stream vs Batch

This article talks Stream Processing vs Batch Processing. The most important difference is that: in batch processing the size (cardinality) of the data to process is known whereas in a stream processing,...



Share this page:
Follow us:
Task Runner