Amazon SimpleDB vs Amazon DynamoDB


Risposte:


179

Questo è risolto dalle rispettive FAQ D: In che modo Amazon DynamoDB differisce da Amazon SimpleDB? Quale dovrei usare? (il collegamento hash non funziona più, ma utilizza Trova in-page per individuare la domanda all'interno della pagina) già in una certa misura, con il riepilogo più compatto alla fine del paragrafo:

Sebbene SimpleDB abbia limitazioni di ridimensionamento, può essere adatto per carichi di lavoro più piccoli che richiedono flessibilità di query. Amazon SimpleDB indicizza automaticamente tutti gli attributi degli articoli e quindi supporta la flessibilità delle query a costo di prestazioni e scalabilità.

Quindi è un compromesso tra prestazioni / scalabilità e semplicità / flessibilità, ovvero per scenari più semplici potrebbe essere ancora più semplice iniziare con SimpleDB per evitare le complessità dell'architettura della tua applicazione per DynamoDB (vedi sotto per una prospettiva diversa).

La voce FAQ collegata fa riferimento ad Amazon DynamoDB di Werner Vogel - un servizio di database NoSQL rapido e scalabile progettato anche per applicazioni su scala Internet , che è davvero una lettura elaborata e quindi altamente raccomandata relativa alla storia di NoSQL su Amazon in generale e Dynamo in particolare; contiene anche molte altre informazioni utili sulla tua domanda, ad es

È diventato ovvio che gli sviluppatori [anche gli ingegneri di Amazon] hanno fortemente preferito la semplicità al controllo accurato poiché hanno votato "con i piedi" e hanno adottato soluzioni AWS basate su cloud, come Amazon S3 e Amazon SimpleDB, rispetto a Dynamo. [aggiunta mia]

Ovviamente DynamoDB è stato introdotto per risolvere questo problema e potrebbe quindi essere qualificato come successore di SimpleDB piuttosto che "solo" modificare la loro offerta NoSQL esistente:

Abbiamo concluso che una soluzione ideale avrebbe combinato le parti migliori del progetto Dynamo originale (scalabilità incrementale, alte prestazioni prevedibili) con le parti migliori di SimpleDB (facilità di amministrazione di un servizio cloud, coerenza e un modello di dati basato su tabella che è più ricco di un puro archivio di valori-chiave).

Il Riepilogo di Werner suggerisce che DynamoDB sia adatto per applicazioni di qualsiasi dimensione ora di conseguenza:

Amazon DynamoDB è progettato per mantenere prestazioni prevedibilmente elevate e per essere altamente efficiente in termini di costi per carichi di lavoro di qualsiasi scala, dalle più piccole alle più grandi applicazioni su scala Internet.


27

usa SimpleDB o DynamoDB, dipende dal tuo caso d'uso, in alcuni casi ho condiviso parte della mia esperienza con SimpleDB invece di DynamoDB . In un altro prodotto, ho usato sia SimpleDB che DynamoDB per memorizzare dati diversi.


27
mi è piaciuto il post - non farebbe male a riassumere qui
nik.shornikov

mi è piaciuto anche il post. @Mason, cosa ne pensi di come SimpleDCB è lentamente scomparso dalla console dei prodotti AWS? Stai ancora utilizzando SimpleDB o hai eseguito la migrazione?
David Robbins,

1
@DavidRobbins SimpleDB potrebbe essere stato deprecato da AWS, ma è ancora lì e si adatta perfettamente ai miei dati modali. Non ho ancora migrato il mio codice e non ho intenzione di farlo. Ma per i nuovi prodotti, scelgo altri database come dynamodb o mysql.
Mason Zhang,

Il sito collegato è stato contrassegnato come malware da Sophos. Fai attenzione.
IanGilham,

1
@IanGilham grazie per il promemoria. Controllo nuovamente il rapporto di scansione ( virustotal.com/en/url/… ): 1/68 ha contrassegnato il sito come malware. Quindi potrebbe essere qualcosa di sbagliato in Sophos. A proposito: questo sito è attualmente gestito da google blogspot.
Mason Zhang,

18

Oggigiorno SimpleDB non sembra ricevere alcun amore da Amazon: è difficile persino trovare dove effettuare il provisioning nella Console AWS. Sembra che SimpleDB non venga più ripetuto : usa DynamoDB come prima scelta per un database di documenti su AWS.

SimpleDb non è più realmente "ripetuto". Ciò significa che non ci saranno nuovi sviluppi in futuro per semplicedb. È "mantenuto e supportato", ma non migliorerà.


2
Non posso migliorare su perfetto!
dividebyzero

10

3 differenze chiave:

  1. indicizzazione

    • SimpleDB crea un indice per il campo "OGNI" in una tabella.
    • DynamoDB devi impostare i campi di indicizzazione prima di creare il database e non può essere modificato.
  2. Prezzi:

    • Il prezzo di SimpleDB si basa sulle ore di macchina e sulla capacità di archiviazione
    • DynamoDB addebita denaro in base alla capacità di lettura / scrittura dei record al secondo.
  3. scalabilità:

    • SimpleDB richiede il partizionamento manuale se l'archiviazione dei dati supera i 10 GB.
    • DynamoDB distribuisce automaticamente i dati sotto il cofano, fornendo così un'alta scalabilità.

5

Una delle differenze era (come afferma @ Mason Zhang nel suo articolo sopra) nell'indicizzazione. DynamoDB utilizzato per limitare la creazione di indici al momento della creazione della tabella. Tuttavia, ora (dall'inizio del 2014), esiste il concetto di Global Secondary Index (GSI). Il GSI può essere creato sul tavolo in qualsiasi momento. Sono supportate fino a 5. Pertanto, l'indicizzazione non è più un problema di blocco per molti casi d'uso.

