Programmierung           von ​​Datenbanken

hier gehts zum Mond

Softwareentwicklung

Die Basis unserer Arbeit sind Datenbanken

Nach den Vorgaben und Anforderungen unserer Kunden entwickeln wir spezielle Applikationen und Webservices. Dabei spielt das Thema "relationale Datenbank" meist eine zentrale Rolle. Relationale Datenbanksysteme sind geschaffen worden, um eine hierarchische Struktur in Tabellen abbilden zu können. Das für uns wichtigste Datenbanksystem ist PostgreSQL. Wir nutzen diese Datenbank bereits seit 2003, da sie sich für die Verarbeitung von Tabellen mit einer komplexen Struktur und Speichern von großen Datenmengen bewährt hat.
PostgreSQL, oft auch Postgres genannt, ist ein freies, objekt-relationales und erweiterbares Datenbankmanagementsysten (OR  DBMS).  Ein OR DBMS stellt eine Verbindung zwischen einer klassischen, relationalen Datenbank und einer Objekt Datenbank her. Ein Vorteil dieser Open Source Datenbank ist die sehr gute Abwärtskompatibilität. Die Datensätze werden in einzelnen Datenbanken bzw. projektierten Tabellen gespeichert. ​Damit lässt sich eine sehr komlexe Struktur abbilden und verwalten, die auch Abfragen für anspruchsvolle Anwendungen zulässt. Den Datenmengen sind kaum Grenzen gesetzt. Die Größe der gesamten Datenbank ist nicht beschränkt. Das Datenbanksystem lässt es zu, dass einzelne Tabellen bis zu 32 TB Datensätze enthalten. Bei der Projektierung können Schemas, Tabellen und Funktionen angelegt werden. Dem Benutzer steht eine vergleichsweise umfangreiche Sammlung von Werkzeugen zum Analysieren von Datensätzen und zur Definition von Abfragen zur Verfügung. Der Zugriff auf die Inhalte der Datenbank ist über eine umfangreiche Verwaltung der Rechte der Benutzer geregelt. SQL Abfragen und die Speicherung von Datensätzen erfolgt somit sicher und kontrolliert. Postgres ermöglicht außerdem die Verwendung von externen Erweiterungen, die den Umfang und die Flexibilität der relationalen Datenbank weiter erhöhen. So ist beispielsweise die Erweiterung PostGIS sehr gut für die Verwendung mit Geodaten geeignet.
Wir sind aber nicht nur Experten im Umgang mit PostgreSQL, sondern haben auch langjährige Erfahrung mit MySQL/MariaDB sowie dem Semantischen MediaWiki als No SQL Datenbank. Ihre Projekte implementieren wir idealerweise in Go (Golang) und Python. Darüber hinaus entwickeln wir mit fast 20 Jahren individueller Erfahrung auch in den Sprachen PHP, Java (JEE), JavaScript und C/C++. Um Versionsabhängigkeiten und Codebloat gering zu halten, setzen wir Frameworks nach Möglichkeit bewußt sparsam ein. Für das Validieren von Weboberflächen werden go test bzw. Unittests und Selenium eingesetzt. In den auf große Stabilität und lange Laufzeiten ausgelegten PostgreSQL Datenbank Entwicklungen hat es sich bewährt, auf Performance zu optimierende Teile der Programmlogik innerhalb der Persistenzschicht mit PL/SQL(und Python) zu implementieren. Die noch relativ junge Browsertechnologie WebAssembly (WASM) bekommt unsere Aufmerksamkeit insbesondere bei neuen Projekten. Sie bietet enorme Vorteile bei extrem performanten Visualisierungsaufgaben.

zum Tech Stack

Die technische Umsetzung

Zu Beginn stand die Auswahl der Entwicklungs- und Produktivwerkzeuge. Die Daten lagen im ArcMap-Format vor. ArcMap ist ein Hauptbestandteil von ArcGIS, einem Produkt des Environmental Systems Research Institute, Inc.

Die originalen Daten wurden unter ArcGIS in Projekten bearbeitet und detailliert in Shape-Files gespeichert. Unser Ansatz bestand darin, diese Daten in das PostGIS-Format zu konvertieren und in PostgreSQL-Tabellen abzulegen. Für die Datenkonvertierung wurden ausschließlich Kommandozeilen-Tools verwendet.

Die Daten wurden in einem zweiten Schritt in das Zielformat umgewandelt. Diese Vorgehensweise und die gewählten Zielstrukturen, gewährleisten die spätere Verwendung anderer Geodaten.

Grundsätzliche Überlegungen und Aufteilung bei der Bearbeitung:

  1. Front-End ( HTML, Javascript )

  2. Back-End ( HTTP-Server - Golang )

  3. Datenbank ( inklusive ausgelagerter Funktionen )

Front- und Back-End sind mit der Funktionalität aufeinander abgestimmt. Das Front-End erwartet die Daten in einem bestimmten Format. Um im Browser Rechenzeit zu sparen, sendet der HTTP-Server die aufbereiteten Daten bereits formatiert zurück.

Über ein mehrstufiges Menü in Form einer hierarchischen Tabelle erfolgt die Auswahl der gewünschten Daten.

Eine geladene geologische Karte wird als Textur auf eine 3d-Darstellung des Mondes projiziert. Je nach Zoomstufe werden Details zu- oder abgeschaltet.


Entsprechende Daten sind den geologischen Bereichen hinterlegt und können angezeigt werden. In der maximalen Zoomstufe sind mehr Details erkennbar. 

Anschrift

archium GmbH
Gewerbepark Keplerstraße 6/8
07549 Gera (Thüringen)

KontakT

0365-855 038 25
kontakt@archium.org

# database 2022 # relationale dbms 2022 # datenbank