Jump to content

Amazon SimpleDB

(Перенаправлено с SimpleDB )
Логотип SimpleDB

Amazon SimpleDB распределенная база данных , написанная на Erlang. [ 1 ] от Amazon.com . Он используется в качестве веб-сервиса совместно с Amazon Elastic Compute Cloud (EC2) и Amazon S3 и является частью Amazon Web Services . Об этом было объявлено 13 декабря 2007 года. [ 2 ]

Как и в случае с EC2 и S3, Amazon взимает плату за хранение, передачу и пропускную способность SimpleDB через Интернет. 1 декабря 2008 г. Amazon представила новые цены с уровнем бесплатного пользования. [ 3 ] за 1 ГБ данных и 25 машино-часов. Перенос на другие веб-сервисы Amazon осуществляется бесплатно. [ 2 ]

Ограничения

[ редактировать ]

SimpleDB обеспечивает итоговую согласованность , которая является более слабой формой согласованности по сравнению с другими системами управления базами данных . Это часто считают ограничением, поскольку об этом труднее рассуждать, что затрудняет написание правильных программ, использующих SimpleDB. Это ограничение является результатом фундаментального компромисса при проектировании. Благодаря вышеуказанной последовательности система способна достичь двух других весьма желательных свойств:

  1. доступность – компоненты системы могут выйти из строя, но сервис продолжит работать корректно.
  2. толерантность к разделению – компоненты системы соединены друг с другом компьютерной сетью . Если компоненты не могут связаться друг с другом по сети (состояние, известное как сетевой раздел ), работа системы продолжится.

Предполагается, что отказы компонентов неизбежны; таким образом, оба этих свойства были сочтены необходимыми для обеспечения надежного веб-сервиса . Теорема CAP утверждает, что система не может проявлять эти свойства вместе с согласованностью; таким образом, дизайнерам пришлось согласиться на более слабую форму согласованности.

Опубликованные ограничения: [ 4 ]

Ограничения магазина

[ редактировать ]
Атрибут Максимум
домены 250 активных доменов на аккаунт. Дополнительную информацию можно запросить, заполнив форму. [ 5 ]
размер каждого домена 10 ГБ
атрибуты для каждого домена 1,000,000,000
атрибуты для каждого элемента 256 атрибутов
размер на атрибут 1024 байта

Ограничения запроса

[ редактировать ]
Атрибут Максимум
элементы, возвращаемые в ответе на запрос 2500 предметов
секунд, в которых может выполняться запрос 5 с
имена атрибутов для каждого предиката запроса 1 имя атрибута
сравнения по предикату 22 оператора
предикаты для каждого выражения запроса 20 предикатов

Условное размещение и удаление

[ редактировать ]

Условное размещение и условное удаление — это новые операции, добавленные в феврале 2010 года. Они решают проблему, возникающую при одновременном доступе к SimpleDB. Рассмотрим простую программу, использующую SimpleDB для хранения счетчика, т. е. числа, которое можно увеличивать. Программа должна делать три вещи:

  1. Получите текущее значение счетчика из SimpleDB.
  2. Добавьте единицу к значению.
  3. Сохраните новое значение в том же месте, что и старое значение в SimpleDB.

Если эта программа запускается, когда другие программы не имеют доступа к SimpleDB, она будет работать правильно; однако часто желательно, чтобы программные приложения (особенно веб-приложения ) имели одновременный доступ к одним и тем же данным. Когда к одним и тем же данным осуществляется одновременный доступ, возникает состояние гонки , которое может привести к необнаружимой потере данных.

Продолжая предыдущий пример, рассмотрим два процесса A и B, выполняющие одну и ту же программу. Предположим, что сервисы SimpleDB запрашивают данные, как описано в шаге 1, как от A, так и от B. A и B видят одно и то же значение. Допустим, текущее значение счетчика равно 0. Из-за шагов 2 и 3 A попытается сохранить 1. B попытается сделать то же самое; таким образом, окончательное значение счетчика будет равно 1, хотя ожидаемое окончательное значение счетчика равно 2, поскольку система предприняла две операции увеличения: одну на A, а другую на B.

