Amazon SimpleDB – это высокодоступное хранилище данных NoSQL, которое полностью обеспечивает администрирование баз данных. Разработчик с помощью запросов веб-сервисов сохраняет элементы данных и обращается к ним, а Amazon SimpleDB делает все остальное.
В отличие от реляционных, базы данных Amazon SimpleDB не ограничены строгими требованиями и обеспечивают высокую доступность и гибкость, при этом совсем не требуют администрирования либо требуют его в незначительном объеме. Незаметно для пользователя Amazon SimpleDB автоматически создает множество реплик данных в разных географических местоположениях и управляет ими, обеспечивая высокую доступность и предотвращая потерю данных. Плата взимается только за ресурсы, фактически используемые при хранении данных и обслуживания запросов. Модель данных можно менять на лету, а индексация данных выполняется автоматически. Благодаря Amazon SimpleDB вы сможете сконцентрироваться на разработке приложений, не беспокоясь о выделении инфраструктуры, обеспечении высокой доступности, обслуживании ПО, управлении схемой БД и индексацией, а также настройке производительности.
Сервис позволит вам отдать все силы разработке бизнес-приложений, не отвлекаясь на трудоемкий процесс администрирования баз данных. Amazon SimpleDB автоматически выполнит выделение инфраструктуры, обслуживание аппаратного и программного обеспечения, репликацию и индексирование элементов данных и настройку производительности.
Amazon SimpleDB автоматически создает множество копий каждого элемента сохраненных вами данных в разных географических местоположениях, что обеспечивает высокую доступность и надежность: даже в случае потери одной из реплик Amazon SimpleDB переключится на другую реплику в системе.
По мере роста бизнеса или развития приложений вы с легкостью отобразите эти изменения в базе данных Amazon SimpleDB, не беспокоясь ни о том, что можете нарушить жестко заданную схему, ни о необходимости изменения программного кода. Достаточно будет добавить еще один атрибут к набору данных Amazon SimpleDB. Вы также можете использовать запросы непротиворечивого или потенциально непротиворечивого чтения, гибко подстраивая параметры производительности чтения (время задержки и пропускную способность) и его непротиворечивости к требованиям вашего приложения или даже к требованиям разных элементов приложения.
Amazon SimpleDB предоставляет удобный доступ к функциям хранения и выдачи запросов, традиционно обеспечиваемый использованием кластера реляционных баз данных, не отягощенный выполнением сложных, редко используемых операций с БД. Сервис позволяет быстро добавлять данные и легко извлекать или редактировать их с помощью простых вызовов API.
Amazon SimpleDB легко интегрируется с другими сервисами AWS, такими как Amazon S3 и EC2, и предоставляет инфраструктуру для создания масштабных Интернет-приложений. Например, разработчики могут запускать приложения на инстансах Amazon EC2 и хранить их объекты данных в хранилище Amazon S3. Amazon SimpleDB при этом можно использовать для запросов метаданных объектов из приложения в Amazon EC2, возвращающих указатели на объекты, хранимые в Amazon S3. Можно также использовать Amazon SimpleDB совместно с БД Amazon RDS для разработки приложений, работа которых требует использования как реляционных, так и нереляционных баз данных. Передача данных между Amazon SimpleDB и другими сервисами AWS бесплатна в пределах одного региона.
Amazon SimpleDB предоставляет конечную точку https, чтобы обеспечить безопасное, зашифрованное соединение между вашим приложением или клиентом и вашим доменом. Кроме того, благодаря интеграции с сервисом AWS Identity and Access Management, можно настроить контроль доступа к определенным доменам и операциям SimpleDB на уровне пользователей или групп.
Используя Amazon SimpleDB, вы пользуетесь финансовыми преимуществами, связанными с эксплуатацией масштабной вычислительной инфраструктуры Amazon. Вы платите только за фактически используемые ресурсы. В случае с Amazon SimpleDB это означает, что при выдаче запросов чтения и записи к хранилищу данных плата взимается за вычислительные ресурсы, использованные для выполнения каждой операции, и не взимается, если вы не пользовались ресурсами (то есть не делали запросов).
Поскольку сервис Amazon SimpleDB берет на себя всю работу по администрированию производственной базы данных, многие разработчики считают его идеальным, требующим минимум обслуживания хранилищем данных логов о состояниях или событиях, обновлениях статуса, повторяющихся действиях, рабочих процессах и состоянии устройств или приложений. Amazon SimpleDB позволяет «разместить и забыть» данные логов, не потратив при этом больших денег, и затем пользоваться ими в различных целях, таких как:
- мониторинг или отслеживание;
- выполнение измерений;
- анализ бизнес-трендов;
- аудит;
- проверка соответствия текущим или архивным требованиям.
Примеры использования:
- централизованное хранение серверных логов с целью освобождения дискового пространства на каждом из работающих серверов;
- регистрация рабочих метрик или результатов текущего тестирования производительности для последующего анализа;
- аудит записей доступа или изменений настроек приложений или сетевых устройств;
- захват и мониторинг данных об условиях окружающей среды (температура, давление, влажность и т. д.) в разных местах и программирование выдачи предупреждений о тех или иных условиях;
- регистрация и отслеживание геолокационных данных об объектах или статуса процессов для действий рабочего потока.
Благодаря наличию множества атрибутов, Amazon SimpleDB является удобным хранилищем данных логов.
- Централизованное и высокодоступное: если ранее данные логов локально размещались по разнообразным устройствам/объектам, приложениям или хранилищам процессов, теперь вы можете воспользоваться преимуществами пользования единым централизованным хранилищем данных в облаке. Более того, Amazon SimpleDB автоматически и с обеспечением географической избыточности реплицирует ваши данные для их высокой доступности. Это означает, что (в отличие от локальных централизованных решений) с Amazon SimpleDB вы создаете множество точек, откуда в любой момент сможете извлечь свои данные. Все данные можно сохранять с помощью одного решения, используя запросы веб-сервисов, и затем обращаться к ним с любых устройств.
- Никакого администрирования: вы сохраняете элементы данных с помощью простых запросов веб-сервисов, а Amazon Web Services заботится об остальном. Сервис спроектирован таким образом, чтобы разработчик мог сохранять и обслуживать логи, не тратя времени на управление самой базой данных.
- Экономное: хранение логов данных в Amazon SimpleDB и выдача запросов к ним стоит совсем недорого. Вы платите только за те ресурсы, которыми пользуетесь, поэтому вам не приходится планировать их выделение или беспокоиться о размере нагрузки на базу данных. Сервис предоставляет ресурсы в соответствии с объемом запросов по мере их поступления и обслуживания, взимая плату только за фактически использованные ресурсы.
Разработчикам Интернет-игр для любых платформ Amazon SimpleDB предлагает высокодоступное, масштабируемое решение баз данных для хранения пользовательских и игровых данных, не требующее администрирования.
Amazon SimpleDB может хранить и индексировать, в частности, следующие данные Интернет-игр с обслуживанием запросов к ним:
- очки и достижения игроков;
- пользовательские настройки или предпочтения;
- информацию об айтемах игроков или пользовательский контент;
- состояние игровой сессии (при сохранении или прерывании игры);
- динамический игровой контент (сервис-ориентированная архитектура для игры, хранение и обслуживание новых заданий или контента для игроков с помощью Amazon SimpleDB);
- индексирование метаданных больших объектов, используемых игрой и хранящихся в Amazon S3.
Amazon SimpleDB обладает множеством свойств, делающих этот сервис отличным решением для хранения данных Интернет-игр.
- Высокая доступность (автоматическая репликация с обеспечением географической избыточности для аварийного переключения): Amazon SimpleDB обеспечивает высокую доступность, автоматически создавая множество копий ваших данных и выполняя переброс на доступную копию, если какая-то из копий окажется недоступна. Таким образом, пользователи вашей игры получают надежный, бесперебойный доступ к основным данным, а вам, чтобы предоставить его, не нужно заниматься сложной настройкой кластеров БД.
- Автоматическое масштабирование: по мере роста пользовательской базы и колебаний активности игроков: Amazon SimpleDB реагирует на объем трафика и запросов без вмешательства разработчика. Вы платите только за фактически используемые ресурсы.
- Никакого администрирования: вместо того чтобы тратить усилия на управление базой данный, поручите сервису всю работу по выделению инфраструктуры, установке ПО, созданию и обслуживанию схемы БД, построению индексов и настройке производительности запросов. Не нужно заниматься администрированием. Посвятите себя созданию захватывающих игр и новых функций для ваших пользователей.
Многие разработчики используют Amazon SimpleDB совместно с Amazon Simple Storage Service (Amazon S3). В Amazon SimpleDB можно хранить указатели на местонахождение объектов в Amazon S3 и подробную информацию об этих объектах (метаданные), дополняя возможности сервиса Amazon S3 богатой функциональностью по работе с запросами БД. Разработчикам, хранящим большое число объектов в Amazon S3, сервис Amazon SimpleDB предлагает гибкое, масштабируемое и недорогое решение для хранения метаданных объектов, а на себя берет всю работу по администрированию базы данных. Amazon SimpleDB может хранить и индексировать, в частности, следующие метаданные объектов с обслуживанием запросов к ним:
- тип или формат данных (изображение, видео, документ);
- пользовательские связи или параметры доступа;
- даты создания, просмотра или изменения объекта;
- имя или местонахождение связанных объектов;
- пользовательские оценки и комментарии;
- теги тем или категорий;
- геолокационные теги.
Эти и другие метаданные важны для задач доставки контента, приложений мультимедиа, резервного копирования, архивирования и многих других. Amazon SimpleDB является идеальным хранилищем для метаданных из-за предоставления следующих функций.
- Гибкое проектирование без создания схемы: простое добавление дополнительных атрибутов метаданных без риска нарушения жестко заданной схемы. Можно начать отслеживать пользовательские оценки видеообъектов, не внося в структуру базы никаких сложных изменений.
- Атрибуты с множеством значений: у атрибута метаданных может быть множество значений. Это означает, что фото может быть связано с множеством пользователей, а музыкальный файл может принадлежать к множеству жанров.
- Никакого администрирования: Amazon SimpleDB не только берет на себя всю работу по выделению инфраструктуры и установке и обслуживанию ПО, требуемых для функционирования БД, но и выполняет автоматическую индексацию данных, настройку производительности запросов и создает копии данных с географической избыточностью.
Также Amazon SimpleDB с легкостью выполняет масштабирование, реагируя на изменение объема запросов и взимая умеренную плату только за фактически используемые ресурсы.
- Посетите страницу Примеры кода и библиотеки, чтобы ознакомиться с техническими подробностями индексации метаданных объектов S3 с примерами кода.