Dovresti anche sapere che SimpleDB ha limiti di dimensioni e prestazioni. (10 GB e dire, 25 richieste / sec)

Forse alla fine, DynamoDB sostituirà SimpleDB in tutti i casi d'uso tranne quelli più semplici.


0

In termini semplici entrambi gli archivi di dati sono NoSql.

La differenza sta nella scalabilità (e in alcuni altri aspetti, ma il ridimensionamento ha il valore più grande secondo me). SimpleDB è abbastanza simile a MongoDB ma presenta numerosi limiti in termini di ridimensionamento.

DynamoDB ti consente di eseguire il provisioning di piccole dimensioni e di aumentare il numero di throughput di cui hai bisogno. E ridimensionare quando non è necessario. (ad es. durante una promozione, le iscrizioni alle celebrità, ecc. scenari come questo avranno un picco temporale di requisiti hardware)


0

Credo che la differenza principale tra Simple DB e Dynamo DB sia

  1. Prestazioni prevedibili in termini di latenza ed essere in grado di gestire volumi elevati senza compromettere la latenza e la velocità effettiva. DynamoDB ottiene questo risultato utilizzando la chiave di partizione
  2. Leggi, scrivi ottimizzazioni che possono essere personalizzate
  3. Migliore modello di coerenza finale grazie all'uso di un algoritmo di hashing coerente

0

Queste sono due differenze principali, dovresti essere consapevole

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

Queste sono due differenze principali, dovresti essere consapevole.

Con DynamoDB È possibile creare applicazioni con throughput e spazio di archiviazione praticamente illimitati . Questo non è il caso di SimpleDB.

  • 1: LIMITAZIONE DI STOCCAGGIO rigorosa di 10 GB

SimpleDB ha una rigida limitazione di archiviazione di 10 GB. Tuttavia, DynamoDB non ha limiti di archiviazione per i dati. È altamente scalabile in termini sia di archiviazione che di calcolo.

  • 2: MAX FINO A 25 OPERAZIONI DI SCRITTURA / SECONDO

SimpleDB può gestire un massimo di 25 operazioni di scrittura / secondo . Nessun limite di questo tipo in DynamoDB.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.