Эту проблему можно решить, используя условный пут. Предположим, мы изменили шаг 3 следующим образом: вместо безусловного сохранения нового значения программа просит SimpleDB сохранить новое значение только в том случае, если значение, которое она хранит в данный момент, совпадает со значением, полученным на шаге 1. Тогда мы можем убедитесь, что значение счетчика действительно увеличивается. Это вносит некоторую дополнительную сложность; если SimpleDB не удалось сохранить новое значение, поскольку текущее значение не соответствует ожидаемому, программа должна повторять шаги 1–3 до тех пор, пока операция условного размещения фактически не изменит сохраненное значение.

Постоянное чтение

[ редактировать ]

Согласованное чтение было новой функцией, выпущенной одновременно с условным размещением и условным удалением. Как следует из названия, согласованное чтение решает проблемы, возникающие из-за модели конечной согласованности SimpleDB (см. раздел «Ограничения» ). Рассмотрим следующую последовательность действий:

  1. Программа А хранит некоторые данные в SimpleDB.
  2. Сразу после этого A запрашивает только что сохраненные данные.

Гарантия конечной согласованности SimpleDB не позволяет нам сказать, что данные, полученные на шаге 2, отражают обновления, сделанные на шаге 1. Окончательная согласованность гарантирует только то, что шаг 2 отражает полный набор обновлений на шаге 1 или ни одно из этих обновлений. Согласованное чтение можно использовать, чтобы гарантировать, что данные, полученные на шаге 2, отражают изменения на шаге 1.

Причина, по которой могут возникнуть противоречивые результаты, когда не используется операция согласованного чтения, заключается в том, что SimpleDB хранит данные в нескольких местах (для доступности), а новые данные на шаге 1 могут быть записаны не во всех местах, когда SimpleDB получает запрос данных на шаге 2. В этом случае возможно, что запрос данных на шаге 2 обслуживается в одном из мест, где новые данные не были записаны.

Amazon не рекомендует использовать последовательное чтение, если только оно не требуется для корректности. Причина этой рекомендации заключается в том, что скорость обслуживания операций последовательного чтения ниже, чем при обычном чтении.

Связь с DynamoDB

[ редактировать ]

Были некоторые разговоры о замене SimpleDB DynamoDB (он больше не «повторяется», [ 6 ] хотя Amazon не планирует его удалять). DynamoDB кажется его преемником. [ 7 ] [ 8 ]

См. также

[ редактировать ]
  1. ^ Что нужно знать об Amazon SimpleDB
  2. ^ Перейти обратно: а б «AWS | Amazon SimpleDB — простая служба баз данных» . Amazon Веб-сервисы, Inc.
  3. ^ SimpleDB — Уровень бесплатного пользования — Изменение цен на AWS. Архивировано 25 декабря 2008 г. на Wayback Machine.
  4. ^ «Ограничения», Руководство разработчика SimpleDB , Amazon (последняя версия API).
  5. ^ Запрос на увеличение распределения доменов Amazon SimpleDB . Aws.amazon.com. Проверено 9 августа 2013 г.
  6. ^ «Форумы разработчиков AWS: будущее SimpleDB? ...» forums.aws.amazon.com .
  7. ^ http://aws.amazon.com/dynamodb/faqs/#How_does_Amazon_DynamoDB_differ_from_Amazon_SimpleDB_Which_should_I_use Dynamo, созданная «для устранения ограничений SimpleDB».
  8. ^ «Amazon DynamoDB — быстрая и масштабируемая служба баз данных NoSQL, разработанная для приложений масштаба Интернета — все распределено» . www.allthingsdistributed.com . 18 января 2012 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 05266b5504ba48a12356947b44699e85__1721379480
URL1:https://arc.ask3.ru/arc/aa/05/85/05266b5504ba48a12356947b44699e85.html
Заголовок, (Title) документа по адресу, URL1:
Amazon SimpleDB - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)