Denormalisierung

Unter Denormalisierung versteht man die bewusste Rücknahme einer Normalisierung zum Zweck der Verbesserung des Laufzeitverhaltens einer Datenbankanwendung. Aus Sicht der ANSI-SPARC-Architektur wird die konzeptionelle Ebene eines Datenmodells vollständig normalisiert entworfen. Unabhängig davon kann die interne Ebene gezielt denormalisiert entworfen werden. Denormalisierung findet also ausschließlich auf der internen Ebene statt und entbindet nicht von der Forderung, zuvor die konzeptionelle Ebene zu normalisieren.

Ein logisch ideales („normalisiertes“) Datenmodell ist vollkommen redundanzfrei – abgesehen von der technisch notwendigen Mehrfachspeicherung von Fremdschlüsseln bei Primärschlüssel-Fremdschlüssel-Beziehungen.

Mit Denormalisierungen lassen sich oftmals wesentlich größere Performance-Verbesserungen erreichen als mit einem Tuning der Datenbankinstallation.

Neben der Verbesserung des Laufzeitverhaltens wird Denormalisierung auch angewandt, um die Komplexität eines Systems zu verringern oder um die Administrierbarkeit der gespeicherten Daten zu erleichtern.

Bereiche der Denormalisierung

Rücknahme der ersten Normalform

Verstöße gegen die erste Normalform werden meistens zur Vermeidung einer unnötigen Komplizierung des Datenhaushalts vorgenommen.

Die erste Normalform fordert eine atomare Speicherung von Daten, das bedeutet, dass in einem Attribut (= einem Datenbankfeld) nur atomare (=unzerteilbare) Informationen abgelegt werden dürfen. Beispiel: Die Definition eines 100 Zeichen langen Datenfeldes zur Aufnahme von einer oder mehrerer Telefonnummern verstößt gegen die Forderung der ersten Normalform. Um die erste Normalform zu erfüllen, müsste für die Speicherung mehrerer Telefonnummern eine eigene Tabelle geschaffen werden. So könnten zu einer Person beliebig viele Telefonnummern gespeichert werden. Die Unterbringung einer oder mehrerer Telefonnummern in einem einzigen Datenfeld ist jedoch oft völlig ausreichend und die Komplexität des Systems wird dadurch reduziert.

Ein weiteres Beispiel für eine aus praktischen Gründen sinnvolle Verletzung der ersten Normalform ist die Speicherung von Titel, Vorname und Nachname in einem einzigen Datenfeld. Solange in dem System nicht auf die Einzelkomponenten des Namens zugegriffen werden muss, ist eine Speicherung der einzelnen Namenskomponenten in einem einzigen Textfeld ebenfalls eine gute Möglichkeit zur Vereinfachung des Systems.

In den meisten Datenbanksystemen wird die Straße und die Hausnummer (mit evtl. noch ergänzenden Buchstaben) in einem einzigen Datenfeld gespeichert, obwohl diese Vorgehensweise strenggenommen gegen die erste Normalform verstößt.

Rücknahme der zweiten oder dritten Normalform

Die zweite und die dritte Normalform fordern, dass alle abhängigen Attribute allein von den Schlüsselkandidaten abhängig sein dürfen. Alle Relationen, die diese Forderungen nicht erfüllen, müssen aufgespalten werden. Dadurch entstehen viele neue kleinere Tabellen. Um auf diese Daten zuzugreifen, müssen die Daten dieser Einzeltabellen wieder zusammengeführt werden durch Verwenden von SQL-Statements mit Joins. Die Ausführung eines Joins ist für das DBMS meistens zeitaufwändiger als der Zugriff auf eine einzige Tabelle.

Die zweite oder dritte Normalform wird meistens zurückgenommen mit dem Ziel, einen Join zu vermeiden. Es betrifft typischerweise zwei Tabellen, die in einer N:1-Beziehung zueinander stehen. Beispiel: Mitarbeiter und Abteilung. Wenn viele performance-kritische Lesezugriffe die Daten der Mitarbeiter und zusätzlich den Abteilungsnamen benötigen, dann kann die zusätzliche Speicherung des Abteilungsnamens in jedem Satz der Mitarbeitertabelle sinnvoll sein. Diese Zugriffe können dann alleine aus den Daten in der Mitarbeitertabelle bedient werden. Der zusätzliche Zugriff auf die Abteilungstabelle ist nicht mehr erforderlich.

