Amazon SimpleDB проти Amazon DynamoDB


204

У мене є базове розуміння, що таке Amazon SimpleDB , але згідно опису Amazon DynamoDB, схоже, це майже те саме: послуга магазину NoSQL Key-value Store .

Чи може хтось просто пояснити основні відмінності між ними та розповісти, у яких випадках вибрати один над іншим .

Відповіді:


179

На це вирішується відповідне запитання. Питання: Чи відрізняється Amazon DynamoDB від Amazon SimpleDB? Який я повинен використовувати? (посилання на хеш вже не працює, але використовуйте In-page Find, щоб знайти питання на сторінці) вже певною мірою, з найбільш компактним резюме в кінці абзацу:

Хоча SimpleDB має обмеження масштабування, це може бути корисним для менших навантажень, які потребують гнучкості в запитах. Amazon SimpleDB автоматично індексує всі атрибути елемента і, таким чином, підтримує гнучкість запитів за рахунок продуктивності та масштабу.

Таким чином, це компроміс між продуктивністю / масштабованістю та простотою / гнучкістю, тобто для більш простих сценаріїв все-таки може бути простіше розпочати роботу з SimpleDB, щоб уникнути складностей архітектури вашої програми для DynamoDB (див. Нижче для іншої точки зору).

Пов’язані посилання на вхід до FAQ Amazon DynamoDB Вернера Фогеля - швидка та масштабована послуга баз даних NoSQL, призначена також для додатків масштабування в Інтернеті, яка справді є докладною і тому дуже рекомендується прочитати, що стосується історії NoSQL в Amazon взагалі та Динамо зокрема; він містить ще багато розумінь, що стосуються вашого питання, наприклад, наприклад

Стало очевидним, що розробники [навіть інженери Amazon] сильно віддавали перевагу простоті тонкому контролю, оскільки вони проголосували «ногами» і прийняли на базі хмари AWS-рішення, як Amazon S3 та Amazon SimpleDB, над Dynamo. [додавання шахта]

Очевидно, що для вирішення цього питання було введено DynamoDB, і тому він може бути кваліфікований як наступник SimpleDB, а не як "просто" внесення змін до існуючих пропозицій NoSQL:

Ми зробили висновок, що ідеальне рішення поєднає найкращі частини оригінального дизайну Dynamo (наростаюча масштабованість, передбачувана висока продуктивність) з найкращими частинами SimpleDB (простота адміністрування хмарного сервісу, послідовність та модель даних на основі таблиці, яка є багатший, ніж чистий ключ-цінність).

Підсумок Вернера пропонує DynamoDB, що зараз добре підходить для програм будь-якого розміру:

Amazon DynamoDB призначений для підтримки передбачувано високої продуктивності та високої економії витрат для навантажень будь-якого масштабу, від найменших до найбільших інтернет-додатків.


27

використовуйте SimpleDB або DynamoDB, це залежить від вашого випадку використання, я поділився деяким досвідом використання SimpleDB в деяких випадках замість DynamoDB . В іншому продукті я використовував і SimpleDB, і DynamoDB для зберігання різних даних.


27
сподобався пост - не завадило б його підсумувати тут
nik.shornikov

також сподобався пост. @ Mason, які ваші думки щодо того, як SimpleDCB повільно зник з консолі продукту AWS? Ви все ще використовуєте SimpleDB чи мігруєте?
Девід Роббінс

1
@DavidRobbins SimpleDB, можливо, був устарений AWS, але він все ще є і ідеально відповідає моїм модальним даним. Я ще не мігрував свій код і не планував цього робити. Але для нових продуктів я вибираю інші бази даних, такі як dynamodb або mysql.
Мейсон Чжан

Пов'язаний сайт Sophos позначав як зловмисне програмне забезпечення Будьте обережні.
IanGilham

