Переход на облачные СУБД: обзор мировых тенденций

НачалоОбзор статьи: Amazon AuroraОблачные СУБД для аналитикиСтатья: алгоритм кеширования

Андрей Бородин рассказал, как эффективнее хранить базы данных, разобрал актуальные научные публикации об open source решениях в формате отделения слоя хранения от обработки и поделился этапами развития своих open source проектов. Полное выступление смотрите в видео, а здесь расскажем о научных публикациях от лидеров индустрии, которые упоминает Андрей.

Amazon Aurora: Design considerations for high throughput cloud-native relational databases
By Alexandre Verbitski, Anurag Gupta, Debanjan Saha, Murali Brahmadesam, Kamal Gupta, Raman Mittal, Sailesh Krishnamurthy, Sandor Maurice, Tengiz Kharatishvili, Xiaofeng Bao
2017

Читать публикацию

Специалисты компании Amazon выяснили, что:

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

Таким образом сформулировали проблему: облачные ресурсы внутри кластера базы данных используются недостаточно эффективно.

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

Главный эффект, который почувствовали пользователи, — реплики создаются мгновенно, с холодным кешем. Это очень интересный момент, потому что до этого десятилетия существовало понятие «гравитации данных». То есть было два варианта событий: запросы приносят к данным либо данные к запросам. Менять местоположение данных было дорого, а теперь появилось ещё одно место, где они хранятся.

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

При подробном описании архитектуры выясняется, что слой хранения — это почти S3 (Simple Storage Service), но с добавлением нового типа узлов, который называется storage node. Это сложная система, амортизирующая всю запись, которая делается в базу данных. Именно поэтому в ней появились нетривиальные узлы.

Так как Aurora — достаточно сложный и совмещённый сервис, а не просто S3, туда стали переносить часть функционала базы данных. Например, в случае с PostgreSQL туда можно перенести CHECKPOINT и VACUUM.

Кроме того, собственного состояния storage node не содержит, поэтому стоимость его функционирования в основном определяется стоимостью S3.

Exploiting Cloud Object Storage for High-Performance Analytics
By Dominik Durner, Viktor Leis, Thomas Neumann
2023

Читать публикацию

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

Основные моменты:

  • Такая система очень выгодна — меньше трат на железо, отчёты, анализ.
  • Томас Нойманн утверждает, что для корректной работы системы никакого усложнения уровня хранения данных не требуется.
  • Известно, что коммерческие базы данных такой функциональностью обладали и раньше. Теперь мы с научной точки зрения понимаем, что архитектура баз данных OLAP оказывается значительно проще, чем архитектура традиционной базы данных.
  • Раньше считалось, что база данных живёт поверх быстрых дисков, а холодные данные загружают в объектное хранилище. Теперь официально закреплено, что базы поверх облака могут быть не медленнее, чем быстрые диски.

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

FIFO queues are all you need for cache eviction
By Juncheng Yang, Yazhuo Zhang, Ziyue Qiu, Yao Yue, Rashmi Vinayak
2023

Читать публикацию

Подробнее об алгоритме — на сайте S3fifo.com

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

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

Поделитесь увиденным

Скопировать ссылку
ТелеграмВКонтакте