Integration mehrerer Datenquellen mit Postgres

Hallo,

ich möchte Postgres nutzen, um einer Applikation eine zentrale Schnittstelle zu verschiedenen Datenbeständen/Datenbanken zur Verfügung zu stellen. Konkret sollen Daten der eigenen Postgres-Datenbank und Daten mehrerer (entfernter) LDAP-Server über eine stored procedure integriert werden. Der Zugriff auf einen LDAP-Server geht ja z.B. sehr komfortabel über PL/Perl mit dem Module perl-ldap .
Da die Laufzeiten der LDAP-Server beträchlich sein können sollten die Abfragen parallel gestartet werden.

Mein aktueller Ansatz wäre eine externe C Funktion zu schreiben,

  • die mehrere Threads startet und
  • wobei jeder Thread einen LDAP-Server kontaktiert und die Ergebnisdaten in eine temporäre Tabelle schreibt.
    Wenn alle Threads fertig sind werden die Daten der temporären Tabelle zurückgeliefert und diese wieder gelöscht.

Ist ein bischen umständlicher, als ich mir das wünschen würde. Hat jemand eine Idee, wie man das eleganter löst? Oder gibt es prinzipielle Kommentare zur Idee die Daten eines LDAP-Servers durch Postgres zu tunneln?

Rüdiger

Währe der umgekehrte Weg auch machbar?

Aus LDAP heraus kann man mittels Back-SQL auf PostgreSQL zugreifen. Das dürfte alles in allem auch nicht weniger performant werden.

Folgendes macht den umgekehrten Weg erstmal schwierig:

  1. KnowHow: mein LDAP-KnowHow ist (noch) geringer als mein Postgres-Knowhow, bin froh, dass ich die LDAP-Perl-Client-Bibliothek einigermaßen bedienen kann; müßte erstmal lernen, wie man so einen LDAP-Server geeignet konfiguriert. Wäre aber sicher auch interessant.
  2. Client-Infrastruktur: der Daten-Client (C-Applikation) kann mit Postgres umgehen, mit LDAP noch gar nicht. Müßte mir mal entsprechende Libraries für den Zugriff auf einen LDAP-Server ansehen.

Aber strukturell klingt das in der Tat viel sauberer, ich werde das mal weiterzuverfolgen. Danke für den Tipp!