Zero

Ultimi due anni hanno visto un numero di 10-anno traguardi passati, come il decennio anniversari di Amazon Web Services, MongoDB, Hadoop e molti altri. E così, nel 2018, è Apache Cassandra di turno. Oggi, Apache Cassandra si è trasformato in un modesto ecosistema in cui c’è un principio piattaforma commerciale fornitore — DataStax — completata da una piccola collezione di società di fornitura di supporto di terze parti. Unisce la versatilità di una tabella-oriented database con la velocità e l’efficienza di un key-value store.
Ma non fare errore su di esso, il fatto che non ci sono una dozzina di produttori di Cassandra distribuzioni non nascondere il fatto che Cassandra è un database molto diffuso. Si tratta di uno di un quartetto di database NoSQL che il rango in db-Motore top ten. E in se stessa, Cassandra ha scavato una nicchia per il continuo sistemi online che può trasportare fino a PBytes di dati. Come gli altri “larghezza colonna” database che ha iniziato la vita come key-value store, Cassandra era il primo noto per una rapida scrive, ma nel corso degli anni, le prestazioni di lettura ha raggiunto.
Per esempio, quando si ottiene film raccomandazioni servita su Netflix, essi provengono da un’applicazione in esecuzione su Cassandra. Ha scavato in presenza con il mantenimento della linea di profili utente, carrelli della spesa, di frodi, e sempre più, in tempo reale, mobile e applicazioni IoT. Per quella materia, in modo da avere la maggior parte di Cassandra primo NoSQL concorrenti, come MongoDB, DynamoDB, e il Cosmo DB.
Questo è il 10 ° compleanno di tempo, ha senso guardare Cassandra inizi. La storia è familiare. Un gigante di Internet — Facebook — bisogno di un più scalabile, sempre su di un database in alternativa per la posta in arrivo, funzionalità e Cassandra nel 2008, basato sulla Dinamo articolo pubblicato da Amazon. Dopo l’open source, Jonathan Ellis, un ingegnere di Rackspace, al momento, ha visto il suo potenziale come un database distribuito per l’alimentazione di applicazioni cloud, e un anno più tardi, drew venture supporto per cofound quello che è ora DataStax con l’allora collega Matt Pfeil.
La più grande fonte di confusione inizio era con Hadoop. A causa di alcune ridicolo storico coincidenze, Cassandra ha concentrate in Hadoop progetto in cui compare ancora su Apache pagina del progetto. Il che implica che Cassandra è un tipo di ricambio per HBase. Beh, un pò e un pò no. Anche se entrambi sono stati inizialmente progettati per funzionare come in linea di impianti per la produzione di grandi quantità di dati, HBase richiede HDFS, FILATI, Zookeeper a correre, mentre Cassandra non richiede i componenti Hadoop e corre proprio cluster. Poi ci sono altre differenze di architettura, come HBase corre con Hadoop topologia gerarchica, mentre Cassandra opere in più di una rete peer-to-peer modalità.
Confronto i soliti sospetti
Hadoop flirt, nonostante, come Cassandra differenziarsi dal solito NoSQL sospetti? Iniziamo con il più grande elemento di differenziazione: linguaggio di query. Cassandra ha anche un linguaggio di query che è molto più simile a SQL rispetto alla maggior parte dei concorrenti ad eccezione di Couchbase.
Rispetto a MongoDB, Cassandra era più scrivere, ma come entrambi i database maturata, le differenze nelle prestazioni di lettura e scrittura non sono più così netta. Cassandra è stato inizialmente progettato come una tabella di database per la chiave-valore dei dati (rispetto a MongoDB più oggetto-come modello), ma nel tempo si è evoluto per ospitare documenti JSON. Non ci sono ancora differenze di base nel database topologia: Cassandra è stata progettata per una maggiore disponibilità scrive con il suo multi-master in architettura, mentre MongoDB utilizza un singolo master, ma suggerisce di gestione sharding per una maggiore disponibilità scrive.
Tra cloud-controparti native, Cassandra azioni lignaggio con Amazon DynamoDB. Un confronto dettagliato può essere trovato qui. Ma alto livello, la differenza evidente è dove corrono: DynamoDB viene eseguito solo in AWS come un servizio gestito (e anche per Microsoft Azure Cosmo DB su Azure); Cassandra, invece, possono eseguire ovunque, ma come servizio gestito, DataStax Cloud Gestito il Servizio è stato solo introdotto di recente. Cassandra e DynamoDB entrambi consentono di regolare il livello di consistenza — Cassandra offre cinque opzioni per la coerenza, DynamoDB si restringe verso il basso per due (eventuale o forte).
Rispetto a Microsoft Azure Cosmo DB, la differenza più grande è multi-modello di core Azzurro, in offerta; in confronto, la versione commerciale di Cassandra — DataStax Enterprise — è appena iniziato su questa strada, in quanto è ancora integrare il modello grafico.
Siamo in un post-relazionale mondo?
Dato che quattro database NoSQL è il mainstream (sulla base sviluppatore interesse tracciato da db-Motori), verrebbe da pensare che il problema non sia stato risolto il ruolo che queste piattaforme di gioco. Sarebbe sbagliato.
C’è ancora un sano dibattito. Da un lato, c’è l’irrazionale esuberanza di essere in un post-mondo relazionale. Sì, i database NoSQL sono diventati molto popolari tra gli sviluppatori di database. E sì, DataStax ha la sua quota di Oracle di run-in, ma questi stanno per essere vince da fuori di Oracle core di back office di base. In realtà, DataStax e Oracle sono miglior nemico, come DataStax Enterprise (DSE) è uno dei primi database di terze parti, per diventare ufficialmente supportati Oracle Public Cloud di metallo nudo servizi, ma stiamo divagando.
Casualmente, dopo aver parlato con Patrick McFadin, le cinque fasi del dolore autore, abbiamo trovato il suo intuizioni di essere molto più sfumata di quanto il suo post del blog suggerirebbe. Ma ci sono molti altri che prendono di più estremo di vista basato sul concetto di big data diventando mainstream. Dall’altro lato, c’è l’elettorato che crede ancora che NoSQL è pubblicizzato.
La realtà è molto più grigia. Il fatto che i database NoSQL come Cassandra consentire schema di variare non significa che la mancanza di schemi, o che gli sviluppatori non devono preoccuparsi di ottimizzazione del database per i tipi specifici di schema. In un database NoSQL, lo schema è ancora importante, e così fa il layout della tabella. Anche se non disegno il modello di dati esattamente per le query che si sta andando buttare a questo, è comunque necessario considerare che i dati dell’app ti tocco quando stabilisce le tabelle.
Non contano relazionale. Se l’applicazione o il caso d’uso richiede una rigorosa ACIDO garanzie e i dati di integrità referenziale, relazionali sta andando essere la vostra scelta. Se il caso d’uso comporta la query analitiche complesse, avete un paio di opzioni. Si potrebbe andare NoSQL percorso in caso di utilizzo della denormalizzazione i dati per migliorare le prestazioni; progettare l’applicazione in modo da non fare affidamento sul complesso della tabella di join; e sfruttare la Scintilla connettori che stanno diventando casella di controllo elementi commerciali con i database NoSQL come DataStax Enterprise. Ma se lo scopo della banca dati è esclusivamente per le attività di analisi, NoSQL non essere la via giusta.
DataStax e Cassandra oggi
Così che cosa dà con Apache Cassandra e DataStax, la società che per la maggior parte della sua storia è più strettamente associata con il database e di un progetto open source? Bolle giù per la natura del progetto open source. A differenza di MongoDB, che controlla il sottostante di un progetto open source e licenze di database con licenza AGPL 3 licenza (che richiede agli sviluppatori di contribuire alla comunità), Cassandra è un ufficiale di Apache Foundation progetto che è regolato dalla licenza Apache.
Così DataStax non Cassandra, e un paio di anni fa, fece un passo indietro dalla leadership del progetto. DataStax contribuisce ancora e mantiene la presenza sul progetto Cassandra, ma la maggior parte delle sue energie nella costruzione la piattaforma enterprise dispone intorno ad esso. In sostanza, DataStax è sempre più di un classico “open core” società di software, una strategia che non è tutto ciò che è diverso da Cloudera in Hadoop.
Cassandra a 10, DataStax abbraccia ancora la piattaforma, ma vista come il punto di partenza per le funzioni aggiuntive. Si sta cercando di ospitare analitiche e di ricerca con la Scintilla di connettività e nuove funzioni di ricerca che sono stati aggiunti al suo CQL linguaggio di query. Poi c’è l’aggiunta di un grafico, che è venuto dal 2015 acquisizione di Aurelio, che ha portato il leader di Apache TinkerPop progetto per DataStax. Mentre DataStax è ancora al lavoro per integrare pienamente il grafico in attuazione di Cassandra, in DSE versione 6.0, è possibile caricare grafico e Cassandra tavoli contemporaneamente su cluster. E la società è ora incontro cloud miglior nemico come Amazon a testa implementando la DataStax Gestito servizio Cloud AWS e Azure
C’è un motivo per cui stiamo vedendo tutti questi decimo anniversari nel grande spazio di dati negli ultimi anni. Questo perché nel primo decennio del 2000, una reazione formata contro il post-Y2K consenso che eravamo alla fine dei tempi, dove n-tier è lo standard de facto di architettura di applicazione; .NET e Java sono diventate il principale lo sviluppo di applicazioni pile; e database relazionali erano trincerati come l’enterprise standard. In particolare, è stato l’esperienze delle imprese Internet come Amazon e Google, che poi rovesciò l’impresa ordine, le cui esperienze con i limiti del post-2000 stack tecnologico ha dato luogo a innovazioni che sono ora di colpire la mezza età.
Un decennio, Cassandra non è più il nuovo capretto sul blocco. Ma il database è diventato uno degli apparecchi moderni sistemi operativi, e la società più associato con esso è di usarlo come un punto di partenza per una più ampia piattaforma.
Argomenti Correlati:
Big Data Analytics
L’innovazione
CXO
Intelligenza Artificiale
Enterprise Software
Archiviazione
0