Una roccia e un posto duro: Tra ScyllaDB e Cassandra

0
158

Zero

Cassandra è un bambino del manifesto di NoSQL mondo. Originariamente un progetto open source balzato fuori di Facebook, è stato adottato dalla Apache Foundation e sostenuta da un’impresa, DataStax, che offre anche DataStax Impresa di Cassandra. Cassandra è tra i 10 migliori soluzioni di database secondo DB-Motori.

Che è proprio per questo che ora ha un potenzialmente pericoloso rivale in ScyllaDB. ScyllaDB è un nuovo capretto sul NoSQL blocco l’obiettivo di offrire una soluzione che è open source e API-compatibile con Cassandra, ma con risultati migliori. L’obiettivo è quello di essere un rimpiazzo per Cassandra, e quando stiamo parlando di database #8 nel mondo, che è una specie di grande affare.

Io, Cloudius

Dor Laor e Avi Kivity non con questo grandioso piano di back in 2013. Non era per mancanza di ambizione, ma questa non era proprio la loro cosa. Entrambi hanno un background in hypervisor, e faceva parte del team che ha costruito KVM e ha acquisito da Red Hat. Lasciando Red Hat, il loro piano iniziale era di scrivere un unikernel che sposterebbero Linux dal server cloud. Quindi nessuna mancanza di ambizione.

Hanno fondato una startup chiamata Cloudius, investitori, assemblato una squadra e ha iniziato a lavorare duro. A un certo punto, tuttavia, si sono resi conto che il loro potenziale non sarà raggiunto per una serie di motivi, e ha deciso di pivot. E pivot hanno fatto, per aggiungere un altro database NoSQL per l’interminabile elenco, che sarebbe in grado di fare ciò che Cassandra fa e poi alcuni.

Ma perché andare per un database NoSQL, e perché target di Cassandra?

scyllalogo2000px.png

ScyllaDB non è stato avviato come un database, ma avendo ruotato per uno, può essere una forza da non sottovalutare. Immagine: ScyllaDB.

Parte di Cloudius missione era quello di accelerare il carico del server, con un’enfasi sul database. Laor, ScyllaDB CEO, dice che erano riusciti a incrementare Redis prestazioni di circa il 70 per cento senza in realtà fare nulla Redis-specifici. Si potrebbe chiedere come era possibile, e c’è una risposta, ma per ora torniamo al fatto che questo ha innescato loro di prendere quella direzione.

E ‘ stata una combinazione di tecniche e di mercato, ragioni che l’hanno Cloudius target Cassandra. Laor dice Hadoop era nella loro lista, ma dato che era già stato fatto, hanno deciso di andare per la riscrittura di Cassandra: “Il mondo non ha bisogno di un altro formato di database. Cassandra è buono, ed è successo. Cassandra è la migliore piattaforma disponibile sul mercato là fuori.”

Dicono che l’imitazione è la più sincera forma di adulazione, e ‘ ovvio che la ScyllaDB team Cassandra da imitare. Ma è più complicato di così: “Cassandra è ovunque in carichi di lavoro critici. Ma quando abbiamo mirato per l’ottimizzazione, abbiamo corso contro le limitazioni legate alla sua JVM natura. Alla fine, Cassandra finisce in competizione con se stesso.

A quel tempo, Google ha appena pubblicato un punto di riferimento in dettaglio come sono riusciti ad ottenere 1 milione di transazioni sul top di Cassandra nel cloud utilizzando 300 macchine virtuali. Questo ha suscitato il nostro interesse, e concentrando il nostro lavoro di Cassandra che siamo riusciti ad ottenere un record di 1,6 milioni di operazioni su una macchina virtuale. Questo è come abbiamo iniziato.”

Inserire ScyllaDB

Cloudius snodato e rimarchiati, ma ha mantenuto la stessa squadra e gli investitori. Così ScyllaDB è nato. Si potrebbe pensare che è sfacciato di destinazione “la migliore piattaforma disponibile sul mercato là fuori” e mirano a fare di meglio, ma Laor dice che sperano di vedere la storia si ripete. E la totalità di quella citazione, “l’imitazione è la più sincera forma di adulazione che la mediocrità può pagare per grandezza,” non necessariamente si applica qui.

“Quando siamo entrati nel mercato con KVM, tutti i giocatori sono stati stabiliti — VMWare, HyperV, Xen. Abbiamo dimostrato fino all’ultimo, ma sulla base di Avi rivoluzionario design KVM ora domina. Pensiamo che la differenza questa volta è ancora più grande,” dice Laor.

