Реляционные базы данных лежат в основе большинства приложений. Что касается масштабируемости и низкой задержки, существует мало способов повышения производительности. Даже если добавить реплики для масштабирования, дисковое хранилище налагает физические ограничения. Наиболее эффективная стратегия работы с такими ограничениями – добавление кэширования в памяти к дисковым базам данных.
Из этого руководства вы узнаете, как повысить производительность приложений, добавив уровень кэширования в памяти к реляционной базе данных. Мы внедрим стратегию программирования отдельно от кэша с помощью Amazon ElastiCache for Redis для базы данных MySQL. Стратегия кэширования отдельно от кэша – один из самых популярных вариантов для повышения производительности баз данных. Когда приложению необходимо считать данные из БД, оно сначала отправляет запросы к кэшу. Если данные не найдены, приложение отправляет запрос к базе данных и помещает результат в кэш. Существует много способов очистить кэш при изменении соответствующих записей в базе данных, но для этого учебного пособия мы воспользуемся функцией времени жизни (TTL), доступной в Redis.
Узел ElastiCache for Redis и база данных MySQL, созданные в этом примере, доступны на уровне бесплатного пользования AWS.

Время: 120 минут
Стоимость: доступно для уровня бесплатного пользования
Примеры использования: кэширование, масштабирование, обеспечение высокой доступности, приложения реального времени
Продукты: Amazon ElastiCache for Redis, Amazon RDS MySQL и уровень бесплатного пользования AWS
Целевая аудитория: разработчики
Уровень: начинающий-средний
Последнее обновление: 25 июля 2019 г.
* Предполагается, что вы будете использовать рекомендуемые конфигурации на протяжении всего учебного курса и завершите работу всех ресурсов в течение 2 часов.
** Аккаунты, созданные в течение последних 24 часов, могут еще не иметь доступа к ресурсам, необходимым для выполнения этого проекта.
Уделите 20 минут для ознакомления с разделом предварительных условий.
В этом руководстве демонстрируются некоторые механизмы с примерами на Python, иллюстрирующими некоторые методики кэширования. Мы надеемся, что у вас не возникнет проблем с переносом этого кода на любой другой язык.
Чтобы пройти обучение, вам потребуется доступ к инстансу EC2. Если у вас его еще нет, подготовьте его по этим инструкциям.
Обеспечив доступ к инстансу EC2, выполните следующие команды:
$ sudo yum install git -y $ sudo yum install mysql -y $ sudo yum install python3 -y $ pip3 install --user virtualenv $ git clone https://github.com/aws-samples/amazon-elasticache-samples/ $ cd amazon-elasticache-samples/database-caching $ virtualenv venv $ source ./venv/bin/activate $ pip3 install -r requirements.txt
Теперь вы готовы приступить к работе с учебным пособием.