CODB (ang. column-oriented DBMS) – kolumnowy system zarządzania bazą danych. W przeciwieństwie do tradycyjnych systemów bazodanowych (RDBMS) gdzie dane składowane są poziomo czyli wierszami, w CODB dane przechowywane są pionowo – kolumnami.

Weźmy na przykład tabelę customer z dużej firmy ubezpieczeniowej. Przyjmijmy, że tabela ma 2 miliony wierszy, każdy z nich zajmuje 800 bajtów. Chcemy wiedzieć ile jest nieubezpieczonych mężczyzn w województwie mazowieckim.

 select count(*) from customer where plec = 'M' and woj = 'MAZ' and ubezp = 'N'.

W tradycyjnej relacyjnej bazie danych wygląda to tak.

... Plec ... Woj ... Ubezp
K MAZ T
M SLA T
K LUB N
M MAZ T
K LUB T

Wymaga to przeglądania wszystkich danych dla każdego wiersza (o ile nie ma indeksów). Liczba operacji wejścia/wyjścia wynosi

Podczas gdy w systemie CODB odczytujemy tylko trzy interesujące nas kolumny. Przy tym zapytanie SQL wygląda identycznie.

Płeć Woj Ubezp
K ↓ MAZ ↓ T ↓
M ↓ SLA ↓ T ↓
K ↓ LUB ↓ N ↓
M ↓ MAZ ↓ T ↓
K ↓ LUB ↓ T ↓

Interesujące nas kolumny mają długości odpowiednio: 1, 3 i 1. Liczba operacji wejścia/wyjścia wynosi w tym przypadku

Im więcej wierszy w tabeli tym większy zysk. Systemy typu CODB są zaprojektowane do celów raportowych i analitycznych (Systemy DSS) w przetwarzaniu ogromnych ilości danych. Stosowane są najczęściej do implementacji hurtowni danych. Nie nadają się do przetwarzania transakcji (Systemy OLTP).

Liderem w tej kategorii jest SAP ze swoją bazą SAP IQ. Inni producenci to Vertica, ParAccel and GreenPlum.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.