Così che cosa è questa differenziazione? ScyllaDB promette qualcosa di semplice, affascinante e difficile da credere: mantenere il vostro codice, sostituire Cassandra con ScyllaDB, fino a 10 volte il vantaggio in termini di prestazioni. Ci sono punti di riferimento e i riferimenti per il backup di tali affermazioni, ma come può funzionare? Si tratta di un certo numero di cose.

scylladbthemes.png

ScyllaDB è stata focalizzata sulla stabilità, compatibilità e prestazioni. Oggi l’annuncio della versione 2.0 indica una nuova fase. Immagine: ScyllaDB

Prima, di attuazione della lingua. ScyllaDB è stato riscritto da zero in C++, in contrapposizione a Cassandra basate su Java codebase. La JVM aggiunge uno strato intermedio tra il codice sorgente e l’hardware, la negoziazione portabilità e facilità di utilizzo per le prestazioni. Jvm hanno percorso una lunga strada, ma l’uso corretto di un linguaggio più vicino al basso livello dei fondamentali possono comportare un miglioramento delle prestazioni.

Ma questa è solo una parte di ScyllaDB segreto della salsa. Un altrettanto grande parte ha a che fare con quelli fondamentali, come ad esempio la memoria o la presa di allocazione. Il tipo di minimi dettagli che sono difficili da ottenere, programma, e mantenere, ma può portare a notevoli miglioramenti. Il genere di cosa che si arriva a conoscere intimamente se si programma, diciamo, un hypervisor.

Tutte le lezioni imparate in anni di programmazione a basso livello sono stati distillati in SeaStar. SeaStar è un framework open source per applicazioni ad alte prestazioni che ScyllaDB è costruito su, anche se non c’è nulla di database specifici su di esso. SeaStar è event-driven e consente di scrivere efficiente non-blocking, codice asincrono.

Il compromesso? La complessità. Laor ammette che è difficile programmare in cima SeaStar, ma dice che il risultato è valsa la pena. Egli cita per esempio Pedis, una riscrittura di Redis base SeaStar fatto da Alibaba, che turbo-spese di Redis. Inoltre, ScyllaDB promesse, la media Cassandra utente non ha bisogno di preoccuparsi di questo.

ScyllaDB mira a facilitare il compito complesso di configurazione e ottimizzazione di Cassandra distribuzioni che offrono auto-funzionalità di regolazione. ScyllaDB ha aggiunto miglioramenti nella gestione di un nodo di rete e protocolli con l’obiettivo di avere i cluster in esecuzione in modo ottimale senza l’intervento dell’amministratore.

Laor rispetto a questa funzionalità di Oracle auto tuning di database. Ci sono però soluzioni simili anche per altre piattaforme, come Scintilla. Per Scintilla, alcuni approcci basati sull’uso di machine learning su set di dati raccolti da molti operativa gruppi, alcuni altri su regole.

ScyllaDB ha adottato l’approccio basato su regole, come Laor non crede che i set di dati possono essere rappresentativi di tutte le possibili configurazioni. “Usiamo sviluppatore di intelligenza, non di intelligenza artificiale”, dice. Probabilmente, i set di dati operativi Cassandra cluster sarebbe difficile per ScyllaDB comunque. Il che ci porta a un punto interessante.

Una roccia e un posto duro

Da un lato, la decisione di costruire una nuova piattaforma che è compatibile con uno già esistente, riduce l’attrito e riduce l’adozione di barriera per le organizzazioni. ScyllaDB ha già nomi come Samsung, IBM, e Outbrain tra i suoi primi utilizzatori di utilizzo in produzione.

D’altra parte, induce l’attrito con la piattaforma che il nuovo arrivato si propone di spostare l’: Cassandra. Abbiamo visto esempi simili nel Scintilla mondo, ma la differenza è che la Scintilla alternative sono ancora in gran parte basato su Scintilla quindi ci può essere un cross-impollinazione e, infine, forse la convergenza.

Qui stiamo parlando di un cambiamento radicale — di attuazione diverse lingue, diverse infrastruttura di basso livello, diversi protocolli di rete. Davvero non c’è spazio per Cassandra e ScyllaDB di giocare fianco a fianco, come ampiamente esemplificato dal fatto che essi non possono anche coesistere in un cluster.

scylladbbenchmark.png

Uno dei ScyllaDB del benchmark, in cui è dimostrato di sovraperformare Cassandra. Immagine: ScyllaDB

