Какво знаете за вертикалните бази данни

На английски такива бази данни се наричат ​​Columnar Databases. Познавам две такива СУБД - Vertica, Sybase IQ. Сигурно има и други.

През 2008 г. Yahoo твърди, че има най-голямото хранилище за данни от 2 петабайта (петабайтите измерват капацитета за съхранение, един петабайт се равнява на един милион гигабайта).

Тяхната система за управление на данни обработва 24 милиарда заявки на ден. Каква СУБД използва Yahoo?

За да постигне тази скорост на обработка на заявките, компанията поръча редизайн на СУБД PostgreSQL, чийто изходен код е свободно достъпен. PostgreSQL е преработен по такъв начин, че данните се въвеждат в базата данни и се съхраняват не ред по ред, а по колони (колонен формат).

Недостатъците на такива вертикални бази данни са по-бавното вмъкване и редактиране на данни в сравнение с базите данни ред по ред. Добавянето на запис с 20 полета, което се прави с една команда за вмъкване на MySQL, например, ще изисква 20 вмъквания във вертикален subd. Въпреки това, когато добавяте голям брой записи наведнъж, производителността на вертикална база данни не страда много.

За да се ускори добавянето на записи, СУБД Vertica е организирана така, че базата данни има две хранилища – едното е само за запис, а другото е само за четене. Когато данните се преместват от хранилище за запис в хранилище за четене, те се сортират и компресират.

Предимството на вертикалната база данни е много високата скорост на обработка на заявките за четене към голяма база данни и голямото съотношение на компресия на данните.

Изгодно е да се използват вертикални бази данни, където данните се записват по тип журнал. Когато веднъж записаните данни никога не сасе редактират. Например резултатите от някои измервания и наблюдения.