VK Tech 26 сентября 2024

Сравнение классических СХД и объектного хранения на базе S3

Почему СХД перестают удовлетворять требованиям, какие проблемы с ними связаны и в чем заключаются преимущества объектного хранения данных

Александр Виноградов
Директор направления сервисов по работе с данными в VK Data Platform и VK Cloud

Руководитель платформы Tarantool

Минусы классических СХД

Казалось бы, зачем создавать объектные хранилища, если уже существуют самые разные локальные и сетевые системы хранения данных? Причем технология тоже не одна — есть, например, SAN (Storage Area Network, блочная система хранения) и NAS (Network Attached Storage, хранение данных на файловом уровне), которые обеспечивают разный формат хранения данных.

Однако у всех этих классических систем был ряд минусов:

  • Высокая стоимость: классические СХД отличались высокой ценой за гигабайт данных, что становилось проблемой при масштабировании.
  • Ограниченное масштабирование: СХД нельзя масштабировать бесконечно в разные стороны — для роста требуется периодически менять оборудование, а иногда и саму систему хранения. Просто так новое пространство для данных подключить не получится.
  • Деградация производительности: с увеличением объема данных и количества файлов время отклика классических систем значительно возрастало.
  • Привязка к вендору: с классическими СХД все решение приходилось реализовывать на технологиях одного конкретного поставщика. Это также повышало стоимость хранения, а еще лишало возможности гибко использовать разные удобные технологии. 
  • Проблемы с географическим распределением данных: организация хранения данных в различных дата-центрах представляет собой значительную сложность. Особенно это было актуально для крупных компаний, которым важно обеспечить быстрый доступ к данным на больших территориях. 

Для решения этих проблем и разработали разные новые технологии хранения данных. Одна из них — объектное хранилище S3. 

Появление  S3 и объектных хранилищ


Предшественником объектных хранилищ была EMC Centera, представленная в 2002 году. Внешне она напоминала  обычный NAS, однако ее революционная концепция Content Addressed Storage (CAS) позволяла искать объекты напрямую по хэшу, что значительно ускоряло процесс доступа к данным.

Следующим шагом стало появление сервиса S3 от Amazon, базирующегося на HTTP-протоколе и предлагающего удобный API для хранения объектов. API S3 быстро стал стандартом для большинства объектных хранилищ, хотя и не единственным. Microsoft и Google также разработали API для своих объектных хранилищ, но именно Amazon S3 получил наибольшее признание и широкое распространение.

Сервис S3 привнес: 

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

Однако, как и у любой системы, у S3 есть некоторые недостатки. В классических системах данные организованы в древовидной структуре: существуют папки, в которых могут содержаться другие папки и файлы. В объектном хранилище никакой структуры нет, и данные просто хранятся на огромном «плоском» пространстве. Из-за этого мгновенный доступ к данным в реальном времени может происходить с задержкой. 

Чаще всего классические хранилища и S3 просто используют в комплексе:

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

Нынешнее положение S3 среди прочих технологий хранения

Согласно кривой зрелости технологий от Gartner, некоторые технологии достигают стадии плато, где происходит переход от взрывного роста к стабильному применению: 

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

Причина такого перехода из хайпа в обыденность проста. Прогнозы Gartner подчеркивают увеличение объема неструктурированных данных к 2026 году — и это уже можно увидеть на практике. А классические СХД для хранения таких объемов неструктурированных данных категорически не подходят, что мы уже наблюдаем на практике, особенно во  взаимодействии с нашими заказчиками.

К 2028 году, согласно прогнозам Gartner, S3 как сервис будет составлять более 35% капитальных затрат на корпоративные системы хранения. 

Исследование CNEWS 2022 года также отмечает важный тренд —  увеличение объема данных в компаниях. Например, около половины компаний уже имеют более 1 петабайта данных, что ставит перед ними новые вызовы в области хранения и управления данными.

Способы реализации хранилища S3

Хранилище S3 можно реализовать двумя способами: в облаке или on premise, то есть «на месте», на собственой инфраструктуре. 

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

Однако крупные компании с повышенными требованиями к безопасности предпочитают строить инфраструктуру не в облаке, а на собственном железе. Они обычно выбирают on-premise, и тут у них есть два варианта:

  • проприетарные решения — готовое платное ПО для разворачивания хранилища на собственном железе, 
  • бесплатный opensource. 

Многие предпочитают начать с опенсорсных решений, поскольку они не требуют платить за лицензию. Но у них есть ряд недостатков:

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

Поэтому, выбирая решение, важно смотреть не на его «платность» или «бесплатность», а на то, подходит ли оно конкретному бизнесу:

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

Выводы о перспективах внедрения S3

  • Объектные хранилища — не замена классическим базам данных. Бизнесу все еще нужны и те, и другие.
  • S3 подходят для хранения больших объемов данных, в том числе неструктурированных: медиа, логов, сырья для анализа.
  • S3 поддерживают почти неограниченное масштабирование, дешевле классических СХД, но не обеспечивают мгновенного отклика и не поддерживают транзакции.
  • S3 уже не новая хайповая технология, а вполне стандартное решение, жизненно необходимое для многих компаний.
  • S3 можно получить в облаке или на собственном железе, on-premise.
  • On-premise решение может быть платным, проприетарным, или бесплатным, опенсорсным. Выбор зависит от потребностей компании, и бесплатное не всегда обойдется дешевле.