Semistrukturierte Daten
in relationalen Datenbanken
Ein extrem pragmatischer Ansatz
Gerrit Beine
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 2
Inhalt
● Semistrukturierte Daten - bisher
● Idee des dyna...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 3
Semistrukturierte Daten
● Keine allgemeine Struktur
● Tra...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 4
Bisherige Ansätze
● Wenn man nur einen Hammer kennt...
● ...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 5
Bisherige Ansätze
● Lösung 1
– Ergänzte Attribute in zusä...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 6
Idee des dynamischen Datenmodell
● 2006 während Diplomarb...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 7
Idee des dynamischen Datenmodell
● Daten nicht anhand ihr...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 8
Übersicht
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 9
Idee des dynamischen Datenmodell
● Vorteile
– Extrem schn...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 10
Idee des dynamischen Datenmodell
● Lösungen für die Nach...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 11
Erfahrungen
● Erster Performancetest
– 1 Million Artikel...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 12
Erfahrungen
● Anwendung auf SQL Server 2005
– Keine spür...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 13
Ausblick
● Vergleich mit LDAP Extensible Object
● Objekt...
24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 14
Gleich geht’s weiter
Nächste SlideShare
Wird geladen in …5
×

Semistrukturierte Daten in relationalen Datenbanken

469 Aufrufe

Veröffentlicht am

Ein Experiment zum Verwalten semistrukturierter Daten mit NHibernate und MS SQL Server 2005. (Stand 2006)

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
469
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Semistrukturierte Daten in relationalen Datenbanken

  1. 1. Semistrukturierte Daten in relationalen Datenbanken Ein extrem pragmatischer Ansatz Gerrit Beine
  2. 2. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 2 Inhalt ● Semistrukturierte Daten - bisher ● Idee des dynamischen Datenmodells ● Erfahrungen ● Perspektiven
  3. 3. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 3 Semistrukturierte Daten ● Keine allgemeine Struktur ● Tragen selbst Strukturinformationen ● Kein allgemeines ERD möglich, weil – Objekte unterscheiden sich – Objekte besitzen unbekannte Attribute – Objekte können komplett abweichen
  4. 4. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 4 Bisherige Ansätze ● Wenn man nur einen Hammer kennt... ● Speicherung in RDB statt XML, LDAP ● Neue Attribute durch neue Tabellenspalten ● Probleme – Keine sauberen Updates möglich – Langsam, da viele NULL-Werte
  5. 5. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 5 Bisherige Ansätze ● Lösung 1 – Ergänzte Attribute in zusätzlicher Tabelle – Zwei Tabellen pro Entität – Extreme Performanceeinbußen (Joins!) ● Lösung 2 – Auslieferung vordefinierte „Anwenderspalten“ – begrenzte Anzahl, Datentypen
  6. 6. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 6 Idee des dynamischen Datenmodell ● 2006 während Diplomarbeit entstanden ● Aufgabe: Reengineering einer Artikeldatenbank ● Extrem viele semistrukturierte Daten ● Technologische Basis: – .NET 2.0 – NHibernate – MS SQL Server 2005
  7. 7. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 7 Idee des dynamischen Datenmodell ● Daten nicht anhand ihrer Struktur speicher ● Metamodell des ERD in SQL ablegen: – Typen – Entitäten – Attribute – Objekte – Wertetabellen für primitive Typen
  8. 8. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 8 Übersicht
  9. 9. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 9 Idee des dynamischen Datenmodell ● Vorteile – Extrem schnelle Updates – Konstante Zahl von Tabellen ● Nachteile – Extrem komplexe Queries – Unglaublich langsame Joins
  10. 10. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 10 Idee des dynamischen Datenmodell ● Lösungen für die Nachteile – Views für Klassen dynamisch erzeugen – Mit INSTEAD-OF Triggern wie Tabellen nutzen – Umschreiben der CUD-Statements – Neuanlage der Views bei Änderung der Klasse – Einführung von Vererbung – Updatesicherheit durch Editierflags
  11. 11. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 11 Erfahrungen ● Erster Performancetest – 1 Million Artikeldaten schreiben: 30 Stunden – *gnarz* – Logging von NHibernate abschalten – 1 Million Artikeldaten schreiben: 3 Minuten – *strahl*
  12. 12. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 12 Erfahrungen ● Anwendung auf SQL Server 2005 – Keine spürbaren Performancenachteile – Getestet auf Minimal-System (512 MB RAM) ● Einschränkungen – Notwendigkeit von INSTEAD-OF Triggern o.ä. – Stored Procedures von Triggern erzeugbar – PostgreSQL, MS SQL Server 2005
  13. 13. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 13 Ausblick ● Vergleich mit LDAP Extensible Object ● Objekte mit mehreren Klassen ● Portierung auf zusätzliche DBMS ● Untersuchungen zur Performance
  14. 14. 24.03.2009 Semistrukturierte Daten in relationalen Datenbanken 14 Gleich geht’s weiter

×