2016-06-13 16 views
0

Ich versuche zu verstehen, die Rolle Normalisierung (falls vorhanden) sollte in einer spaltenförmigen Datenbank (in diesem Fall Sybase IQ) zu spielen. Einer der Vorteile der Normalisierung in einem traditionellen zeilenbasierten rdbms besteht beispielsweise darin, dass doppelte Daten nicht so oft wiederholt werden. Ich verstehe, dass columnar dB behandelt das Duplikat Problem. Also zusammenfassend sollten Sie noch Normalisierung in der Datenmodellierung für eine Spalte dB verwenden?Normalisierung in columnar dbs

Antwort

1

Dies ist ein großes Thema und kann nicht mit der goldenen Antwort beantwortet werden. Aber ich denke, eine Antwort kann kurz sein:

Sybase IQ ist wirklich langsam auf JOIN usw. im Vergleich zur Leistung von nur wählen ... wo foo = baa. Dies gilt auch für kleine Updates/Inserts ohne RLV. Dies wird, wie Sie bereits erwähnt haben, durch die interne Speicherung der Daten verursacht.

In der Tat kann es bei der Verwendung von Sybase IQ sinnvoll sein, Ihre Daten zu denormalisieren, damit Sie Joins usw. vermeiden können. Aber: Und dies macht die Antwort nicht 100% klar und setzen Sie es auf die "es hängt" Ebene: Das trifft zu nur für Daten mit einer niedrigen bis mittleren Kardinalität und einer geringen Anzahl von Spalten, auf die pro Anfrage zugegriffen wird, z durch Vermeiden von select * from "foobar". In solchen Fällen könnte es auch im IQ zur Normalisierung kommen.

+0

danke frlan! Gibt es irgendeine Chance, dass Sie mich auf Ressourcen aufmerksam machen können, um einen genaueren Blick darauf zu werfen? – Pradyot