In genere, Laor dice, le persone di impostare un proof of concept ScyllaDB cluster di lavorare fianco a fianco con Cassandra fino a quando si sentono abbastanza sicuri per effettuare il passaggio. “Abbiamo diversi protocolli. Abbiamo ritenuto di sostenere Cassandra protocolli, ma ci sono un sacco di versioni abbiamo deciso contro di esso. Inoltre, quando le cose vanno male in un misto di cluster di chi è la colpa?”

Potrebbe che male adozione? “Non siamo sposati al nostro database, che è ciò che le persone dicono,” dice Laor. “Si tratta di un grande investimento, ma si può cambiare. La scelta di Cassandra è stata una decisione strategica per noi. Abbiamo iniziato da zero e a riscrivere tutto. Quando lo si fa, si crea antagonismo. Tocca molte persone, è sensibile.

Ma i risultati parlano per se stessi. Per esempio, un AdTech nostro cliente è riuscito a passare da 100.000 timeout al secondo con Cassandra 100 al secondo con ScyllaDB. Non abbiamo fatto molto in termini di collaborazione, soprattutto perché al momento non siamo in heads-down di lavoro a parità di funzionalità. Ma come KVM e Xen, dove abbiamo avuto interfacce comuni, ci possono essere potenziali per la collaborazione.”

Laor cita alcune aree in cui stanno contribuendo a Cassandra comunità, come ScyllaDB CTO di presentare le scelte di progettazione a Cassandra generazione successiva conferenza o contribuire un driver per Andare. Egli sottolinea, inoltre, che ScyllaDB è un progetto open source e cercano di documentare e divulgare le decisioni di progettazione e di attuazione, e dice che vorrebbe lavorare con Cassandra su alcune funzionalità in futuro.

ScyllaDB è un nuovo arrivato, ma sulla carta almeno, sembra che hai quello che serve per spostare un peso massimo come Cassandra con DataStax aziendali di supporto. Il team è stato lì e fatto prima, a parità di funzionalità è quasi lì, finanziaria ed organizzativa e sembra di essere lì.

ScyllaDB è ben finanziata, con un totale di 25 milioni di dollari, e ha un team di 45 (soprattutto ingegneri) che lavorano insieme per anni. La tecnica anteriore, sembra che ScyllaDB può dare Cassandra una corsa per il suo denaro. Ma cosa significa che “ostile” significa per Cassandra, DataStax e la comunità? Sarà ScyllaDB essere in grado di conquistare i cuori e le menti?

Sembra che la Cassandra comunità è attualmente in un po ‘ di turbolenza in ogni caso. C’è stato qualche attrito tra DataStax e Apache Foundation, con conseguente incertezza sui futuri del progetto e la direzione. Quindi, per essere una Cassandra utente, oggi, può significare che si sta tra una roccia e un posto duro.

scylladbcontributors.png

ScyllaDB plus SeaStar collaboratori sono molti di Cassandra contributori a questo punto, per ScyllaDB conti. Immagine: ScyllaDB

DataStax, da parte sua, non ha risposto a una richiesta di commento. ScyllaDB d’altra parte, dice loro comunità è in crescita, nonostante il fatto che la barriera di ingresso è alto a causa della natura complessa della loro attuazione, e che hanno praticamente raggiunto la parita’.

ScyllaDB 2.0 è stato annunciato oggi a Scilla Vertice, portando alcuni molto ricercati funzionalità come contatori e le viste materializzate. Secondo Laor, completo di funzionalità di parità sarà raggiunta nei primi 2018. Aggiungere all’impasto la recente acquisizione di Seastar.io, che agisce come un catalizzatore per ScyllaDB di offrire un gestiti in versione cloud, e si vede perché ScyllaDB è un nome che può essere udito di più in futuro.

Parlando di nomi, che cosa è con ScyllaDB nome comunque? A quanto pare i suoi fondatori decisero di utilizzare un nome dalla mitologia greca, come è stato il caso per Cassandra. Secondo loro, in alcune parti del mondo “Scilla” è pronunciato “scala-ah”, che allude alla scalabilità, e, quindi, un nome nato.

Ironia della sorte, Cassandra fosse un Oracolo nessuno voleva ascoltare. Scilla e Cariddi sono un mostro e una vasca idromassaggio a guardia dello stretto di Messina, il che rende impossibile passare davanti a loro. Tra Scilla e Cariddi è tra una roccia e un posto duro. Ma per essere tra ScyllaDB e Cassandra potrebbe essere una buona cosa per la comunità, dovrebbe alla fine steer chiaro di antagonismo.

0