Fordele ved Column Oriented Database
- Kompression. Column Oriented Database er meget effektiv til at kompresse data.
- Sammenlæggende queries. Grundet deres struktur er Column Oriented Database meget effektiv til at arbejde med sammenlæggende queries (som f.eks. SUM, COUNT, AVG, etc).
- Scalability. Column Oriented Database er meget Scaleable . De passer perfekt til at udfører massively parallel processing (MPP), Hvilket involverer at have data spredt ud over en masse maskiner, often tusindvis af maskiner
- Hurtigt til at loade og query. Column Oriented Database kan loade ekstremt hurtigt, en database på mere end 1 million rows kan ofte blive læst på bare et par sekunder. Hvilket gør den ekstremt effektiv hvis der arbejdes med store mængder af data.
Use cases
- Content management systems
- Blogging platforms
- Systems that maintain counters
- Services that have expiring usage
- Systems that require heavy write requests (like log aggregators)
Opbygningen af en Column Oriented Database minder meget om ens sædvanlige SQL database. Tabellerne er opbygget på samme måde, med man har en key/id, og derefter følger tabellens attributter. En af fordelene ved Column Oriented Database er her at man i modsætningen til Row Oriented Database, ikke er bundet af de samme regler, Hvor i Row Oriented Database er hver row i ens tabel bundet af de columns der er indsat i tabellen, men i Column Oriented Database kan man indsætte lige de attributter der er relevante for den givne row, ligegyldigt om de er blevet brugt tidligere eller ej.
Nedenunder kan du se et eksempel på forskellen mellem lagring af data i de to former for database
Fordelen ved denne måde at gemme data på, er når man skal søge i den, er det super hurtigt og effektivt
Her er et billed over hvordan der søges i en Row Oriented Database
insert photo
Her er et billed over hvordan der søges i en Column Oriented Database
insert Photo
Dette gør den netop ekstremt effektiv i databaser med store mængder af data, til og med kan den også være god at bruge hvis man arbejder med numeriske værdier hvor man har brug for at finde overblik over ens data, som min værdi, maks værdi og median, da den bare kan nøjes med at læse dataen fra den enkelte kolonne
Cassandra and Apache Hadoop Hbase (programmer til at lave en Column Oriented Database)