В последнее время веб-приложения генерируют и потребляют постоянно возрастающие объёмы данных. Для примера: в онлайн-игру на старте могут играть всего пара тысяч пользователей, нагрузки на БД небольшие, и с ними справляется один сервер. Но, с ростом популярности игры, количество пользователей может быстро увеличиться до миллионов, а нагрузка на БД — до десятков, сотен тысяч операций чтения и записи в секунду. В такой ситуации остро встаёт вопрос о масштабировании системы хранения данных.
В январе 2012 Amazon запустил в своём облаке сервис Dynamo DB. Это NoSQL база данных, которая позволяет решить проблемы масштабирования и производительности. Теперь этот сервис доступен и в Южно-Американском регионе.
Так как это облачный сервис, то использование Dynamo DB даёт следующие преимущества:
- Легко масштабируется
- Малые задержки доступа к данным
- Встроенный back-up
- Встроенный мониторинг
- Pay-as-You-Go: платить нужно только за потребляемые ресурсы
Для обеспечения высокой производительности и HA (high availability) данные хранятся на SSD-дисках и реплицируются между тремя дата-центрами в регионе.
Amazon DynamoDB организует данные в таблицы, которые состоят из элементов, и каждый элемент имеет один или несколько атрибутов:
Видео-обзор:
Концепции Dynamo DB, как создать и мониторить таблицу:
Автор: morkot