Sì Daniel, C’è NoSQL Con ACID

Recentemente mi sono imbattuto in questa domanda da Yehuda-Daniel Korotkin nel forum NoSQL di Linkedin chiedendo ” Pensi che sia possibile effettuare transazioni in NoSQL?”

Incontro questa domanda in una forma o nell’altra praticamente tutto il tempo e gli intervistati di solito indirizzano la persona alle molte risorse che mostrano che, abbastanza ragionevolmente, è possibile effettuare una transazione con NoSQL if se la tecnologia del database è architettata dall’inizio per supportarla.

Questa volta, tuttavia, uno dei primi commenti ha iniziato a respingere la necessità del requisito: “Il supporto per le transazioni ACID rende i database NoSQL un po’ inutili perché diventano significativamente più lenti offrendo molte meno funzionalità rispetto ai database tradizionali.”

No No No! Non preoccuparti Daniel-puoi avere transazioni con NoSQL! E a differenza della leggenda speranzosa di Virginia e Babbo Natale dove la risposta riguarda la fede can puoi, in modo molto tangibile e senza rinunciare alla funzionalità, averlo oggi con Enterprise NoSQL.

Ecco un breve riassunto del mio post su quel thread:

  1. Sì, puoi avere ACID con NoSQL!
  2. Non averlo significa che il sistema non ha considerato la parte del “Sistema di gestione” del DBMS nel suo design originale
  3. MarkLogic lo fa con il controllo della concorrenza multi-versione (controllo del timestamp sul cluster), scala nulla condivisa (per semplificare gli aggiornamenti e alimentare l’elaborazione delle query veramente parallelizzata) e cluster in cluster per gestire anche i set di dati E siamo felici di mostrare a chiunque come lo facciamo, ecco un deep-dive un documento su esattamente ciò che MarkLogic fa sotto il cofano.
  4. Questa non è teoria (o fede): alcuni dei database MarkLogic più grandi sono un cluster 1024 che ha mantenuto le prestazioni in scala e un database di documenti da 36 miliardi in cui un singolo aggiornamento del valore del documento è stato riflesso nella ricerca o query successiva . . . Per non parlare dei 100 anni di applicazioni mission critical basate su MarkLogic in cui le persone si affidano alla costanza dei dati per gestire la propria attività.
  5. Senza ACID, transazioni e coerenza dei dati nel database, la creazione e la gestione di questa funzionalità viene lasciata come esercizio per gli sviluppatori. I risultati sono evidenti per chiunque il cui aggiornamento di LinkedIn non si sia attaccato o i post di Facebook siano disponibili in modo casuale e in duplice copia. E quelli sono eccellenti, società di tecnologia di ingegneria focalizzata-basta pensare a quello che sta succedendo in luoghi il cui business principale non è la tecnologia!

Quindi inizia con il DBMS giusto e sì, Daniel, tu (e tutti gli altri alla ricerca della nuova generazione di database) puoi avere NoSQL con ACID!

Ora, riguardo a quell’altra grande domanda in questo periodo dell’anno here ecco un post molto vecchio su Babbo Natale (e in realtà aggiornamenti batch con transazioni) che sicuramente mi mette nel campo della Virginia!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.