Was wären die Vor- und Nachteile der hierarchischen Daten und. bezogenen Daten in der Leistung (und Kategorisierung)?

StackOverflow https://stackoverflow.com/questions/731983

Frage

Dies bezieht sich auf diese Frage . Es hat mich, dass denke zum Beispiel, dieses Buch . Statt es jeweils ein Kind sowohl [Agriculture] und [Other], in den Bäumen [Books > Catalogs > Agriculture] und [Business & Industrial > Agriculture & Forestry > Other] zu sein, es könnte nur auf eigenen Beinen stehen müssen diese Werte als Tags, statt.

In einer Website wie eBay, würden die Leistungskosten für das Auflisten aller Datensätze mit den Tags [Agriculture UND Catalog] stark outweigth die der Auflistung aller Datensätze in den [Books > Catalogs > Agriculture] , sofern die Daten richtig normalisiert?

Ich weiß, dies ist wahrscheinlich eine dumme Frage (und nein, ich glaube nicht, dass ich das nächste eBay bin Programmierung), aber ich kann diese Neugier und nicht schütteln, schlimmer; die Versuchung ; so würde ich eher dumm klingen jetzt und ein gutes Verständnis für meine Missverständnisse bekommen als später etwas dumm oder sinnlos zu machen.

War es hilfreich?

Lösung

Wenn das relationale Modell zuerst entstanden, war das dominierende Paradigma Datenbank hierarchisch; und dann (wie es noch der Fall ist) hierarchisch ist effizienter, weil im Wesentlichen wissen, können Sie mit teilweise prejoined Abfragen starten.

Aber nur auf der Grundlage einer statischen hierarchische Struktur. Die große Schwierigkeit ergibt sich, wenn Sie die Sicht auf die Daten biegen wollen von einer anderen Wurzel Dimension zu kommen. (Es war ein stark diskutierte Frage, ob relationale Datenbanken immer effizient genug für den praktischen Gebrauch sein könnte;. Bald durch sorgfältige Anwendung von Moores Gesetz aufgelöst)

Denken Sie an Kunden, die Aufträge haben, die Produkte umfassen; eine Hierarchie. Zwangsläufig werden Sie wollen auch über Produkte denken können, die in Aufträge von Kunden gefunden werden sollen; eine ganze andere Hierarchie. Und Verkaeufer in Regionen, die Bestellungen von Kunden erzeugen; oder haben Kunden, die Aufträge erteilen.

Relationale Datenbanken bieten Ihnen die Möglichkeit, Ihre Hierarchien nach Belieben mit etwa gleicher Effizienz zu rekonstruieren; ein Vorteil nur in anderen Datenbankformaten auf Kosten mehrere orthogonale Hierarchien der Einbettung; wobei in diesem Fall die Kosten für die Veränderung, das Hinzufügen oder Löschen von Daten werden astronomisch.

Andere Tipps

Der Hauptzweck des relationalen Modells ist um Doppelarbeit zu vermeiden. Hierarchische Daten, während leichter manuell grok, leidet unter Duplizierung Problemen.

das Modell verwenden, die Ihre Daten am besten paßt, anstatt vorzeitige Optimierung zu tun.

Ich neige dazu, aus relationalen Daten Präsentations hierarchische Bäume zu bauen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top