Еще недавно практически любая система хранения данных была относительно простым решением. Начиная с 1990-х и вплоть до 2000-х практически все данные хранились в реляционных базах, например MySQL или PostgreSQL. Системы размещались физически на традиционных серверах, данные хранились непосредственно на жестких магнитных дисках.

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

Сегодня многое изменилось. В последние годы на рынке появилось множество разных новых типов хранилищ. О них рассказал Кристофер Тоцци (Christopher Tozzi), автор онлайн-издания Talkin’Cloud, он также предложил ряд рекомендаций для системных интеграторов, работающих в этом сегменте рынка.

Современные хранилища данных

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

Базы данных NoSQL. Принципиальное отличие баз NoSQL от реляционных СУБД состоит в том, что структура хранимой в NoSQL-базах информации не имеет жесткой регламентации. Это позволяет пользователям добавлять произвольные поля без предварительного декларативного изменения структуры всей таблицы.

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

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

Программно-определяемые системы хранения. Отличительная особенность систем хранения SDS (Software-defined storage) состоит в том, что управление их многочисленными сервисными функциями (дедупликация, репликация, создание снэпшотов, бэкапов и пр.) осуществляется на основе бизнес-ориентированных правил.

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

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

Знаковым явлением для рынка стало недавнее существенное снижение цен на хранение в облаке Amazon S3, о котором было объявлено прошлой осенью. Ценовая планка была выставлена на уровне 0,021 долл./Гб в месяц. Это заставило конкурентов действовать: в Google Cloud цены снизились до 0,026 долл./Гб, в Microsoft Azure до 0,022 долл./Гб. Другие игроки рынка пока выжидают: Verizon на уровне 0,04 долл./Гб, Rackspace — 0,075 долл./Гб.

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

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

Хранение in-memory и хранилища на основе SSD. Если главная задача для компании — обеспечить высокую производительность на операциях чтения и записи, то все чаще выбор делают в пользу хранилищ на основе SSD. Если же перед компанией стоит задача обеспечить отсутствие непредсказуемых задержек на операциях чтения, а при записи данных нет жестких условий гарантированного сохранения на дисках, то в этом случае хороший выбор дают хранилища in-memory — данные активных сессий там хранятся непосредственно в оперативной памяти.

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

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

Однако эти новые типы хранилищ обладают и рядом особенностей. Прежде всего — риски потери данных в случае сбоев; в первую очередь это касается хранилищ in-memory. Это накладывает дополнительные требования, выражающиеся в более качественной проработке системы контроля сбоев при проектировании таких систем.

Системы хранения на основе контейнеров. Контейнеры Docker можно использовать не только для вычислительных операций, но и для создания хранилищ данных. Это стало причиной для недавнего появления новых систем распределенного хранения данных, где данные размещаются в контейнерных кластерах.

Один из примеров такого типа хранения — система Torus на базе CoreOS с открытым исходным кодом. Ее прототип стал доступен для использования летом 2016 г. Torus предназначена для создания масштабируемых хранилищ данных на базе контейнерных кластеров, оркестрация которых осуществляется через систему Kubernetes.

Советы интеграторам

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

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

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