Een rots en een harde plaats: Tussen ScyllaDB en Cassandra

0
138

Nul

Cassandra is een poster kind van de NoSQL wereld. Oorspronkelijk een open source project is voortgekomen uit Facebook, vastgesteld door de Apache Foundation en gesteund door een onderneming, DataStax, dat biedt ook DataStax Onderneming op basis van Cassandra. Cassandra is in de top 10 van database oplossingen volgens de DB-Motoren.

Dat is precies de reden waarom er nu een potentieel gevaarlijke rivaal in ScyllaDB. ScyllaDB is een nieuwe jongen op de NoSQL blok gericht op het bieden van een oplossing die is open source en API-compatibel met Cassandra, maar doet het veel beter. Het doel is om een drop-in vervanger voor Cassandra, en wanneer we praten over database #8 in de wereld, dat is nogal een big deal.

Ik, Cloudius

Dor Laor en Avi Kivity niet uit met dit grandioze plan terug in 2013. Het was niet voor het gebrek aan ambitie, maar dit was gewoon niet hun ding. Ze hebben beiden een achtergrond in de hypervisors en maakten deel uit van het team dat KVM en kreeg overgenomen door Red Hat. Het verlaten van Red Hat, hun initiële plan was om te schrijven een unikernel dat zou verdringen Linux van cloud servers. Dus geen gebrek aan ambitie.

Ze stichtte een opstarten genoemd Cloudius, vinden beleggers, een team samengesteld en begonnen hard te werken. Op een bepaald moment echter ze realiseerden zich dat hun potentieel zou niet worden bereikt voor een aantal redenen, en besloot te draaien. En draai ze deed, om nog een NoSQL database aan de nooit eindigende lijst, die in staat zou zijn om te doen wat Cassandra doet en dan nog wat.

Maar waarom gaan voor een NoSQL database, en waarom doel van Cassandra?

scyllalogo2000px.png

ScyllaDB niet beginnen als een database, maar hebben gedraaid naar een, het kunnen bewijzen van een kracht moet worden gerekend met. Afbeelding: ScyllaDB.

Een deel van Cloudius missie was om de snelheid van de server geladen, met een nadruk op de databases. Laor, ScyllaDB CEO, zegt dat ze had weten te stimuleren Redis prestaties met 70 procent, zonder echt iets te doen Redis-specifiek. Je kunt je afvragen hoe was dat mogelijk, en er is een oplossing, maar voor nu laten we vasthouden aan het feit dat deze geactiveerd te nemen die richting.

Het was een combinatie van markt-en technische redenen die gemaakt Cloudius doel Cassandra. Laor zegt Hadoop was in hun lijst, maar omdat dat al had gedaan, besloten ze te gaan voor het herschrijven van Cassandra: “De wereld heeft geen behoefte aan een andere database-indeling. Cassandra ‘ s formaat is goed, en het is gelukt. Cassandra is het beste platform met hoge beschikbaarheid.”

Ze zeggen dat imitatie is de oprechte vorm van vleierij, en het is duidelijk dat de ScyllaDB team gevonden Cassandra de moeite waard te imiteren. Maar het is ingewikkelder dan dat: “Cassandra is overal in bedrijfskritische workloads. Maar wanneer wij gericht voor optimalisatie, liepen we tegen de beperkingen gebonden aan de JVM de natuur. In het einde, Cassandra eindigt concurreren met zichzelf.

Op dat moment, Google had zojuist een benchmark waarin ze beschrijven hoe ze erin geslaagd om 1 miljoen transacties op de top van Cassandra in hun cloud-300 virtuele machines. Dit gewekt onze interesse en aandacht voor ons werk Cassandra is het ons gelukt om een record van 1,6 miljoen transacties op een virtuele machine. Dit is hoe we begonnen.”

Voer ScyllaDB

Cloudius gedraaid en opnieuw uitgebracht, maar hield het hetzelfde team en investeerders. Dus ScyllaDB was geboren. U kunt denken dat het is brutaal tot doel “het beste platform met hoge beschikbaarheid die er zijn” en het doel om beter te doen, maar Laor, zegt ze in de hoop om de geschiedenis te herhalen. En het geheel van dat citaat, “imitatie is de oprechte vorm van vleierij die middelmatigheid kan betalen grootheid,” kan niet per definitie van toepassing hier.

“Toen we op de markt kwamen met KVM, alle spelers werden opgericht — VMWare, HyperV, Xen. We laten zien de laatste, maar op basis van de Avi ‘ s revolutionaire ontwerp KVM nu domineert. Wij denken dat onze differentiatie rond deze tijd is nog groter”, zegt Laor.

