FireDAC - Introduction

FireDAC - Introduction

One of the key part of software development is the ability to connect with the database and perform database related operations. Programming languages provides support for connecting with database using data access libraries. Some data access libraries provides support for connecting with any type of database i.e Universal data access(example : BDE) whereas some libraries are database specific i.e. they only support one specific database (example : IBExpress).

FireDAC is universal data access library for developing applications for multiple devices, connected with enterprise databases using RAD Studio. FireDAC provides a common API to connect with different database back-end , maintaining the access to database specific features and without compromising on performance. FireDAC enables native high-speed access to almost all enterprise database including no SQL databases such as MongoDB.

FireDAC's key Features

Data access engine

  • TDataSet descendant classes including TFDQuery, TFDMemTable, TFDStoredProc, and TFDTable.
  • Complete support for TDataSet API -> This allows a smooth migration path for legacy applications.
  • Local SQL engine for executing queries against datasets.
  • Fastest in-memory dataset (TFDMemTable) with sorting , filtering , aggregation, filtered and expression indexes, persistence.

Unified API

  • SQL dialect abstraction through FireDAC escape sequences, conditional statements and macros.
  • Unified features - > Data type unification , unified transactions , Unified SQL script , unified error reporting (Both DBMS independent and DBMS specific).
  • Support for multiple Unicode and ANSI encodings.
  • Disconnected connection mode - Allowing applications to work in disconnected environment.
  • Automatic connection recovery and automatic connection re-establishment.

High performance data access

  • Live Data Window mode enabling fast bi-directional navigation through large datasets.
  • Array Data Manipulation Language (DML).
  • Cached update mode.
  • Support for auto-incrementing fields.

Database services

  • Backup, Restore, Security Management, and more.

Mobile database access

  • Mobile database access on Android and iOS for these databases: InterBase – InterBase ToGo and IBLite, SQLite

FireDAC Architecture

FireDAC_Architecture12-21-16.png.

FireDAC supported databases

FireDAC supports a wide range of Database Management Systems (DBMS). It provides native and bridge connections to connect with various databases.

A complete list of all the supported databases , connection type, supported platforms and versions and other details could be found on Embarcadero site

docwiki.embarcadero.com/RADStudio/Sydney/en..


That's it for this article , in the next article of this series we will explore key components of the FireDAC library and will learn how to connect with database using FireDAC.

Please mention your thoughts in comments below.


References

Embarcadero site

Introduction to FireDAC - Marco Cantù

FireDAC in Depth with Cary Jensen

Did you find this article valuable?

Support Deepak Kumar Jain by becoming a sponsor. Any amount is appreciated!