Назад » » 2019 » Январь » 30

Данные в облаках – как удаленные сервера хранят данные пользователей

  • 5.0 Рейтинг

Мы живем в мире, который наводнен информацией. Еще в 2011 году исследование IBM показало, что почти 3 квинтиллиона – это 3 с 18 нулями – байт данных генерировались каждый день. Мы уже преодолели эту отметку, учитывая удвоение числа пользователей интернета с 2011 года, мощный рост социальных сетей и машинного обучения, а также стремительный рост мобильных вычислений, потоковых сервисов и устройств интернета вещей.

Действительно, согласно последнему Cisco Global Cloud Index, около 220000 квинтиллион байтов – или, если хотите, 220 зетабайт – было сгенерировано «всеми людьми, машинами и вещами» в 2016 году и достигнет почти 850 зБ в 2021 году.

Большая часть этих данных считается эфемерными, потому что они ни где сохраняются. Но даже крошечная доля огромного числа может быть впечатляюще большой. Что касается данных, то, по оценкам Cisco, в 2016 году было сохранено 1,8 зБ, а в 2021 году объем увеличится в четыре раза до 7,2 зБ.

Рост объемов данных к 2021 году

Наш мозг не может действительно понять насколько велик зетабайт, но, возможно, этот мысленный образ поможет: если бы каждый мегабайт занимал пространство точки в конце этого предложения, то 1,8 зБ покрыл бы около 460 квадратных километров.

Конечно, фактический зетабайт данных вообще не занимает места – данные – это абстрактное понятие. С другой стороны, хранение данных требует места, а также материалов, энергии и сложного аппаратного и программного обеспечения.

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

Главная проблема хранения данных была достаточно сложной, когда скорость накопления была намного ниже, и почти все данные хранились на наших собственных устройствах. Однако, в наши дни мы отправляем всё больше данных в «облако» – это «туманный» термин для обозначения удаленных центров обработки данных, управляемых такими сервисами, как Amazon Web Services, Google Cloud, IBM Cloud и Microsoft Azure.

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

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

Основы хранения данных

Локальное хранение данных на твердотельном диске

  1. Нажатие на кнопку Сохранить в программе вызывает обращение к прошивке устройства, которая определяет, где данные должны храниться на диске.
  2. Внутри накопителя данные физически располагаются в разных блоках. «Причудой» флэш-памяти, используемой в твердотельных накопителях, является то, что при записи данных отдельные биты могут быть изменены только с 1 на 0, а не с 0 на 1. Поэтому, когда данные записываются в блок, все биты сначала устанавливаются в 1, стирая любые предыдущие данные. Затем записываются 0, создавая правильный шаблон 1 и 0.
  3. Ещё одна особенность флэш-памяти заключается в том, что она склонна к повреждению хранимых битов, и это повреждение имеет тенденцию затрагивать кластеры битов, которые расположены близко друг к другу. Коды с исправлением ошибок могут компенсировать только определенное количество поврежденных битов из байта, поэтому каждый бит в байте данных сохраняется в отдельном блоке, чтобы минимизировать вероятность повреждения нескольких битов в данном байте.
  4. Поскольку стирание блока происходит медленно, каждый раз, когда часть данных в блоке обновляется, обновленные данные записываются в пустую часть блока, если это возможно, и исходные данные помечаются как недействительные. Однако, в конечном итоге, блок должен быть удален, чтобы в него могли быть записаны новые данные.
  5. Считывание данных всегда приводит к ошибкам, но коды, исправляющие ошибки, могут найти ошибки в блоке и исправить их при условии, что в блоке есть только одна или две ошибки. Если в блоке несколько ошибок, программное обеспечение не может их исправить, и блок считается нечитаемым. Ошибки, как правило, возникают при всплесках электропитания и могут быть вызваны случайными электромагнитными полями, например, звонком телефона или включением двигателя. Ошибки также возникают из-за несовершенства носителя.

Удаленное хранение данных в облаке

  1. Сначала данные сохраняются локально, в виде блоков.
  2. Затем данные передаются через интернет в центр обработки данных.
  3. Для обеспечения избыточности данные хранятся как минимум на двух жестких дисках или двух твердотельных дисках (которые могут находиться в разных центрах обработки данных), следуя тому же базовому методу, который описан выше для локального хранилища.
  4. Позже в тот же день, если центр обработки данных будет следовать рекомендациям, данные будут скопированы на магнитную ленту. Однако, не все центры обработки данных используют резервное копирование на ленту.
  5. Считывание данных всегда приводит к ошибкам, но коды, исправляющие ошибки, могут найти ошибки в блоке и исправить их при условии, что в блоке есть только одна или две ошибки. Если в блоке несколько ошибок, программное обеспечение не может их исправить, и блок считается нечитаемым.

Более глубокое погружение в облако

Хотя большинство сохраняемых данных по-прежнему хранятся локально, всё большее число людей и устройств отправляют часть данных в удаленные центры обработки данных.

Выбор места для сохранения фотографий со смартфона

  • Данные от нескольких пользователей передаются через интернет в облачный дата-центр, который подключен к внешнему миру через оптоволокно или, в некоторых случаях, спутниковые гигабитные соединения.
  • Облачный центр обработки данных – это, как правило, хранилище данных с несколькими стойками специализированных компьютеров хранения, называемых серверами баз данных.
  • Существует три основных типа облачных хранилищ данных: жесткие диски, твердотельные накопители и кассеты с магнитной лентой, которые имеют следующие функции:
Магнитная лента HDD SSD
Время доступа, чтение/запись 10-60 секунд 7 миллисекунд 50/1000 наносекунд
Вместимость 12 терабайт 8 терабайт 2 терабайта
Постоянство данных 10-30 лет 3-6 лет 8-10 лет
Циклы чтения/записи неопределён неопределён 1000
  • Безопасность в облаке. Облачные центры обработки данных защищают данные с помощью шифрования и брандмауэров. Большинство центров предлагают несколько слоев каждой из защит. Выбор самого высокого уровня шифрования и брандмауэра, конечно, увеличит время, необходимое для сохранения и извлечения данных.

Магнитное хранение против твердотельного

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

Перпендикулярная запись может хранить около 3 гигабит на квадратный миллиметр. Новые накопители на основе магнитной записи с тепловым подогревом и магнитная запись микроволновым излучением могут похвастаться ещё более высокой плотностью.

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