Diese Art der Denormalisierung wird perfektioniert bei der dimensionalen Modellierung eines Data-Marts für ein Data-Warehouse. Wenn die Dimensionstabellen vollständig normalisiert gestaltet werden, dann gibt es eine Vielzahl von Einzeltabellen, die untereinander durch Fremdschlüssel-Beziehungen verbunden sind. Das Datenmodell sieht aus wie eine Schneeflocke, daher die Bezeichnung Schneeflockenschema. Für den Zugriff auf die Daten sind oft Joins auf die vielen durch die Normalisierung herausgelösten Einzel-Tabellen erforderlich. Im Gegensatz dazu steht das Sternschema, bei dem die Dimensionstabellen denormalisiert gestaltet sind. Die Faktentabelle ist nur unmittelbar von den einzelnen Dimensionstabellen abhängig. Es gibt keine Abhängigkeiten, die über mehrere Fremdschlüssel-Beziehungen vollzogen werden müssen. Die Anzahl der Dimensionstabellen ist geringer und für Zugriffe auf die Tabellen sind weniger Joins erforderlich. Allerdings gibt es bei den Daten in den Dimensionstabellen Redundanz. Die Performance der Datenzugriffe ist bei dem Sternschema meistens besser, daher wird in der Praxis meistens dieses Schema gewählt.

Vorweggenommene Aggregation

Zur Ausführung von Abfragen müssen oft umfangreiche Aggregationen ausgeführt werden. Das ist besonders bei OLAP-Systemen der Fall. Wenn die Antwortzeit der Abfragen in nicht mehr akzeptable Bereiche kommt, dann können die Aggregationen auch vorweg berechnet und gespeichert werden. Ideal ist das bei Systemen, die nur in der Nacht aktualisiert werden. Dann werden nach der eigentlichen Aktualisierung der Daten auch alle möglichen Aggregationen berechnet und gespeichert. Wenn dann ein Anwender während des Tages eine Kennzahl (KPI) anfordert, dann sind alle dafür erforderlichen Aggregationen bereits vorhanden und die Kennzahl kann sekundenschnell ausgegeben werden.

Fragmentierung

Man unterscheidet horizontale und vertikale Fragmentierung.

Bei der horizontalen Fragmentierung (englisch sharding) wird die Gesamtheit aller Datensätze einer Relation auf mehrere Tabellen aufgeteilt. Wenn diese Tabellen auf demselben Server liegen, handelt es sich meistens um Partitionierung. Die einzelnen Tabellen können aber auch auf unterschiedlichen Servern liegen. So können z. B. die Daten für die Geschäfte in den USA auf einem Server in den USA gespeichert werden und die Daten für die Geschäfte mit Europa liegen auf einem Server in Deutschland. Diese Aufteilung wird auch als Regionalisierung bezeichnet.

Horizontale Fragmentierung schafft keine Redundanz der gespeicherten Daten, sondern der Strukturen. Wenn eine Relation geändert werden muss, dann muss nicht nur eine Tabelle geändert werden, sondern es müssen alle Tabellen geändert werden, über die die Daten aus der betreffenden Relation verteilt sind. Hier besteht die Gefahr von Anomalien in den Datenstrukturen.

Bei der vertikalen Fragmentierung werden die abhängigen Attribute (Nicht-Schlüssel-Attribute) einer Tabelle in zwei oder mehrere Gruppen aufgeteilt. Aus jeder Gruppe wird eine eigene Tabelle, die noch um alle Schlüssel-Attribute der Ursprungstabelle ergänzt werden. Das kann dann sinnvoll sein, wenn die Attribute einer Relation Datensätze mit einer sehr großen Satzlänge ergeben. Wenn zusätzlich noch die Zugriffe meistens nur einige wenige Attribute betreffen, dann kann man die wenigen häufig zugegriffenen Attribute in eine Gruppe zusammenfassen und den Rest in eine zweite Gruppe zusammenfassen. Die häufig auszuführenden Zugriffe werden dadurch schneller, weil eine geringere Menge an Daten von der Festplatte gelesen werden muss. Die selten auszuführenden Zugriffe auf die restlichen Attribute werden dadurch nicht schneller, aber auch nicht langsamer.

Ab welcher Satzlänge eine Aufspaltung in mehrere kleinere Tabellen sinnvoll ist, hängt auch von dem Datenbanksystem ab. Viele Datenbanksysteme speichern die Daten in Form von Blöcken mit einer Größe von 4 KiB, 8 KiB oder 16 KiB ab. Wenn die durchschnittliche Satzlänge wenig größer als 50 % eines Datenblocks ist, dann bleibt viel Speicherplatz ungenutzt. Wenn die durchschnittliche Satzlänge größer als die verwendete Blockgröße ist, dann werden die Datenzugriffe aufwändiger. Wenn BLOBs zusammen mit anderen Attributen in einer Relation vorkommen, ist vertikale Fragmentierung fast immer von Vorteil.

