Software

Datenbankzugriff mal anders: TYPO3 4.0: DBAL

Mit Version 4.0 wird TYPO3 erstmals offiziell mit der Database-Abstraction-Layer-Extension (DBAL) ausgeliefert. Die Extension erweitert die Implementierung der im Kern des Systems vorhandenen API, um TYPO3 auch mit anderen Datenbanken als MySQL nutzbar zu machen.

Ein Datenbank-Abstraktions-Layer für TYPO3 wurde in der Vergangenheit im Zusammenhang mit TYPO3 meist von großen
Firmen nachgefragt, die Zweifel an der Leistungsfähigkeit von MySQL
hegten und lieber ihre bestehenden Oracle- oder SQL-Server-Installationen nutzen wollten. Im Laufe der Zeit stieg jedoch
die Akzeptanz für MySQL auch in größeren Firmen, so dass sich trotz der
immer wieder aufkeimenden Diskussionen über eine Abstraktionsschicht niemand fand,
der diese auch implementiert hätte. Erst nach der TYPO3-Snowboard-Tour
2004 bot sich die Gelegenheit den DBAL zu realisieren.

Eine DBAL-Extension – das kann ja nicht so schwer sein

Aus Sicht von TYPO3 reicht Datenbank-Abstraktion im landläufigen
Sinne – als Vereinheitlichung der Funktionen zum Senden von
SQL-Anfragen – bei weitem nicht aus. Statt dieser
„Zugriffs-Vereinheitlichung“ ist hier eine Kombination aus
„SQL-Abstraktion“ und „Zugriffs-Vereinheitlichung“ notwendig. Dies ist
nötig, da TYPO3 selbst Datenbanktabellen anlegt und diese auch jederzeit
erweitern kann. Darüber hinaus ist Abwärtskompatibilität eine der
Leitlinien des TYPO3-Projekts, mit der Folge, dass die
Datenbankschemata
weiterhin aus MySQL-Dumps erzeugt werden müssen – auch für Oracle und
andere RDBMS. Dies alles führt natürlich zu völlig neuen Problemen, etwa bei der Behandlung unterschiedlicher Datentypen.

Im Laufe der Zeit hat Kasper Skårhøj alle Datenbankzugriffe im Kern von
TYPO3 in der Klasse „t3lib_db“ konsolidiert. Dies bot die Basis für die
Entwicklung der DBAL-Extension, die diese Klasse erweitert und
Kernmethoden überschreibt. Ohne diese Extension kann „t3lib_db“ eher als Wrapper um die klassischen
MySQL-Aufrufe gesehen werden. Da die Entwicklung der DBAL-Extension
schon aufwändig genug sein würde, wurde nach einer geeigneten
Abstraktions-Bibliothek gesucht. Als Kasper Skårhøj schließlich den Protoypen
der Extension schrieb, setzte er auf PEAR DB und ADOdb.
Dieser Prototyp wurde zur weiteren Entwicklung mit dem Ziel abgegeben,
TYPO3 auf PostgreSQL lauffähig zu machen, um anschließend Oracle ins Visier zu
nehmen.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 65 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Stephan Dörner (Chefredakteur t3n.de) & das gesamte t3n-Team

Anleitung zur Deaktivierung