Dus wat is dit onderscheid? ScyllaDB belooft iets eenvoudig, verleidelijk, en het is moeilijk te geloven: houd uw codebase, vervangen Cassandra met ScyllaDB, voor maximaal 10 keer boost in de prestaties. Er zijn benchmarks en verwijzingen naar terug die vorderingen, maar hoe kan dit eventueel in zijn werk? Het komt neer op een aantal dingen.

scylladbthemes.png

ScyllaDB is gericht op de stabiliteit, prestaties en compatibiliteit. Vandaag de aankondiging van versie 2.0 betekent een nieuwe fase. Afbeelding: ScyllaDB

Ten eerste, de verschillende implementatie taal. ScyllaDB herschreven vanuit het niets in C++, in tegenstelling tot Cassandra ‘ s op basis van Java codebase. De JVM voegt een tussenlaag tussen source code en hardware, handel draagbaarheid en het gebruiksgemak voor de prestaties. Jvm ‘ s hebben een lange weg afgelegd, maar het juiste gebruik van een taal die dichter bij de laag-niveau fundamentals kan resulteren in betere prestaties.

Maar dat is slechts een deel van ScyllaDB de geheime saus. Een even groot deel heeft te maken met de onderliggende fundamentals, zoals geheugen of een aansluiting toewijzing. De aard van de nitty gritty details die zijn moeilijk te krijgen, het programma en te onderhouden, maar kan leiden tot dramatische verbeteringen. Het soort ding dat je weet intiem als je programma, zeg, een hypervisor.

Al deze lessen geleerd door jaren van low-level programmeren is vertaald in de SeaStar. SeaStar is een open source framework voor high performance toepassingen die ScyllaDB is gebouwd op, maar er is niets database-specifieke over. SeaStar is event-driven en maakt het schrijven van een efficiënte niet-blokkerende, asynchrone code.

Het nadeel? Complexiteit. Laor geeft toe het is moeilijk om het programma op de top van SeaStar, maar zegt dat het resultaat is de moeite waard. Hij noemt bijvoorbeeld Pedis, een herschrijving van Redis gebaseerd op de SeaStar gedaan door Alibaba, die turbo-kosten Redis. Daarnaast ScyllaDB beloften, de gemiddelde Cassandra gebruiker hoeft niet te zorgen over maken.

ScyllaDB gericht op het toegankelijker maken van de complexe taak van het configureren en afstemmen van Cassandra implementaties door het aanbieden van auto-tuning mogelijkheden. ScyllaDB heeft toegevoegde verbeteringen in zowel knooppunt beheer en netwerk protocollen met het doel van die clusters optimaal werken zonder dat de tussenkomst van een administrator.

Laor in vergelijking met deze functie Oracle ‘ s self-tuning database. Er zijn echter vergelijkbaar met oplossingen voor andere platforms, zoals Vonk. Voor Spark, sommige benaderingen zijn gebaseerd op het gebruik van machine learning op datasets verzameld uit vele operationele clusters, anderen op de regels.

ScyllaDB heeft de regel-gebaseerde benadering, als Laor niet geloven datasets kunnen worden vertegenwoordiger van alle mogelijke configuraties. “We gebruiken ontwikkelaar intelligentie, niet de kunstmatige intelligentie”, zegt hij. Misschien wel, datasets van operationele Cassandra clusters zou het moeilijk zijn om langs te komen voor ScyllaDB toch. Dat brengt ons bij een interessant punt.

Een rots en een harde plaats

Aan de ene kant, de beslissing tot de bouw van een nieuw platform dat compatibel is met een bestaande vermindert de wrijving en verlaagt de vaststelling barrière voor organisaties. ScyllaDB al namen als Samsung, IBM, en Outbrain onder de early adopters met het in productie.

Aan de andere kant, het leidt tot wrijving met het platform de nieuwkomer wil verdringen: Cassandra. We hebben gezien soortgelijke voorbeelden in de Spark wereld, maar het verschil is dat de Vonk alternatieven zijn nog steeds grotendeels gebaseerd op de Spark zodat er kruisbestuiving en uiteindelijk misschien convergentie.

We spreken hier over een radicale vertrek — verschillende implementatie taal, andere low-level infrastructuur, verschillende netwerk protocollen. Er is echt geen ruimte voor Cassandra en ScyllaDB te spelen naast elkaar, zoals ruimschoots wordt geïllustreerd door het feit dat ze kunnen zelfs naast elkaar in een cluster.

scylladbbenchmark.png

Een van ScyllaDB de benchmarks, waarin wordt aangetoond beter te presteren dan Cassandra. Afbeelding: ScyllaDB

