Daten- und Tabellenkompression

Datenkompression in SQL-Datenbanken

UTF-8 statt UTF-16

Westeuropäische Texte, Namen und Produktbezeichnungen kodiert UTF-8 mit durchschnittlich etwas mehr als einem Byte pro Zeichen. Damit ist UTF-8 wesentlich kompakter als UTF-16, das dafür zwei Byte pro Zeichen benötigt. Das folgende Beispiel vergleicht den unterschiedlichen Storage-Bedarf von ASCII, UTF-8 und UTF-16.

Speicherplatzbedarf von ASCII, UTF-8 und UTF-16

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Benötigter Platz

ASCII

G

Ö

T

T

I

N

G

E

N

9 Byte

UTF-8

G

Ö

T

T

I

N

G

E

N

10 Byte

UTF-16

G

Ö

T

T

I

N

G

E

N

18 Byte

Migriert man eine Datenbank mit vielen textuellen Daten von ASCII nach Unicode UTF-16, wächst deren Platzbedarf typischerweise um 40 bis 60 Prozent. Bei UTF-8 ergibt sich nur ein Wachstum von rund zehn Prozent.

Da UTF-8 eine wesentliche Verringerung des Plattenplatzbedarfs zur Folge hat und im Vergleich zu UTF-16 keine Performance-Nachteile bestehen, sollte aus Speichereffizienzperspektive grundsätzlich UTF-8 verwendet werden. Leider unterstützen nicht alle Datenbank-Systeme UTF-8; die Tabelle am Ende des zweiten Teils der Artikelserie liefert hierzu Informationen.