Классика баз данных - статьи

       

В отличие от многих других


В отличие от многих других действующих членов сообщества баз данных, которые с юных лет воспитывались на идеях Кодда, опыте System R и Ingres и т.д., он пытается смотреть на мир аналитики данных полностью открытыми глазами. И, конечно, это делает его наблюдения и размышления особенно ценными. С другой стороны, как показывает статья, ему не хватает этой самой академической подготовки в области управления данными, что делает некоторые его выводы, на мой взгляд, сомнительными.

С этого места мне хотелось бы перейти к критическим замечаниям по поводу статьи "Патологии больших данных". Если вы ее еще не прочитали, прервите чтение моей заметки и почитайте статью Якобса, а потом, если захотите, вернитесь к моим комментариям.

Статья Адама Якобса начинается с эффектного примера аналитического приложения с фиктивными данными "всемирной переписи". Автор убедительно демонстрирует, что для опытного программиста создание эффективно работающего кода такого приложения не составляет труда. Далее он хочет показать, что современные SQL-ориентированные СУБД с этой задачей не справляются, и выбирает в качестве жертвы PostgreSQL. Он утверждает, что запрос с группировкой по всем трем столбцам таблицы с миллиардом строк и тремя столбцами (общим объемом в 40 гигабайт) на машине с 20 гигабайтами основной памяти эта система выполняла в течение суток. По его мнению, основной проблемой является то, что система выполняла запрос с использованием предварительной полной сортировки этой таблицы.

Насколько я понял из Internet, в мире PostgreSQL к моменту написания этой заметки еще никто не воспроизвел эксперимент Якобса (публика из сообщества PostgreSQL сетует, что, мол, неизвестен точный формат таблицы). Но мне кажется, что, как бы не была устроена таблица, занимающая 40 гигабайт внешней памяти, крайне трудно написать программу внешней сортировки, которая при наличии буфера в основной памяти объемом в 20 гигабайт работала бы 24 часа. Что-то здесь не так.

И, скорее всего, дело не в PostgreSQL, а в условиях эксперимента.

Содержание  Назад  Вперед