Эта статья была взята из моей книги Как избежать ИТ-катастроф. Это продолжение статей Что я говорю деловым людям о том, почему реляционные базы данных такие плохие и Идеальная буря реляционных баз данных: как такая плохая технология стала настолько повсеместной

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

Базы данных - это техника, которая возникла только из примитивной природы наших нынешних компьютерных систем. В этой статье рассматривается будущее баз данных, когда аппаратные технологии выйдут на новый уровень. Подобно глючным кнутам, они станут в значительной степени забытой концепцией, необходимой для борьбы с необработанными технологиями.

Весь успех компьютеров в том, что они могут выполнять невероятное количество небольших операций за очень короткое время. Это означает, что необходимо, чтобы данные в памяти компьютера были доступны в невероятно короткие промежутки времени и чтобы к любому из этих ячеек памяти можно было получить доступ одновременно с любым другим. Мы говорим о наносекундах - миллиардных долях секунды. Это позволяет нам создавать очень сложные операции из невероятного количества действительно простых, и делать это в разумные сроки.

К сожалению, для достижения такой скорости технологии памяти, которые мы используем сегодня, называются «энергозависимыми». Это слово инженеры позаимствовали из английского языка, чтобы выразить идею о том, что его содержимое остается только до тех пор, пока включено питание.

Если вы представите компьютерную память в виде большой линии выключателей света, представьте, что все эти выключатели, которые «включены», удерживаются в положении включенным питанием, а когда питание отключается, все они снова переключаются в положение «выключено». Это энергозависимая память.

В качестве противоположности изменчивости инженеры выбрали слово «стойкий». Постоянная память - это любой тип памяти, в которой хранятся данные даже при выключенном питании.

Большую часть двадцатого века мы записывали музыку или другой контент на магнитные ленты. Они сохранили свою информацию даже при отключении питания. Если вы отправитесь в дачу и найдете старый магнитофон и несколько пленок, которые не использовались десятилетиями, они, вероятно, все равно будут играть. Магнитная информация хранится долго. Это очень настойчиво.

Изначально данные хранились на магнитной ленте. Эти большие катушки с полудюймовой лентой отлично смотрелись в фильмах, когда они вращались то туда, то сюда. Проблема была в том, что они были медленными. Если вы хотели получить данные в конце, вам нужно было пролистать всю ленту.

Лента была заменена на диски. Это было то же самое магнитное покрытие, но вместо того, чтобы покрывать длинную пластиковую ленту, оно покрывало поверхность вращающегося диска. Представьте, что головка чтения / записи движется внутрь и наружу, как рычаг на виниловой пластинке; он может читать данные, когда диск под ним вращается. Чтение данных требует, чтобы головка переместилась (это называется поиском) на дорожку, которую она хочет прочитать или записать, что занимает около 5/1000 секунды (5 мс). Затем следует ожидание, пока информация не начнет вращаться и не попадет под голову (это называется задержкой). В настоящее время диски имеют тенденцию вращаться со скоростью 7200 об / мин, что составляет чуть более 8/1000 секунды (8 миллисекунд или 8 мс) за один оборот. Это означает, что в среднем данные, которые вы хотите поместить в заголовок, занимают 4 мс. Итак, чтобы найти фрагмент данных, вам нужно переместить голову в нужное положение и подождать, пока она повернется внизу - это около 9 миллисекунд. Обратите внимание, что все это время измеряется в миллисекундах, что в миллион раз медленнее, чем наносекунды, необходимые основной памяти для доступа к данным.

Это означает, что вы не можете обращаться с дисковой памятью так же, как с основной памятью компьютера. Слишком медленно обрабатывать случайный доступ к любой части своих данных - вам нужно подготовить данные, которые будут упакованы в блоки для записи на диск, а для чтения вы должны читать блоки данных фиксированного размера за раз и реструктурировать их. для основной памяти.

Эта проблема, заключающаяся в том, что основная память компьютера (все эти переключатели) нестабильна, омрачала мою карьеру и карьеру большинства программистов. Всякий раз, когда я сохраняю какие-либо данные, мне приходится перемещать их в постоянное хранилище. Если я этого не сделаю, он будет потерян, если отключится электричество. Для этого мне нужно преобразовать его в группу байтов, которые я могу записать как блок на диск.

Необходимость иметь дело с блочной постоянной памятью добавляет значительный объем энтропии в компьютерную систему. Он потребляет много кода и является источником множества проблем. Когда вы добавляете невероятно неудобные реляционные базы данных как способ сохранения данных, энтропия становится огромной.

Ирония всей этой проблемы, вызванной блочными устройствами хранения и базами данных, заключается в том, что это часть систем, которая исчезнет, ​​как только будет развиваться аппаратная технология.

Прорыв в компьютерах, который будет иметь огромное значение для успеха корпоративных систем, - это высокоскоростная постоянная память. Если бы у нас была быстрая память компьютера, которая не была энергозависимой и хранила свои данные между отключениями питания, тогда нам не понадобилась бы база данных. Мы бы просто сохранили данные в удобном формате, который мы используем в энергозависимой памяти, вместо того, чтобы тратить время на перевод их в формы, подходящие для хранения в медленной магнитной памяти. Даже если отключится питание, информация будет там, в том виде, в котором мы ее оставили при перезапуске компьютера.

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

На этом этапе не будет смысла критиковать реляционные базы данных, потому что они станут пережитком прошлых технологий, и корпоративные системы благодаря этому значительно улучшатся. Фактически, любые базы данных, включая новые базы данных NoSQL, станут устаревшими. Я, например, не могу дождаться. Для программистов это полностью освободит, а для пользователей это сделает системы, в том числе корпоративные, более быстрыми в реализации, более надежными и намного, намного дешевле.

В недалеком будущем базы данных станут такими же полезными, как сегодня глючные кнуты - неизвестный придаток, появившийся из-за примитивных технологий.

Эта статья взята из моей книги Как избежать ИТ-катастроф

✉️ Подпишитесь на рассылку еженедельно Email Blast 🐦 Подпишитесь на CodeBurst на Twitter , просмотрите 🗺️ План развития веб-разработчиков на 2018 год и 🕸️ Изучите веб-разработку с полным стеком .