Калейдоскоп Amazon Redshift
С.Д. Кузнецов
ИСП РАН, МГУ, МФТИ, ВШЭ, РЭУ
Доклад основан на работе [1] и кратко представляет сравнительно новые возможности облачного хранилища данных Amazon Redshift. Архитектурные и функциональные изменения Redshift мотивированы растущими запросами многочисленных пользователей системы. Эти требования делятся на четыре группы:
- высокопроизводительное выполнение все более сложных аналитических запросов;
- масштабирование числа пользователей, которые получают информацию из данных, постоянно увеличивающегося объема;
- упрощение использования Redshift;
- бесшовная интеграция Redshift с экосистемой AWS и другими сервисами AWS.
Для удовлетворения первой группы требований команда Redshift радикально изменила схему и реализацию обработки запросов. Разработан новый фреймворк для перезаписи запросов, поддерживается новый подход к компиляции запросов в двоичные файлы для каждого вычислительного узла. При обработке запросов Redshift использует аппаратное и программное обеспечение Amazon EC2 Nitro и Advanced Query Accelerator (AQUA). Дорогостоящие операции сканирования оптимизированы с использованием векторных инструкций процессоров Intel.
Требования второй группы удовлетворяются как за счет масштабирования хранилища, так и за счет масштабирования вычислений. Масштабирование хранилища обеспечивается недавно разработанным уровнем Redshift managed storage (RMS) Redshift, который управляет как пользовательскими данными, так и метаданными транзакций. RMS строится на основе системы AWS Nitro, которая обеспечивает высокоскоростную сеть и производительность, неотличимую от «голого железа». Для кэширования данных предусмотрено множество улучшений, включая многоуровневый кэш.
Для поддержки масштабирования вычислений в Redshift поддерживается средство Elastic Resize, которое позволяет клиентам быстро добавлять или удалять вычислительные узлы из своего кластера в зависимости от текущих потребностей в вычислениях. Второе средство называется Concurrency Scaling и позволяет Redshift динамически масштабироваться, когда пользователям требуется больше параллелизма, чем может предложить один кластер Redshift.
Более простое использование Redshift обеспечивается новыми средствами автоматизации обслуживания и автономии на основе машинного обучения. Сегодня Redshift выполняет стандартные задачи обслуживания, такие как очистка, анализ или обновление материализованных представлений, в фоновом режиме без какого-либо влияния на производительность рабочих нагрузок клиентов. Автоматическое управление рабочей нагрузкой динамически выбирает параллелизм запросов и выделение памяти на основе характеристик рабочей нагрузки. Кроме того, Redshift использует современные методы прогнозирования, чтобы как можно скорее сделать дополнительные узлы доступными в случае сбоев узлов, возобновления работы кластера и масштабирования параллелизма, что еще больше снижает задержку запросов и сокращает время простоя.
Текущий Redshift поддерживает интеграцию практически со всеми другими сервисами AWS, ориентированными на данные. Некоторые детали будут представлены в ходе доклада.
Слайды доклада
Видео доклада.
Литература:
- Кузнецов С.Д., Велихов П.Е., Фу Ц. Аналитика в реальном времени: преимущества, ограничения и компромиссы. Программирование, вып. 1, 2023 (в печати)
- Nikos Armenatzoglou, Sanuj Basu, Naga Bhanoori, Mengchu Cai, Naresh Chainani, Kiran Chinta, Venkatraman Govindaraju, Todd J. Green, Monish Gupta, Sebastian Hillig, Eric Hotinger, Yan Leshinksy, Jintian Liang, Michael McCreedy, Fabian Nagel, Ippokratis Pandis, Panos Parchas, Rahul Pathak, Orestis Polychroniou, Foyzur Rahman, Gaurav Saxena, Gokul Soundararajan, Sriram Subramanian, Doug Terry. Amazon Redshift Re-invented. Proceedings of the 2022 International Conference on Management of Data, June 2022, pp. 2205–2217.
- Anurag Gupta, Deepak Agarwal, Derek Tan, Jakub Kulesza, Rahul Pathak, Stefano Stefani, Vidhya Srinivasan. Amazon Redshift and the Case for Simpler Data Warehouses. Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, May 2015, pp. 1917–1923.
- Mengchu Cai, Martin Grund, Anurag Gupta, Fabian Nagel, Ippokratis Pandis, Yannis Papakonstantinou, Michalis Petropoulos. Integrated Querying of SQL database data and S3 data in Amazon Redshif. Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, vol. 41, no. 2, 2018, pp. 82-90
- Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. Dynamo: Amazon’s Highly Available Key-value Store. ACM SIGOPS Operating Systems Review, Volume 41, Issue 6, December 2007, pp. 205–220
- Alexandre Verbitski, Anurag Gupta, Debanjan Saha, Murali Brahmadesam, Kamal Gupta, Raman Mittal, Sailesh Krishnamurthy, Sandor Maurice, Tengiz Kharatishvili, Xiaofeng Bao. Amazon Aurora: Design considerations for high throughput cloud-native relational databases. Proceedings of the 2017 ACM International Conference on Management of Data, May 2017, Pages 1041–1052
|