Partitionierung

Partitionierung ist ein Spezialfall der horizontalen Fragmentierung.

Große Datenbestände lassen sich leichter administrieren, wenn die Daten einer Relation in mehrere kleine Teile (= Partitionen) aufgeteilt und diese separat gespeichert werden. Wenn eine Partition einer Tabelle gerade aktualisiert wird, dann können andere Partitionen der Tabelle zur selben Zeit reorganisiert werden. Wenn in einer Partition ein Fehler entdeckt wird, dann kann diese einzelne Partition aus einer Datensicherung wiederhergestellt werden, während Programme auf die anderen Partitionen weiter zugreifen können. Die meisten etablierten Datenbankhersteller bieten Partitionierung an, siehe z. B. Partitionierung bei DB2 und Partitionierung bei MySQL.

Die meisten Datenbanksysteme bieten die Möglichkeit, entweder einzelne Partitionen anzusprechen oder alle Partitionen unter einem einheitlichen Tabellennamen anzusprechen.

Durch Partitionierung können die Datenzugriffe beschleunigt werden. Der wesentliche Vorteil ist jedoch die leichtere Administrierbarkeit der gesamten Tabelle.

Index

Die Erstellung eines Index ist auch eine redundante Datenspeicherung und damit – genau genommen – eine Denormalisierung. Die meisten Datenbankmanagementsysteme sind in der Lage, einen Index automatisch zu aktualisieren, wenn die Daten in der Basistabelle verändert werden. Indizes können eine Leistungssteigerung bei Lesezugriffen und bei Schreibzugriffen bewirken, da eine gezielte Suche nach bestimmten Sätzen unterstützt wird. Oft werden Schreibzugriffe jedoch umso langsamer, je mehr Indices vorhanden sind, da sowohl die Daten in der Tabelle, als auch die Daten in den Indices aktualisiert werden müssen.

Nachteile

Nachteilig ist oft der zusätzliche Aufwand, der getrieben werden muss, um die redundanten Daten konsistent zu halten. Es besteht die Gefahr von Datenanomalien auf Grund der redundanten Speicherung.

Diese Gefahr kann aufgehoben werden, wenn es gelingt, die Aktualisierung der redundant gespeicherten Daten an das Datenbankmanagementsystem zu delegieren.

Die Datenbankhersteller bieten verschiedene Funktionen, um redundant gespeicherte Daten automatisch abzugleichen.

  • Dass die Aktualisierung eines Index automatisch erfolgt, ist schon so selbstverständlich, dass man es gar nicht anders erwartet.
  • Die Vorwegnahme von Aggregationen wird durch Materialized Views unterstützt, die diese Aggregationen automatisch im erforderlichen Umfang aktualisieren.
  • Ferner gibt es Trigger, mit denen redundant gespeicherte Daten automatisch aktualisiert werden können.

Wenn das Datenbankmanagementsystem solche Aufgaben übernimmt, dann mag die Aktualisierung eines einzelnen Datensatzes dadurch nur unmerklich verlangsamt werden. Massendatenverarbeitungen können durch die Nutzung solcher Funktionen allerdings deutlich langsamer werden.

Meistens hat eine Denormalisierung einen zusätzlichen Speicherbedarf zur Folge. Oft ist man jedoch bereit, für eine Verbesserung der Leistung die Kosten für zusätzlichen Speicherplatz zu tragen. Im Einzelfall muss abgewogen werden, ob die Vorteile es wert sind, die damit verbundenen Nachteile in Kauf zu nehmen.

Read other articles:

Bill PaxtonPaxton pada tahun 2016LahirWilliam Paxton(1955-05-17)17 Mei 1955Fort Worth, Texas, Amerika SerikatMeninggal25 Februari 2017(2017-02-25) (umur 61)Los Angeles, California, Amerika SerikatSebab meninggalKomplikasi setelah operasiPekerjaanAktor, sutradaraTahun aktif1975–2017Suami/istriKelly Rowan ​ ​(m. 1979; c. 1980)​Louise Newbury ​(m. 1987⁠–⁠2017)​Anak2, termasuk James P...

 