1
@IanGilham дякую за нагадування. Я перевіряю звіт про сканування ( virustotal.com/en/url/… ) ще раз: 1/68 позначив сайт як шкідливе програмне забезпечення. Тож із Софосом може бути щось не так. BTW: цим сайтом насправді керує blogspot google.
Мейсон Чжан

18

Схоже, SimpleDB не отримує любові від Amazon в наші дні - важко навіть знайти, де її забезпечити на консолі AWS. Схоже, SimpleDB вже не повторюється - використовуйте DynamoDB як ваш перший вибір для бази даних документів на AWS.

SimpleDb вже не "переглянуто". Це означає, що в майбутньому не буде нових розробок для simpledb. Він "підтримується та підтримується", але кращого не буде.


2
Не вдається покращити ідеально!
ділбізеро

10

3 ключові відмінності:

  1. Індексація

    • SimpleDB створює індекс для поля "ВСЕ" у таблиці.
    • DynamoDB вам потрібно встановити поля індексації перед створенням бази даних, і їх неможливо змінити.
  2. Ціноутворення:

    • Ціноутворення SimpleDB базується на машинних годинах та обсязі зберігання
    • DynamoDB стягує гроші потужністю читання / запису записів за секунду.
  3. Масштабованість:

    • SimpleDB вимагає ручного розділення, якщо обсяг даних перевищує 10 Гб.
    • DynamoDB автоматично поширює дані під кришкою, завдяки чому забезпечує дуже високу масштабованість.

5

Одна з відмінностей (як заявляє @Mason Zhang у своїй статті вище) в індексації. DynamoDB використовувався для обмеження створення індексів під час створення таблиці. Однак зараз (з початку 2014 року) існує концепція глобального вторинного індексу (GSI). GSI можна створити на столі в будь-який час. До 5 підтримуються. Отже, індексація більше не є проблемою, що блокує, для багатьох випадків використання.

Ви також повинні знати, що SimpleDB має обмеження розміру та продуктивності. (10 Гб і скажімо, 25 запитів / сек)

Можливо, з часом DynamoDB замінить SimpleDB у всіх, крім самих простих випадках використання.


0

Простіше кажучи, обидва сховища даних є NoSql.

Різниця полягає в масштабованості (та кількох інших аспектах, але найбільша цінність, на мою думку). SimpleDB досить схожий на MongoDB, але має купу обмежень щодо масштабування.

Але DynamoDB дозволяє вам забезпечити невеликий розмір та збільшити кількість необхідної пропускної спроможності. І зменшуйте масштаб, коли це не потрібно. .


0

Я вважаю, що основна відмінність у простому DB проти Dynamo DB є

  1. Передбачувані показники за затримкою та вміти обробляти великі обсяги без шкоди для затримки та пропускної здатності. DynamoDB досягає цього за допомогою ключа розділу
  2. Читайте, записуйте оптимізації, які можна налаштувати
  3. Краща можлива модель узгодженості, оскільки використання послідовного алгоритму хешування

0

Це дві основні відмінності, які ви повинні знати

1: SimpleDB has a strict storage limitation of 10 GB. However, DynamoDB has no storage limitations for the data. It is highly scalable in terms of both storage and computation.

2:SimpleDB can handle max up to 25 Write Operations/Second. No such limit in DynamoDB.

0

Це дві основні відмінності, які ви повинні знати.

За допомогою DynamoDB Ви можете створювати програми з практично необмеженою пропускною здатністю та зберіганням . Це не так у SimpleDB.

  • 1: СТРИКТИЧНЕ ОБМЕЖЕННЯ ЗБЕРІГАННЯ 10 ГБ

У SimpleDB суворе обмеження на зберігання - 10 ГБ. Однак DynamoDB не має обмежень для зберігання даних. Це дуже масштабовано як з точки зору зберігання, так і обчислень.

  • 2: МАКСИМО ДО 25 ЗАПИСАНИХ ОПЕРАЦІЙ / ВТОРО

SimpleDB може обробляти максимум до 25 операцій запису / секунду . У DynamoDB такого обмеження немає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.