Einfaches Beispiel für eine OODB

ndf-ls

Neuer Benutzer
Beiträge
4
Hallo!
Ich arbeite gerade an einer Präsentation über Datenbanken. Bei objektorientierten Datenbanken habe ich allerdings einige Verständnisprobleme. Außerdem finde ich kein anschauliches/simples Beispiel im Netz, welches die Vorteile gegenüber einer RDB leicht verständlich erklärt.
Nach meinem Kenntnisstand wird die gesamte Datenbank in einer Art Quelltext niedergeschrieben. Dieser Quelltext enthält gleichzeitig sämtliche Zuweisungen und "Gesetze", der die Daten unterliegen. Mithilfe einer OQL werden dann einzelne Informationen aus den Datensätzen abgefragt...?!
Gibt es ein Beispiel, an welchem man den operativen Vorteil gegenüber der gleichen Implementierung mit einer RDB leicht veranschaulichen kann??!
Ich bin für jede Antwort sehr dankbar!

Mit freundlichen Grüßen,
L.N. Schmid
 
Werbung:
Dazu wird ja viel geschrieben, z.B. das hier:
http://blog.secu-ring.de/software/u...rientierte-und-doukumentenbasierte-datenbank/

Ich habe noch nie eine OODB genutzt aber ich denke es läßt sich gut anhand einer XML-Datei erklären. Hier werden alle Informationen zu einem Objekt in einer Datei gespeichert. Die Tags beschreiben um welche Informationen es sich handelt. Jetzt muss man sich nur eine Verwaltung dazu denken und hat im Prinzip eine OODB, wenn ich mich nicht irre.

Besonders gut ist das wenn z.B. eine Webseite immer alle Informationen zu einem Objekt läd (also z.B. ein Profil). Ein Objekt läßt sich viel schneller laden wenn es auch zusammenhängend gespeichert ist als wenn man sich alle Informationen erst aus verschiedenen Tabellen zieht.
 
Erläuterungen dieser Art findet man in der Tat zu Hauf im Netz. Allerdings habe ich noch keine Quelle gefunden, welche ein Beispielproblem einmal mit einer relationalen Datenbank löst, anschließend das gleiche Problem mit einer objektorientierten Datenbank behandelt und an diesem Praxisbeispiel erklärt, warum das relationale in diesem Fall langsamer/ineffizienter/leistungsschwächer ist. Kann mir jemand da weiterhelfen?!
Vielen Dank im Voraus!

Zu ukuleles Beispiel: Ok, aber könnte ich nicht auch einfach alle Profilinformationen in einer Zeile einer Tabelle speichern und das ganze dann mit einem PrimaryKey kennzeichnen?
 
Könntest du, wäre vermutlich auch genauso schnell. Aber relationale Daten (z.B. 10 Telefonnummern zu einem Profil) müsste man dann entweder in 10 Spalten schreiben oder eben in eine Tabelle mit Fremdschlüssel auslagern. Letzteres bedeutet dann das 2 Tabellen mit jeweils einem Index und ggf. spezieller Sortierung abgefragt werden müssen.

In der XML Datei (oder einem OODB Datensatz) würde das alles im selben Datensatz stehen weil es eh zeitgleich gebraucht wird. Die OODB bekommt dann Probleme wenn es darum geht alle Telefonnummern, die mit 0049 anfangen, anzuzeigen.

Ich kann das leider nicht gut technisch erklären mit Table Scans und haste nich gesehen, das ist mir dann auch zu schwere Kost. Direkte Vergleiche sind denke ich mal selten, da muss man sich schon erstmal eine OODB konkret vornehmen, die sind sehr unterschiedlich.
 
Alles klar, das hat mir schon sehr geholfen. Hast schon Recht, für das komplette Verständnis müsste man wahrscheinlich die Programmierung von OODB draufhaben..
Vielen Dank! :)
 
Werbung:
Könntest du, wäre vermutlich auch genauso schnell. Aber relationale Daten (z.B. 10 Telefonnummern zu einem Profil) müsste man dann entweder in 10 Spalten schreiben oder eben in eine Tabelle mit Fremdschlüssel auslagern. Letzteres bedeutet dann das 2 Tabellen mit jeweils einem Index und ggf. spezieller Sortierung abgefragt werden müssen.

In der XML Datei (oder einem OODB Datensatz) würde das alles im selben Datensatz stehen weil es eh zeitgleich gebraucht wird. Die OODB bekommt dann Probleme wenn es darum geht alle Telefonnummern, die mit 0049 anfangen, anzuzeigen.

Ich kann das leider nicht gut technisch erklären mit Table Scans und haste nich gesehen, das ist mir dann auch zu schwere Kost. Direkte Vergleiche sind denke ich mal selten, da muss man sich schon erstmal eine OODB konkret vornehmen, die sind sehr unterschiedlich.

Klingt nach JSON und dokumentenbasierten Systemen wie MongoDB. Oder nach PostgreSQL 9.4, was das auch kann. Auch HSTORE wäre eine Idee.
 
Zurück
Oben