Inside TYPO3

3.6. Database

3.6.1. Introduction

TYPO3 is centered around a RDB - a relational database. This database has historically been MySQL and until version 3.6.0 of TYPO3 MySQL calls were hardcoded into TYPO3.

Today you can use other databases thanks to a wrapper class in TYPO3, "t3lib_DB". This class implements a simple database API plus mysql-wrapper function calls which gives us the following features:

  1. Backwards compatibility with old extensions

  2. Easy migration to database abstraction for old extensions

  3. Offering the opportunity of applying a DBAL (DataBase Abstraction Layer) as an extension (thus offering connectivity to other databases / information sources)

    1. A DBAL can simply implement storage in other RDBs

    2. Or it could be a simulation of a RDB while actually storing information totally different, like in XML files.

    3. Or you create a simulation of the "be_users" table while looking up information in LDAP instead.

  4. Keeping a minimal overhead (in the range of 5%) for plain MySQL usage (which is probably what most TYPO3 based solutions is running anyway)

In other words; TYPO3 is optimized for MySQL but can perform with any information source for which someone will write a "driver". Such drivers can easily be implemented as extensions thus offering other developers a chance to implement a full blown DBAL for TYPO3 in an extension - or for the local TYPO3 project this can offer improvised implementation of eg. XML database sources or whatever.

To top


Valid XHTML 1.0!