09. September 2024
Mein aktuelles Projekt "Giants" i.e. Germany in a nutshell.
Als einer der "Urväter" von "meinestadt.de" habe ich mir - nun in der Rente ;-) - viel Zeit nehmen können und >45 Jahre erworbenes IT-Wissen (Datenbank mit Datendesign. UNIX/Linux und Sprache C) in "Giant" eingebracht.
Alle Module sind auch aus performance Gründen in der Sprache C" geschrieben und basieren auf dem Betriebssystem Linux. Zentraler Bestandteil des System ist die Datenbank ORACLE und der Zugriff auf die Daten mittels ORACLE OCI. Damit sind besonders Zukunftsfähigkeit, Sicherheit, Hochperformace, Erweiterbarkeit, Konfigurierbarkeit, Flexibilität und Portabilität gewährleistet.
Merkmale:
- multithreaded Client-Server Architektur
-,Datenbank Oracle mit persistenten connections
special pooling, jeder Server kann mit max. 25 open connections (sessions) starten, d.h. kein "teures" connect
vor "select" der Daten notwendig, high speed bulk fetch (64K records < 1 sec), array DML, max. 65K buffered Datensätze je select.
- Einsatz von OCI, gcc 9.3.1, shared libraries, CGI, HTML, css, javascript (gering), localStorage, shell-scripte,
cron-scheduling, file-caching, - Nutzung von GEO-Daten, paginierung der Ausgaben, breadcrumb-Navigation.
- Server und Client Programme kommunizieren mittels sockets, somit können sie auf getrennten Rechnern (verteilte
Umgebung) liegen, Verbindung erfolgt über IP-Adressen und Ports.
- alle vom Server aus der Datenbank angeforderten Daten können zudem von der command-line mit entsprechenden
options auf "stdout" ausgegeben werden, damit ist auch eine einfache Weitergabe der formatierten Rohdaten an
Applets und/oder Apps möglich.
- Das konfigurierbare System (mittels Datenbankdaten, init-files und User-Einstellungen) , ist auf Hochleistung und
Flexibilität und durch Einsatz von UTF-8 auf Vielsprachighkeit ausgelegt. Mit entsprechenden Serverfarmen lassen
sich Speicherung und Zugriffe nahezu beliebiger Größenordnung realisieren. Antwortzeiten liegen überwiegend im
Bereich < 1 sec.
Ein gesondertes multithreaded Serverprogramm dient der Ausführung von Oracle Stored-Procedures Functions +
Ref-Cursor und beliebigem Select.
Die im System integrierte Suche ist mit "und" bzw. "oder" der Begriffe nutzbar. Zur Zielgenauigkeit und Beschleunigung können Begriffen bei der Suche über ein vorangestelltes "Qualifizierungskennzeichen" Bedeutungen zugeordnet werden, z.B. [ v:harry n:Titlbach ] v=vorname, n=name oder [ p:53175 ] p=PLZ.
Bei der Suchausgabe wird eine Gewichtung (diese ist bei den Suchkriterien der Urls einstellbar) der Ergebnisse und die Selektivität berücksichtigt. Benutzer können dies beeinflussen, indem sie einem Begriif +n bzw anfügen, z.B. [ blues+2 rock+5 ] oder "c++"+9, bei n=0-9.
Die Suche kann auch Phrasen enthalten, z.B."Hans Meier". Zudem können bei Und-Suche einzelne Begriffe auch mit dem Zeichen | (oder) verknüpft werden, z.B. "hans | Hansi | helmut Me_er | schulz%".
Bei einer Treffermenge >100 kann mit je 100 Datensätzen (konfigurierbar) vor- und zurückgeblättert werden.
Als wildcards sind Oracle's % (0-n Zeichen) und _ (1 Zeichen) nutzbar.
Zur leichteren Navigation in der Treffermenge der Suche können Urls mit 3 klickbaren Leisten versehen werden
1. nav => Begriffe zur Kurzbeschreibung (Navigation)
2. wo => BL, Ort, Strasse
3. haus# => Hausnummer auf Straßenebene
Ebenso sind an vielen Stellen zur Optik icons einsetzbar.
Nutzer können ihre Daten über Formulare selbst pflegen, s.a.w.u.
Aktuell bin ich auf der Suche nach Interessenten. Wer das Potential von Giants erkennt und das System einsetzen möchte, wird auch schnell die universellen Einsatzmöglichkeiten schätzen.
Einige Schaubilder, bei allen u.a. Daten handelt es sich um Testdaten zur Anschauung der Funktionalität.
Benutzer können ihre Daten über Formulare selber pflegen !