HiveBrain v1.2.0
Get Started
← Back to all entries
patternModerate

What exactly is a database engine?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
databaseengineexactlywhat

Problem

I have gone through the Wikipedia definition several times:

A database engine (or "storage engine") is the underlying software component that a database management system (DBMS) uses to create, read, update and delete (CRUD) data from a database.

What I don't understand is what is left to do, isn't CRUD all that the databases do?

If the database engine performs these functions, what does the rest of the database do?

Solution

CRUD is meant to define the characteristics necessary for a database as it relates to persistent storage. It is not meant to describe everything that could be done by a database engine.

To make a comparison, fundamentally a vehicle is a device used for transport. While true, this definition certainly doesn't include all the detail entailed in a modern automobile.

A database engine might handle multiple users, transactions, MVCC (Multiversion Concurrency Control), buffers and caches, ACID (atomicity, consistency, isolation, durability), as well as different isolation levels. A read may pull data from memory, remote databases, and multiple tables on disk processing it using SQL through multiple explicit and/or implicit code paths in order to present it to the requesting application. A create may allocate storage, provision structures, assign values, and do it's own processing before storing data. Etc.

Context

StackExchange Database Administrators Q#4603, answer score: 16

Revisions (0)

No revisions yet.