> For the complete documentation index, see [llms.txt](https://functional.gitbook.io/database_comparison_report/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://functional.gitbook.io/database_comparison_report/types-of-databases-relational-vs-non-relational/relational-or-sql-databases.md).

# Relational or SQL databases

A relational database is a type of data store organizing data into tables that are related to one another, which explains the name. Structured Query Language is the core of these systems as it is used to communicate with and manage these databases, having given birth to their second name — SQL databases. RDBMSs have a predefined schema, meaning data resides in rows (records) and columns (attributes) with a strict structure. Here, each record usually holds a value for each attribute, resulting in clear dependencies between different data points.

**Scalability -** Relational databases usually scale vertically, meaning data lives on a single server, and scaling is done by adding more computer (CPU, GPU, and RAM) power to that one server. However, switching from small to bigger machines often involves downtime. Scaling an SQL database between multiple servers (horizontal scaling) can be a challenge as it requires data structure changes and additional engineering efforts.

**Performance -** Relational databases show great performance with intensive read/write operations on small to medium datasets. They also offer improved speed of data retrieval by adding indexes to data fields to query and join tables. However, when the amount of data and user requests grows, the performance may suffer.

**Security -** Due to the integrated structure and data storage system, SQL databases don’t require much engineering effort to make them well-protected. They are a good choice for building and supporting complex software solutions, where any interaction has a range of consequences. One of the SQL fundamentals is ACID compliance (Atomicity, Consistency, Isolation, Durability). ACID compliance is a preferred option if you build, for instance, eCommerce or financial applications, where database integrity is critical.
