(Eine Übersetzung von https://community.idera.com/developer-tools/b/blog/posts/five-reasons-to-use-interbase-in-2020-and-beyond. Im Original von Jon Lennart Aasenden)
InterBase ist und bleibt eine der heimlichen Perlen in der Welt der relationalen Datenbanken.
Seit der Einführung in den frühen 1980er-Jahren und nachdem es unter Borland Eingang in den Mainstream fand und kontinuierlich weiterentwickelt wurde, kann InterBase auf eine jahrzehntelange Erfolgsbilanz zurückblicken. Jahrzehnte, in denen es zeitweise der Standard war, an dem alle anderen Datenbanken gemessen wurden.
Nachdem im Jahr 2008 das Borland-Entwicklungsportfolio von Embarcadero übernommen wurde, hat die Weiterentwicklung von InterBase wieder Fahrt aufgenommen – durch Einbindung der aktuellen technischen Errungenschaften, aber auch durch Setzen neuer Maßstäbe mit Features wie Änderungsansichten (Change Views).
Dank kontinuierlichem Refactoring und stetiger Weiterentwicklung durch Embarcadero haben Leistungsfähigkeit und Anwendungsbereiche von InterBase seit der Übernahme neue Dimensionen erreicht. Wie gesagt: InterBase ist der Maßstab, was Leistung, Sicherheit und Plattformvielfalt betrifft.
Allein die Auflistung aller Investitionen zur Optimierung unseres sanften Riesens in den letzten acht Jahren würde den Rahmen hier sprengen. Embarcadero hat fantastische Arbeit hinsichtlich der Modernisierung dieser beliebten und – wenn ich das so sagen darf – modellhaften relationalen Datenbank geleistet. Gleichzeitig wurden von Embarcadero die Funktionen gepflegt und verbessert, die InterBase auszeichnen, also die Features, die den Unterschied ausmachen.
Für einen langjährigen Delphi-Entwickler wie mich ist die Anwendung von InterBase in meiner Produktionsumgebung immer wieder ein emotionales Erlebnis. InterBase war Bestandteil meines Lehrplans an der Universität und ich habe damit meine erste kommerzielle Software in Verbindung mit Delphi entwickelt.
InterBase ist vertraut, dennoch unverkennbar modern, immer auf dem neuesten Stand, aber trotzdem ausgereift und etabliert.
Ich möchte Ihnen nun fünf gute Gründe nennen, warum Sie sich für InterBase als Ihre nächste Datenbank entscheiden sollten. Wenn ich mich zu einem Thema äußere, das mich begeistert, kann schnell ein ganzer Roman daraus werden. Ich beschränke mich deshalb auf maßvolle fünf Features.
Legen wir also los und stellen wir die Frage, warum InterBase in 2020 Ihre nächste Datenbank sein sollte.
1. Plattformvielfalt
Die technologische Welt hat sich in kürzester Zeit dramatisch verändert. Die Art und Weise wie sich Technologie, ob Software oder Hardware, weiterentwickelt, ist von plötzlichen und unerwarteten Sprüngen geprägt. Die von Steve Jobs eingeleitete mobile Revolution, als er 2007 auf der Apple-Entwicklerkonferenz in San Francisco das iPhone vorgestellt hat, war ein solcher Sprung.
Über Nacht hatten sich damit die Kriterien für die Softwareentwicklung grundlegend und unwiderruflich geändert.
Heute im Jahr 2020 tragen zwei Drittel der Erdbevölkerung buchstäblich einen Supercomputer in ihren Taschen. Jedes dieser Geräte ist übersät mit Anwendungen, deren Komplexität stetig zunimmt und für die ein echter Bedarf an zuverlässiger Datenpersistenz besteht.
Geschäfte werden heutzutage immer mehr über mobile Geräte abgewickelt, sodass die Möglichkeit, Software auf unterschiedlichen Plattformen, Betriebssystemen und Hardwaregeräten bereitzustellen, einfach eine Notwendigkeit ist. Ein Multi-Plattform-Computing ist heute für jeden Entwickler unabhängig von der Programmiersprache eine zentrale Voraussetzung und unabdingbare Grundlage jeder Strategie.
Im Hinblick auf die Multi-Plattform-Unterstützung ist InterBase ein Pionier und immer schon der Zeit voraus gewesen.
InterBase war bereits in den späten 1980er-Jahren für eine Vielzahl von Computersystemen verfügbar – von großen und leistungsstarken Unternehmenscomputern mit Unix als Betriebssystem bis zu einfacheren Heimcomputern wie Apollo oder Commodore Amiga.
Im Jahr 2020 sind die Ziele nun ganz andere. InterBase ist aber immer noch das gleiche vielseitige und plattformunabhängige Datenbanksystem, das es seit jeher war. Heute kann es auf allen führenden Plattformen und Betriebssystemen bereitgestellt werden, wie Windows, Linux, macOS, Android und iOS. InterBase unterstützt auch eine heterogene Betriebssystemkonnektivtät für alle unterstützten Plattformen.
Die Möglichkeit, eine einzige Datenbank für verschiedene Architekturen verwenden zu können, ist auf jeden Fall mein Lieblings-Feature. Dies spart Zeit, reduziert Kosten und vereinfacht das Entwicklerleben in Bezug auf die Wartung erheblich.
Internet der Dinge
Mit dem Aufkommen des „Internet der Dinge“ (IdD) hat eingebettetes Computing eine neue Dimension erreicht. Diese bemerkenswerte Transformation ist eng mit der durch das Mobiltelefon ausgelösten Revolution und auch mit unserem Thema hier verbunden.
Eingebettetes Computing war eigentlich eine spezielle Nische im Markt, die mehr oder weniger von Elektrotechnikern dominiert wurde. Nachdem aber die mobile Revolution die Massenproduktion von erschwinglichen CPUs, Chip-Sätzen und SoCs (System-on-a-Chip) in Gang gebracht hat, war es nur eine Frage der Zeit, bis jemand eine neue Art von eingebetteten Platinen („Embedded Boards“) entwickeln würde. Genau das ist dann im Jahr 2012 passiert. Der Raspberry Pi-Minicomputer für 35 USD wurde Realität – und „Eingebettet“ damit ein weithin gebräuchlicher Begriff.
Da diese neue Klasse eingebetteter Platinen aus den gleichen Komponenten wie Mobiltelefone und Tablets gefertigt wird, bietet sie ein Leistungsvermögen, das sie auch für den Endverbrauchermarkt interessant macht. Die Platinen bestehen aus den gleichen CPUs und sie haben das gleiche Betriebssystem (Android), d. h., darauf kann die gleiche Software ausgeführt werden.
Hier kommt nun InterBase ins Spiel.
Die Entwicklung von Lösungen, die auch die Hardware berücksichtigen, ist einer der aufregendsten Aspekte der Softwareentwicklung. InterBase deckt eine breite Palette eingebetteter Geräte (ARM und x86) ab. IdD-Platinen und Mobiltelefone sind ja letztlich nur unterschiedliche Konfigurationen der gleichen Komponenten.
Und schließlich ist bei solch kleinen Geräten der Bedarf an einer schnellen, zuverlässigen und sicheren Datenbank sehr groß.
Passenderweise ist InterBase dafür perfekt geeignet.
2. Änderungsansichten / Change Views
Eines der Alleinstellungsmerkmale von InterBase ist die Art und Weise, wie Benachrichtigungen und Feedback verarbeitet werden. InterBase verfügt über verschiedene Verfahren für Entwickler, mit denen über Änderungen an Daten informiert werden kann. Das zweifellos leistungsstärkste Feature sind hier die Änderungsansichten.
Anders als eine herkömmliche Datenbankansicht basieren Änderungsansichten auf einem Modell des Datenabonnements. Sie definieren dafür einfach die Kriterien für die Änderungen, über die Sie informiert werden möchten. Auf der Grundlage dieser Kriterien können Sie dann die Datenbank abfragen und Ihre zentrale Frage stellen: „Was hat sich gegenüber dem letzten Mal geändert?“.
Das hat unmittelbar Auswirkungen auf Aspekte wie Netzwerkkonnektivität und Nutzlast. Dies gilt vor allem dann, wenn Sie mit Datenbankenclustern arbeiten, die die gleichen Daten für unterschiedliche Ziele wie Webanwendungen oder Anwendungen für mobile Geräte bereitstellen, die auf einem Caching in der Middleware basieren.
Statt durch Polling ein festes Set an Zeilen für die Aktualisierung Ihres Cache manuell abzufragen (die typische Technik für Middleware), rufen Sie mit Änderungsansichten nur die Änderungen ab. Ihr Dienst startet mit der Abfrage eines kompletten Zeilen-Sets, ein Keyframe bei Bedarf. Danach werden nur mehr die Änderungen abgerufen.
Bei datenintensiven Systemen haben Änderungsansichten einen erheblichen Effekt hinsichtlich Leistung und Reaktionsschnelligkeit.
Weitere Informationen zu Änderungsansichten
3. Tablespaces
Der große Vorteil einer ausgereiften Datenbank-Engine sind die damit verbundenen Möglichkeiten für Szenarien, an die man bisher noch nicht gedacht hat. Eine Datenbank-Engine, die seit Jahrzehnten in einer Produktionsumgebung angewendet wird, verkörpert einen Erfahrungsschatz, von dem Endbenutzer wie Entwickler profitieren können. Dies beinhaltet eine Tiefe und Substanz, die viele der werblich angepriesenen Datenbanksysteme nicht liefern können.
Tablespaces sind ein Aspekt der Datenverwaltung, die nicht zu der Tabellenstruktur gehören, mit der Entwickler in der Regel zu tun haben. Sie fallen eher in die Kategorie der erweiterten Verwaltung. Das Grundkonzept ist leicht verständlich und kommt vor allem dann zum Tragen, wenn Sie Software entwickeln, die potenziell über die Anfangsspezifikation hinaus erweitert werden muss – was in der Regel so gut wie immer Fall ist.
Mithilfe von Tablespaces kann ein Datenbankadministrator neu festlegen, wo Tabellen und Indexe physisch in Datenbankdateien gespeichert werden. Dies ist vor allem dann interessant, wenn Sie eine 20-Terabyte-Datenbank verwalten müssen, auf die rund um die Uhr von 4.000 aktiven Benutzern zugegriffen wird. Durch Delegierung Ihrer Authentifizierungsdaten wie Benutzername, Passwort-Hash usw. an ein SSD-Laufwerk können Sie erhebliche Leistungsverbesserungen erzielen.
Die Beschleunigung eines Vorgangs auch nur von wenigen Millisekunden kann, wenn Sie diese mit der Anzahl der Abfragen pro Stunde multiplizieren, in der Computerwelt eine Ewigkeit bedeuten.
Solche Features sind extrem hilfreich vor allem für die Online-Geschäftswelt, in der mit einem webbasierten Shop gearbeitet wird. Die Forschung hat festgestellt, dass die durchschnittliche Verzögerung, die ein potenzieller Kunde toleriert, bevor es weitergeht, im Bereich von Sekunden liegt. Die Möglichkeit, die Datenleistung auf Dateisystemebene zu steigern, ist also ebenso beeindruckend wie wünschenswert.
Weitere Informationen zu Tablespaces
4. Native UDF-Funktionen
UDF ist die Kurzform für „User-defined Functions”, also für „benutzerdefinierte Funktionen“. UDFs sind eine einfache und elegante Möglichkeit für Entwickler, um Abfragen zu erweitern. In vielerlei Hinsicht sind UDFs mit nativen Plugins vergleichbar.
UDFs sind kein neues Feature, sondern bereits seit langer Zeit Bestandteil der InterBase API. Es sind vor allem solche Features, die zur Vielseitigkeit und Popularität von InterBase beitragen. Ein Artikel über InterBase ist ohne die Thematisierung von UDFs praktisch nicht vorstellbar.
Eine UDF ist eine herkömmliche native Bibliothek wie z. B. eine DLL, mit der Entwickler die benötigten Funktionen implementieren. Nachdem sie in InterBase geladen sind, können Sie diese Funktionen neben den mit Standard-SQL konformen Funktionen verwenden.
Dies eröffnet einige interessante Möglichkeiten für die Datenverarbeitung. Blob-Daten können z. B. in eine native Funktion zur Verarbeitung geladen werden, bevor sie an das vorgesehene Ziel übertragen werden. Es braucht nicht sehr viel Fantasie, um sich vorzustellen, wie UDFs in Verbindung mit einer Webtechnologie Entwicklern die Bausteine an die Hand geben, um ein System wie mit Oracle PL/SQL zusammenzustellen – aber ohne die damit verbundenen Beschränkungen und Kosten.
Praktische Anwendung von UDFs
Ich habe mehrere Jahre als Entwickler für die norwegische Regierung gearbeitet. Als ich nach einer Anstellung in der Privatwirtschaft Ausschau hielt, bekam ich eine Stelle beim größten Anbieter von Medizinsoftware in Skandinavien angeboten.
Die Regeln und Vorschriften im Zusammenhang mit dem Zugriff auf medizinische Dokumente mit personenbezogenen und vertraulichen Daten sowie deren Nutzung sind verständlicherweise sehr streng. Weniger bekannt ist wahrscheinlich, dass InterBase die Basis für die weitverbreitetsten medizinischen Systeme in der Region war und ist.
Das hat unter anderem einfach damit zu tun, dass InterBase Entwicklern die Möglichkeit bietet, direkt über die Datenbank-Engine auf einer Low-Level-Schnittstelle zu erweitern. Zusätzlich zu einer Sicherheit im Branchenstandard, die InterBase sofort und ohne Vorbereitung bietet, wurden mit UDFs gescannte medizinische Dokumente verschlüsselt, sodass die Daten außerhalb des Systems nicht lesbar sind.
Ich kenne keine Datenbank-Engine, mit der eine solche Anpassung so einfach ist.
5. Sicherheit
Mit der Veröffentlichung von InterBase im Jahr 2009 hat Embarcadero eine Verschlüsselung auf Unternehmensebene (AES) eingeführt. Die meisten Datenbank-Engines arbeiten mit einer binären Lese-/Schreib-Verschlüsselung auf Dateiebene. Das bedeutet, dass die Datenseiten der Datenbankdateien beim Schreiben und Lesen verschlüsselt und entschlüsselt werden.
InterBase unterstützt aber noch eine weitere Sicherheitsebene. Sie können so für Ihre Bereitstellungsstrategie eine Ebene oder zwei Ebenen anwenden:
- Verschlüsselung auf Datenbankebene
- Verschlüsselung auf Spaltenebene
Verschlüsselung auf Datenbankebene
Wie schon kurz erwähnt, ist dies die häufigste Art der Verschlüsselung, mit der ein Schlüssel auf die Datenseiten der Speicherdatei angewendet wird.
Verschlüsselung auf Spaltenebene
Wie der Name schon sagt, ist dieses Verfahren für den Schutz der eigentlichen Datenbankspalten vorgesehen. Beachten Sie, dass diese Verschlüsselung unabhängig von der Verschlüsselung auf Datenbankebene möglich ist, d. h., damit wird eine weitere Sicherheitsebene hinzugefügt.
Unterstützung von Schlüsseln
InterBase unterstützt zwei Schlüssel. Zum einen betrifft dies den älteren Branchenstandard des DES-Algorithmus. Dies ist eine schwächere Variante der Verschlüsselung, die für nicht vertrauliche Daten geeignet ist. Vorteilhaft ist, dass dafür keine eigene Lizenz erforderlich ist.
AES ist der zweite Verschlüsselungstyp. Er wurde im Jahr 2002 zum Standard der US-Bundesbehörden. AES ermöglicht für die Verschlüsselung von Daten eine größere Anzahl an Bits als DES. Der Export des AES-Schlüssels wird von den USA aber wegen seiner Stärke reguliert.
Weitere Informationen erhalten Sie unter Standard und Bestimmungen für die AES-Verschlüsselung.
Ausführlichere Informationen finden Sie unter Die Verschlüsselungsmodelle von InterBase.
Fazit
Mit den Gründen, warum InterBase so begeistert, könnte ich problemlos ein ganzes Buch füllen. Das Beschränken auf maßvolle fünf Gründe ist mir deshalb nicht leicht gefallen. InterBase bietet seit Jahrzehnten eine herausragende Qualität kombiniert mit zukunftsgerichteter kontinuierlicher Innovation. Ich merke, dass ich gerne noch viel mehr dazu sagen würde, damit die Botschaft auch wirklich ankommt.
Die einzige Möglichkeit, sich mit InterBase vertraut zu machen, ist aber letztlich, es selbst praktisch auszuprobieren. Wenn Sie bis hierhin gelesen haben, interessieren Sie sicher für InterBase. Tun Sie sich selbst einen Gefallen und laden Sie eine Testversion für das Kennenlernen im Detail herunter. Wenn Sie dann zu Delphi oder C++Builder zurückkehren, können Sie auch die fantastischen neuen Features von RAD Studio ausprobieren.
Ausführliche Informationen zu InterBase erhalten Sie auf der InterBase-Produkt-Website.
Vielen Dank, dass Sie sich Zeit genommen haben!