A database engine implements a data model, query operations, indexing, concurrency, durability, and access controls. Applications interact through drivers, query languages, or higher-level mapping tools. Choosing a database depends on data relationships, consistency needs, workload, scale, and operations.