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

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

Узел ElastiCache for Redis и база данных MySQL, созданные в этом примере, доступны на уровне бесплатного пользования AWS.

Реализация кэширования отдельно от кэша с помощью Amazon ElastiCache for Redis

Время: 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

Теперь вы готовы приступить к работе с учебным пособием.