Будущее СУБД без SQL
Традиционные СУБД уже не справляются со стремительно растущими объемами данных. Помимо необходимости «быстрого реагирования» – то есть высокой скорости при записи огромного количества индивидуальных транзакций – необходимо обеспечить приемлемую производительность отчетов и аналитики. В традиционных СУБД это решалось построением предрассчитанных агрегатов и перекладыванием реляционных структур в схемы типа «звездочка»/«снежинка», но эта технология уже устаревает, поскольку аналитики хотят видеть актуальные или почти актуальные данные, а не вчерашние срезы.
Каталог СУБД-решений и проектов доступен на TAdviser.
Для повышения быстродействия необходима «двухуровневая» память, когда СУБД при обращении к системе хранения данных использует не только собственную, но и встроенную память СХД. При этом некоторые СХД активно используют память не только для чтения, но и для записи (с фоновой записью на диски). Для повышения быстродействия некоторые вендоры предлагают in-memory-СУБД или похожие технологии, когда на диск пишется только лог (последовательно), а все данные, пока помещаются, находятся в памяти.[1]
Надежность системы складывается из двух компонентов. Во-первых, нужно обезопасить себя от потери данных, которая может произойти из-за сбоя в СХД, на серверах БД или из-за ошибок в ПО. Чтобы избежать потери данных, нужно делать зеркала, вести журнал изменений, создавать резервные копии баз на отдельных системах хранения данных и потом переносить эти бэкапы на ленты.
Не нужно забывать о том, что помимо защиты от потери данных нужно еще обеспечивать и бесперебойную работу самой СУБД. Большинство вендоров сейчас предлагает те или иные формы кластерных решений для минимизации простоя в случае сбоя СУБД.
Кроме того, становятся очень популярными Appliances – коробочные решения. Фактически это возврат к «аппаратно-программным комплексам». Такие решения есть практически у всех вендоров, причем они не только сбалансированы, но и могут похвастаться отсутствием “single point of failure”.
Рынок СУБД стремительно развивается, и будущее принадлежит Appliances и MPP (massive parallel processing) системам, которые легко расширяются, а их производительность линейно возрастает при добавлении новых серверов. Такие решения в той или иной форме появляются у всех основных вендоров. Оптимальными среди них являются системы, позволяющие строить свои собственные конфигурации, используя рекомендации производителей СУБД. Это обычно дешевле Appliances и, кроме того, существенно более гибко при других ограниченных ресурсах – например, при ограниченном месте или ограничениях по нагрузке или охлаждению в ЦОДе.TAdviser выпустил Гид по российским операционным системам
Использование MPP технологий идет бок о бок с переносом баз данных в облака. Надежность и быстродействие обеспечивается правильной конфигурацией таких систем. Как правило, этим занимаются «облачные» провайдеры. В таком случае возникает вопрос защиты конфиденциальных данных. Самый важный момент здесь – это доверие между пользователями облачных сервисов и провайдером, хотя остается и проблема защиты каналов коммуникации между «облаком» и пользователями системы. Однако проблему конфиденциальных данных не стоит драматизировать, так как нет единого мнения, какие данные на самом деле должны быть закрытыми.
На одной из конференций CNews по теме «Big Data» были приведены интересные примеры из практики британского правительства, которое отказывалось открывать данные, но чиновников все-таки заставили опубликовать информацию после длительных судебных процессов. Когда данные оказались в широком доступе, выяснилось, что в правительственной базе были неправильные сведения о примерно 16 тысячах из трехсот с чем-то тысяч автобусных остановок. А благодаря тому, что были опубликованы данные по школам, нашлись энтузиасты, которые прикрутили к ним веб-интерфейс и бесплатно сделали для правительства массу аналитики. Предоставление свободного доступа к этой информации позволило не только откорректировать неточности, но и обработать данные без увеличения бюджета.
Еще одна тенденция рынка – это развитие СУБД с открытым кодом, которые не уступают в скорости и надежности продуктам IBM, Microsoft или Oracle. Особенной популярностью пользуется технология NoSQL. Следует подчеркнуть, что в последнее время как раз вендоры спохватились и стали активно внедряться в рынок MPP и NoSQL. Oracle выпустил ExaData, Microsoft купил DatAllegro, написанную на основе открытой СУБД Ingres, и начал выпускать свою версию MPP Appliance, IBM купил MPP Appliance Netezza, использующую открытую СУБД Postgres, EMC купил MPP software Greenplum, который не только использует Postgres, но и активно его развивает. Кроме того, все ведущие вендоры сейчас активно входят или уже вошли в рынок NoSQL со своими имплементациями Apache Hadoop. Так что пока открытые СУБД опережают вендоров и двигают вперед эту индустрию.