sebdan
Goto Top

Verteiltes Datenbanksystem

Hallo,

ich arbeite zur Zeit an einem Studienprojekt, bei dem doch sehr grosse Mengen an Daten erzeugt werden, die in einer Datenbank gespeichert werden sollen. Das Problem ist nun, das gewünscht ist, diese Datenbank verteilt aufzusetzten also nach Möglichkeit einen "main" DB-Server zu haben an den man seine Anfragen richten kann, sowie mehrere "sub" DB-Server an die die Anfragen weitergeleitet werden sollen. Jeder der einzelnen nodes soll nur jeweils einen Teil des Gesamtdatensatzes haben (also kein mirroring) und der Hauptserver leitet die Anfragen nur an die jeweilig richtigen Knoten weiter, diese antworten ihm, und er gibt dann nach aussen hin die Antworten zurück.

Kennt jemand hierfür eine schon vorhandene Lösung oder bleibt mir doch nichts anderes als die Eigenimplementation?

mfg sebdan

Content-Key: 56692

Url: https://administrator.de/contentid/56692

Printed on: April 19, 2024 at 04:04 o'clock

Member: LarsJakubowski
LarsJakubowski Apr 15, 2007 at 20:53:05 (UTC)
Goto Top
Hi,

was soll den da für ein DB System hinterstecken?
Auf welcher Betreibssystem basis soll das denn satttfinden und wie sind die Systeme denn untereinander angebunden?
Wichtigf ist auch wie groß sind die Datenmengen im Schnitt, wechle es zu übertragen gilt?

Viele Grüße
Lars
Member: yumper
yumper Apr 15, 2007 at 21:17:02 (UTC)
Goto Top
ms sql 2007 Enterprise Edition kann dieses.

Es heisst eine Datenbank nach verschiedenen (beliebigen)
Kriterien Partionieren
Member: LarsJakubowski
LarsJakubowski Apr 15, 2007 at 21:19:00 (UTC)
Goto Top
N aja, kommt ja immernoch auf die Bandbreite an um das zu realisieren.
Das die Enterprise Edition das kann ist klar.
nur muss der Rest ja auch stimmen.
Member: Biber
Biber Apr 15, 2007 at 21:31:11 (UTC)
Goto Top
Moin sebdan,

willkommen im Forum.

Es gibt mehrere Datenbanksysteme, die dieses Feature des "Verteilten Datenhaltung" oder "Partitioned Databases" bieten.
Alle großen, also auch Oracle oder DB2 können das. Und mag sein, dass M$ das auch schon versucht.

Aber Deine Angaben sind noch zu spärlich, um da Empfehlungen abgeben zu wollen.
Was sind denn "grosse Datenmengen"? Reden wir von GigaByte, TeraByte, PetaByte? Von Zehntausenden Datensätzen oder von Millionen?
Gibt es 5 oder 500000 Clients, die dranhängen sollen?
Sollen "nur" die Daten "verteilt" gespeichert werden oder ist auch das Ziel, die Auswertungs- und Abfragelogik auf 50 Prozessoren in insgesamt 30 Rechnern zu verteilen?
Ist die Infrastruktur vorhanden, d.h. gibt es irgendwelche real existierende Sun Solaris/zLinux/RedHat/Windows/WhatEver-Bleche, die als Server freie Kapazitätäten haben?
Seid ihr clientseitig schon gebunden an ein bestimmtes Betriebssytem?

Bitte ein paar mehr Angaben...

Gruss
Biber
[Edit] Die Antwort nach den Server-Betriebsystemem hat sebdan zeitgleich mit mir schon beantwortet (Debian).
Mengengerüst bzw ein paar Hausnummern wären aber auch noch nett [/Edit]
Member: sebdan
sebdan Apr 15, 2007 at 21:38:11 (UTC)
Goto Top
Hi,

was soll den da für ein DB System
hinterstecken?
Auf welcher Betreibssystem basis soll das
denn satttfinden und wie sind die Systeme
denn untereinander angebunden?
Wichtigf ist auch wie groß sind die
Datenmengen im Schnitt, wechle es zu
übertragen gilt?

Viele Grüße
Lars

Es sind Linux Rechner (Debian), die direkt über gbit ethernet aneinander angebunden sind. Nach Möglichkeit sind open-source bzw. frei verfügbare Produkte einzusetzen.
Member: sebdan
sebdan Apr 15, 2007 at 21:50:17 (UTC)
Goto Top
Die Datenmenge liegt im niedrigen Terabyte bereich und soll auf ca ein dutzend rechner verteilt werden.

Die Abfrage Logik ist das was nach Möglichkeit am effizientesten sein soll, die Einfügeoperationen sind nicht weiter zeitkritisch.

Um das Projekt etwas zu umreissen: Es handelt sich um eine Art "Suchmaschine" für spezielle Webinhalte und findet momentan nur als interne Arbeit an meiner Hochschule statt, die Ergebnisse sind also je nach Erfolg, vorerst nur für Forschungszwecke von Interesse.