Blue Line LugarUbicación Charlotte, Carolina del NorteDescripciónTipo Tren ligeroSistema Tren Ligero de CharlotteInauguración 24 de noviembre de 2007[1]​[2]​Inicio Séptima CalleFin I-485 / South BoulevardeCaracterísticas técnicasLongitud 9,6 millas (15,45 km)Estaciones 15Ancho de vía 4 pies 8,5 plg (1435 mm)Electrificación 750 V CCPropietario Charlotte Area Transit SystemExplotaciónEstado OperacionalPasajeros 15,800 (Q4 2014)[3]​Flota Siemen...

 

Large order of flowering plants This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (February 2012) (Learn how and when to remove this template message) Asterales Sunflower, Helianthus annuus Scientific classification Kingdom: Plantae Clade: Tracheophytes Clade: Angiosperms Clade: Eudicots Clade: Asterids Clade: Campanulids Order: AsteralesLink[1] Families...

الطائرة المفقودةمعلومات عامةالصنف الفني تشويقتاريخ الصدور 22 أكتوبر 1984 مدة العرض 100 دقيقةالبلد مصر الطاقمالمخرج أحمد النحاس الكاتب أحمد النحاسالبطولة  القائمة ... محمود ياسين سهير رمزي رجاء يوسف محيي إسماعيل جلال عيسى محمد لطفي شعبان حسين فؤاد خليل محمود الزهيري أحمد حجا

 

American malacologist and journalist Martha Burton WilliamsonBornMartha Burton Woodhead(1843-03-06)March 6, 1843Rothwell, West Yorkshire, UKDiedMarch 18, 1922(1922-03-18) (aged 79)Los Angeles, California, USNationalityAmericanOccupationsMalacologistJournalist For the American television producer, see Martha Williamson. Martha Burton Woodhead Williamson (1843–1922) was an American malacologist and journalist. She was a founding member of the American Association of Conchologists and vic...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (أبريل 2019) الثور الهائج (تمثال)   معلومات شخصية الطول 340 سنتيمتر  الحياة الفنية النوع منحوتة حيوانية  [لغات أخرى]‏،  وفن عام  المواقع الموقع الموقع الرسم

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (سبتمبر 2018) أمير ساداتي معلومات شخصية الميلاد 23 سبتمبر 1981 (42 سنة)  طهران  الطول 1.84 م (6 قدم 1⁄2 بوصة) مركز اللعب مدافع الجنسية إيران  معلومات النادي الناد...

 

Jack LawlessInformasi latar belakangLahir20 September 1987 (umur 36)New Jersey, Amerika SerikatGenre Pop rock power pop dance-rock PekerjaanDrummerTahun aktif2007–sekarangArtis terkait Jonas Brothers Ocean Grove DNCE Situs webwww.dnce.com Jack Lawless (lahir 20 September 1987) adalah seorang musisi dan drummer asal Amerika Serikat. Dia adalah drummer untuk band DNCE dan Ocean Grove, serta drummer konser untuk Jonas Brothers.[1] Ia dibesarkan di Middletown Township, New Jersey, ...

 

  لمعانٍ أخرى، طالع أمانة (توضيح). أمانة السر   تسمية الإناث أمينة سر  فرع من عمال الياقات البيضاء  تعديل مصدري - تعديل   أمانة السر، وتعرف بالأمانة والكتابة (أو السكرتارية)، هي الجهاز الإداري المتخصص في أداء الأعمال المكتبية مثل اعداد المكاتبات والمراسلات وال...

شعبية سرت     الإحداثيات 31°12′17″N 16°35′17″E / 31.204836111111°N 16.587927777778°E / 31.204836111111; 16.587927777778  تقسيم إداري  البلد ليبيا[1]  التقسيم الأعلى ليبيا  العاصمة سرت  خصائص جغرافية  المساحة 77660 كيلومتر مربع  عدد السكان  عدد السكان 141378 (2006)[2]  الك...

 

DHA-3 Drover DHA-3 Mk. 2 Drover Role Short-haul airlinerType of aircraft National origin Australia Manufacturer de Havilland Australia First flight 23 January 1948 Introduction 1949 Status Four registered in Australia Primary users Royal Flying Doctor Service of AustraliaQantas Produced 1949–1953 Number built 20 Developed from de Havilland Dove The de Havilland Australia DHA-3 Drover is a small transport aircraft that was built by de Havilland Australia (DHA) in the 1940s and 1950s. Th...

 