Meestal Laor zegt, mensen opzetten van een proof of concept ScyllaDB cluster werken zij aan zij met Cassandra, totdat ze zich sterk genoeg voelen om de overstap te maken. “We hebben verschillende protocollen. We beschouwd als ondersteuning van Cassandra protocollen, maar er zijn zo vele versies die er zijn hebben we besloten tegen. Plus, wanneer de dingen verkeerd gaan in een gemengde cluster, wie zal u beschuldigen?”

Zou dat pijn doen adoptie? “We zijn niet getrouwd met onze databases, dat is wat de mensen ons vertellen,” zegt Laor. “Het is een grote investering, maar ze kunnen wijzigen. Het kiezen van Cassandra was een strategische beslissing voor ons. We begonnen vanaf nul en herschreef alles. Wanneer je dat doet, creëer je een antagonisme. Het raakt veel mensen, het is gevoelig.

Maar de resultaten spreken voor zich. Bijvoorbeeld, een AdTech klant van ons heeft weten te gaan van 100.000 time-outs per seconde met Cassandra naar 100 per seconde met ScyllaDB. We hebben niet veel gedaan, in termen van samenwerking, vooral omdat op het moment dat we zijn heads-down werken op de functie van de pariteit. Maar zoals KVM en Xen, waar we hadden common interfaces, kan er potentieel voor samenwerking.”

Laor noemt een aantal gebieden waarin ze bijdragen aan de Cassandra van de gemeenschap, zoals ScyllaDB CTO presentatie van het ontwerp keuzes op Cassandra volgende generatie conferentie of het bijdragen van een chauffeur voor Gaan. Hij benadrukt ook dat ScyllaDB is een open source project en proberen ze te documenteren en te verspreiden ontwerp-besluiten en de uitvoering en zegt dat ze graag werken met Cassandra op bepaalde functies in de toekomst.

ScyllaDB is een nieuwkomer, maar op papier tenminste, het lijkt alsof het gekregen wat het neemt om te verplaatsen het een zwaargewicht, zoals Cassandra met DataStax enterprise back. Het team heeft er geweest en het al eerder gedaan, voorzien van pariteit is er bijna, financiële en organisatorische structuur lijken te zijn.

ScyllaDB is goed gefinancierd, met een totaal van $25 miljoen, en heeft een team van 45 (meestal ingenieurs) werken al jaren samen. Op het technische front, het lijkt alsof ScyllaDB kan geven Cassandra een run voor zijn geld. Maar wat houdt dat in “vijandige overname” betekenen voor Cassandra, DataStax en de gemeenschap? Zal ScyllaDB in staat om de harten en geesten?

Het lijkt erop dat de Cassandra van de gemeenschap is op dit moment in een wat onrust toch. Er is enige wrijving tussen DataStax en de Apache Foundation, wat resulteert in onzekerheid over het project van de toekomst en de richting. Dus een Cassandra-gebruiker vandaag de dag kan betekenen dat je tussen een rots en een harde plaats.

scylladbcontributors.png

ScyllaDB plus SeaStar medewerkers zijn ongeveer net zo veel als Cassandra medewerkers op dit punt, per ScyllaDB de rekeningen. Afbeelding: ScyllaDB

DataStax op het niet reageren op een verzoek om commentaar. ScyllaDB aan de andere kant zegt dat hun gemeenschap groeit, ondanks het feit dat de drempel hoog is vanwege de complexe aard van hun uitvoering, en dat ze bijna heb bereikt functie van pariteit.

ScyllaDB 2.0 wordt vandaag bekend gemaakt bij Scylla Top, waardoor een aantal zeer gewilde functies, zoals kostentellers, en gematerialiseerd uitzicht. Volgens Laor, volledige pariteit zal worden bereikt in het begin van 2018. Voeg aan de mix van de recente overname van Seastar.io, die zal fungeren als een katalysator voor ScyllaDB te bieden managed versie, en je ziet waarom ScyllaDB is een naam die u misschien horen in de toekomst.

Het spreken van namen, wat is er met ScyllaDB de naam toch van? Blijkbaar zijn oprichters wilden een naam uit de griekse mythologie, zoals het geval was met Cassandra. Volgens hen in sommige delen van de wereld “Scylla” wordt uitgesproken als “schaal-ah”, die verwijst naar schaalbaarheid, en dus een naam was geboren.

Ironisch genoeg, Cassandra was een Oracle niemand zou luisteren. Scylla en Gekomen waren een monster en een whirlpool bewaken van de straat van Messina, waardoor het onmogelijk is om te navigeren in het verleden. Tussen Scylla en Gekomen is tussen een rots en een harde plaats. Maar tussen de ScyllaDB en Cassandra kan blijken te zijn een goede zaak voor de gemeenschap, moeten het uiteindelijk sturen duidelijk van het antagonisme.

0