Datenbank != Datenbank

Februar 24, 2020 0 Von Andreas

Die default Datenbank in der Mendix Cloud ist Postgresql. Die meisten Mendix Anwendungen laufen daher vermutlich auf dieser Datenbank. Anders als andere Komponenten die für den Betrieb einer Mendix Anwendung benötigt werden wird Postgresql nicht mit Mendix Studio Pro mitinstalliert. Stattdessen verwendet Mendix Studio Pro eine andere built-in Datanbank.

Wenn man nun eine Anwendung entwickelt ist es natürlich verlockend lokal die mitgelieferte Datenbank zu verwenden anstatt noch einen extra Datenbankserver zu installieren. Trotzdem würde ich empfehlen letzteres in jedem Fall zu tun. Wer will, dass sich seine Anwendung lokal genauso verhält wie in der Produktivumgebung, der sollte dafür sorgen, dass möglichst gleiche Bedingungen vorherrschen.

Ein paar Unterschiede

Postgresql ist wesentlich performanter als die mitgelieferte Datenbank.
Ok, das ist jetzt vermutlich wenig verwunderlich. Dennoch ist es etwas was man beachten sollte. Sehr datenbanklastige Anwendungen sollten auf der mitgelieferten Datenbank nicht ausgeführt werden. Der Speicherverbrauch dieser erreicht schnell das Limit und führt zu unerwarteten Fehlern

Abfragen verhalten sich nicht in allen Datenbanken gleich.
Verschiedene Datenbanken verarbeiten Abfragen unterschiedlich. Zum Beispiel ist Postgresql in Abfragen Case Sensitive, die mitgelieferte Datenbank ist dies nicht.

  • [StringAttribute = ‚ABC‘]
  • [StringAttribute = ‚abc‘]

In der von Mendix mitgelieferten Datenbank liefern diese beiden Abfragen das gleiche Ergebnis. In Postgresql liefern diese beiden Abfragen verschiedene Ergebnisse.

Wenn man also sicher sein will, dass die Programmlogik die man lokal getestet hat auch auf der Cloud Umgebung funktioniert, so ist es ratsam auf dem gleichen Datenbanksystem zu arbeiten.

Dieser Text ist auf Englisch verfügbar auf medium.com.