Species of bat Philippine forest horseshoe bat Conservation status Least Concern (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Mammalia Order: Chiroptera Family: Rhinolophidae Genus: Rhinolophus Species: R. inops Binomial name Rhinolophus inopsK. Andersen, 1905 Philippine forest horseshoe bat range The Philippine forest horseshoe bat (Rhinolophus inops) is a species of bat in the family Rhinolophidae. It is endemic to the...

Estação Guinardó - Hospital de Sant Pau Guinardó é uma estação da linha Linha 4 do Metro de Barcelona.[1][2] Entrou em funcionamento em 1974. Facilidades escada rolante; Localização Barcelona; Espanha, Catalunha. Referências ↑ Robert Schwandl. «L2 Paral.lel – Badalona Pompeu Fabra» (em inglês). Urbanrail. Consultado em 22 de setembro de 2021. Cópia arquivada em 7 de setembro de 2021  ↑ «Line 4 metro (Yellow)». TMB. Consultado em 11 de julho de 2019. Cópia arquivada...

 

British TV series or programme Dirty Dancing: The Time of Your LifeGenreReality TV/Talent contestStarringKelly Brook (presenter)Miranda Garrison (judge)Jennifer Ellison (judge)Sean Cheesman (judge)Country of originUnited KingdomOriginal languageEnglishProductionProduction locationsVirginia, USACamera setupMultiple-camera setupOriginal releaseNetworkLivingReleaseOctober 2007 (2007-10) –2008 (2008) Dirty Dancing: The Time of Your Life is a dance show created for Living as ...

 

British actor John Wentworthin The Avengers ep: Six Hands Across a Table (1963)BornArthur PowellJuly 1908Reading, Berkshire, EnglandDied1989 (aged 80–81)EnglandOccupationActorYears active1958 - 1984 John Wentworth (1908–1989) was a British television actor.[1][2][3] He starred in the ITV television series The Main Chance in which he played the role of Henry Castleton a traditionalist Leeds-based lawyer.[4] Selected filmography Film The Last Sh...

鈴木 牧之(すずき ぼくし、明和7年1月27日(1770年2月22日) - 天保13年5月15日(1842年6月23日))は、江戸時代後期の商人、随筆家。幼名は弥太郎。通称は儀三治(ぎそうじ)。牧之は俳号。屋号は「鈴木屋」。雅号は他に「秋月庵」「螺耳」など。父は鈴木恒右衛門(俳号は「牧水」)、母はとよ。 生涯 『北越雪譜』二編 巻一(鈴木牧之著、天保12年(1841年)刊) 『越...

 

Saccocomune Sacco – Veduta LocalizzazioneStato Italia Regione Campania Provincia Salerno AmministrazioneSindacoFranco Latempa (lista civica) dall'11-6-2017 TerritorioCoordinate40°22′44″N 15°22′42″E / 40.378889°N 15.378333°E40.378889; 15.378333 (Sacco)Coordinate: 40°22′44″N 15°22′42″E / 40.378889°N 15.378333°E40.378889; 15.378333 (Sacco) Altitudine600 m s.l.m. Superficie23,66 km² Abitanti441[3&#...

 

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Ernst-Robert Grawitz – berita · surat kabar · buku · cendekiawan · JSTOR Profesor Dr. Ernst-Robert Grawitz (8 Juni 1899 – 24 April 1945) adalah seorang dokter umum Jerman Nazi selama Pera...

Larry Rivers, 1961 Larry Rivers, pseudonimo di Yitzroch Loiza Grossberg (Bronx, 17 agosto 1923 – New York, 14 agosto 2002), è stato un artista, musicista e regista statunitense. Rivers fu musicista jazz, pittore, scultore, poeta, attore, regista, conferenziere, insegnante ed autore di documentari televisivi. Andy Warhol non nascose mai di essere stato influenzato dall'arte di Rivers, che definì fondamentale nello sviluppo della Pop art.[1] Indice 1 Biografia 2 Rivers e l'arte cont...

 

Izzue IslamLahirMuhammad Izzul Islam Bin Mazlan2 Juni 1990 (umur 33)Kota Bharu, Kelantan, MalaysiaTempat tinggalKuala Lumpur, MalaysiaPekerjaanPelakon, model, penyanyiTahun aktif2009–kiniTinggi175 m (574 ft 2 in)Berat55 kg (121 pon; 8,7 st)Suami/istriAwin Nurin ​(m. 2013)​Karier musikGenrePopPekerjaanPenyanyiInstrumenVokalTahun aktif2011–kiniLabelKRU StudiosArtis terkaitForteen Muhammad Izzul Islam bin Mazlan, lebih dik...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!