sql >> Databasteknik >  >> RDS >> Database

ScyllaDB-trender – hur användare distribuerar realtidsdatabasen för stordata

ScyllaDB är ett distribuerat NoSQL-datalager med öppen källkod, omimplementerat från den populära Apache Cassandra-databasen. Scylla, som släpptes för bara fyra år sedan 2015, har i genomsnitt ökat med över 220 % jämfört med föregående år i popularitet enligt DB-Engines. Vi har hört mycket om denna växande databas från DBA-gemenskapen och våra användare, och beslutade att bli sponsor för årets Scylla Summit för att lära oss mer om implementeringstrenderna från dess användare. I det här inlägget bryter vi ner ScyllaDB-moln kontra lokala distributioner, populäraste molnleverantörer, SQL- och NoSQL-databaser som används med ScyllaDB, mest tidskrävande hanteringsuppgifter och varför du ska använda ScyllaDB vs. Cassandra.

  • ScyllaDB vs. Cassandra
  • ScyllaDB Cloud vs. ScyllaDB On-Premises
  • De mest populära molnleverantörerna för ScyllaDB
  • Databaser som används mest med ScyllaDB
  • Mest tidskrävande ScyllaDB-hanteringsuppgifter

ScyllaDB vs. Cassandra – vilket är bättre?

Undrar du vilken butik med bred kolumn du ska använda för dina distributioner? Medan Cassandra fortfarande är den mest populära, vinner ScyllaDB snabbt som den 7:e mest populära breda kolumnbutiken enligt DB-Engines. Så vad är några av anledningarna till att användare skulle välja ScyllaDB vs. Cassandra?

ScyllaDB erbjuder betydligt lägre latens vilket gör att du kan bearbeta en stor mängd data med minimal fördröjning. I själva verket, enligt ScyllaDB:s prestandabenchmark-rapport, är deras 99,9 percentillatens upp till 11X bättre än Cassandra på AWS EC2 bar metal. Så den här typen av prestanda måste ha en kostnad, eller hur? Det gör det, men de hävdar i den här rapporten att det är en kostnadsminskning på 2,5 gånger jämfört med att köra Cassandra, eftersom de kan uppnå denna prestanda med endast 10 % av noderna.

Det finns dussintals kvalitetsartiklar om ScyllaDB vs. Cassandra, så vi slutar kort här så att vi kan komma till det verkliga syftet med den här artikeln, att bryta ner ScyllaDB-användardata .

ScyllaDB Cloud vs. ScyllaDB On-Premises

ScyllaDB kan köras både i det offentliga molnet och lokalt. Faktum är att ScyllaDB är mest populärt i både offentliga moln och lokala miljöer inom en enda organisation. De 44 % av ScyllaDB-distributionerna som utnyttjar både moln och lokal datoranvändning kan vara antingen genom en hybrid molnmiljö som utnyttjar båda för en specifik applikation, eller genom att använda dessa miljöer separat för att hantera olika applikationer.

ScyllaDB-installationer på plats och ScyllaDB-molninstallationer var döda, till och med med 28 % vardera. Du kan köra både den kostnadsfria öppen källkod ScyllaDB och ScyllaDB Enterprise i molnet eller på plats, och ScyllaDB Enterprise-licensen börjar på $28,8k/år för totalt 48 kärnor.

Vad är det bästa sättet att distribuera #ScyllaDB? Cloud vs. On-PremiseKlicka för att tweeta

De mest populära molnleverantörerna för ScyllaDB

Med 28 % av ScyllaDB-klustret som exklusivt distribueras i molnet och 72 % använder molnet i viss kapacitet, var vi intresserade av att se vilka molnleverantörer som är mest populära för ScyllaDB-arbetsbelastningar .

#1. AWS

Vi fann att 39,1 % av alla ScyllaDB-molninstallationer körs på AWS från våra undersökningsdeltagare. Även om vi förväntade oss att AWS skulle vara den #1 molnleverantören för ScyllaDB, var andelen betydligt lägre än svaren från alla molndatabastyper i den här undersökningen som rapporterade att 55 % distribuerades på AWS. Denna siffra är mer i linje med vår senaste 2019 Open Source Databas Trends Report där 56,9 % av molninstallationerna rapporterades köras på AWS. Detta kan bero på att AWS inte stöder ScyllaDB genom deras Relational Database Services (RDS), så vi skulle kunna anta att när fler organisationer fortsätter att migrera sin data till ScyllaDB kan AWS uppleva en nedgång i sin kundbas.

#2. Google Cloud

Google Cloud Platform (GCP) var den näst mest populära molnleverantören för ScyllaDB, med 30,4 % av alla molninstallationer. Google Cloud erbjuder sin egen breda kolumnbutik och stordatadatabas som heter Bigtable som faktiskt är rankad #111, en under ScyllaDB på #110 på DB-Engines. ScyllaDB:s låga kostnad och höga prestandamöjligheter gör det till ett attraktivt alternativ för GCP-användare, särskilt eftersom det är öppen källkod jämfört med Bigtable som bara är kommersiellt tillgängligt på GCP.

#3. Azure

Azure följde på tredje plats och representerade 17,4 % av alla ScyllaDB-distributioner i molnet från våra enkätsvarare. Azure är en attraktiv molnleverantör för organisationer som utnyttjar Microsofts tjänstersvit.

Vilken molnleverantör är mest populär för #ScyllaDB? AWS vs. Azure vs. GCPlicka för att tweeta

De återstående 13,0 % av ScyllaDB-molninstallationerna visade sig köras på DigitalOcean, Alibaba och Tencents molntjänster.

Deras hanterade tjänst, Scylla Cloud, är för närvarande endast tillgänglig på AWS, och du måste använda ScyllaDB Enterprise-versionen för att utnyttja deras DBaaS. Scylla Cloud planerar att lägga till stöd för GCP och Azure i framtiden, men med endast 39 % rapportering på AWS kan vi anta att över 60 % av ScyllaDB-distributionerna hanteras själv i molnet.

Databaser som används mest med ScyllaDB

Som vi också fann från 2019 års Open Source Database Report, använder organisationer i genomsnitt 3.1 olika databastyper. Men i den här undersökningen rapporterade organisationer som använder ScyllaDB att de endast använder 2,3 olika databastyper i genomsnitt, en minskning på 26 % jämfört med våra resultat från alla databasanvändare med öppen källkod. Vi fann också att 39 % av ScyllaDB-distributionerna endast använder ScyllaDB och inte utnyttjar någon annan databastyp i sina applikationer.

Så vilka databaser används oftast i samband med ScyllaDB? Vi upptäckte att ScyllaDB-användare också använder SQL-databaser MySQL 20% av tiden och PostgreSQL 20% av tiden också. Den näst mest använda databasen med ScyllaDB var Cassandra representerad i 16 % av distributionerna, och vi kan anta att detta är av organisationer som testar ScyllaDB som ett alternativ till Cassandra i sina applikationer eftersom båda databastyperna är breda kolumnlager.

MongoDB var den fjärde mest populära databasen med ScyllaDB på 12 %. Redis och Elasticsearch var delade på femte plats, båda utnyttjade 8 % av tiden med ScyllaDB-distributioner.

Vi fann också att 20 % av Scylla-distributionerna utnyttjar andra databastyper, inklusive Oracle, Aerospike, Kafka (som nu förvandlas till en databas för strömmande händelser), DB2 och Tarantool.

Mest tidskrävande ScyllaDB-hanteringsuppgifter

Vi vet att ScyllaDB är mycket kraftfullt, men hur lätt är det att använda? Vi frågade ScyllaDB-användare vad deras mest tidskrävande hanteringsuppgift var och hörde från 28 % att Scylla Repair var den längsta hanteringsuppgiften. Scylla Repair är en synkroniseringsprocess som körs i bakgrunden för att säkerställa att alla repliker så småningom innehåller samma data. Användare måste köra reparationskommandot nodetool regelbundet, eftersom det inte finns något sätt att automatisera reparationer i ScyllaDB open source eller ScyllaDB Enterprise-versioner, men du kan ställa in ett reparationsschema genom Scylla Manager.

ScyllaDB långsam frågeanalys knöt ScyllaDB säkerhetskopior och återställningar till andra plats på 14 % vardera för den mest tidskrävande hanteringsuppgiften. Det ser inte ut som att ScyllaDB för närvarande har en frågeanalysator tillgänglig för att identifiera frågor som behöver optimeras, men användare kan använda sin långsamma frågeloggning för att se vilka frågor som har längst svarstid. ScyllaDB-säkerhetskopior kan inte heller automatiseras genom öppen källkod och företagsversioner, men de anger att återkommande säkerhetskopior kommer att finnas tillgängliga i framtida utgåvor av Scylla Manager. Det finns inte heller något automatiserat sätt att återställa en ScyllaDB-säkerhetskopia, eftersom dessa måste utföras manuellt i alla versioner.

10 % av ScyllaDB-användarna rapporterade att att lägga till, ta bort eller ersätta noder var den mest tidskrävande uppgiften och kom på fjärde plats. Detta är manuella processer som kan ta ganska lång tid, speciellt om du har att göra med en stor datastorlek. Att lägga till noder används för att skala ut en distribution medan du tar bort dem för att skala ner din distribution. Noder måste bytas ut om de är nere eller döda, även om ett kluster fortfarande kan vara tillgängligt när mer än en nod är nere.

Delad femte plats med 7 % var uppgraderingar och felsökning. ScyllaDB Enterprise och öppen källkod kräver båda omfattande steg för att uppgradera ett kluster. De rekommenderade metoderna är genom en rullande procedur så det finns ingen stilleståndstid, men detta är en manuell process så användaren måste ta ner en nod i taget, utföra alla uppgraderingssteg, starta om och validera noden innan han går vidare till att utföra samma steg för de återstående noderna i klustret. Tidskrävande verkligen, men som tur är inte en daglig uppgift! Felsökning är naturligtvis ett djupt kaninhål att dyka ner i, men ScyllaDB Enterprise-kunder får verksamhetskritisk support dygnet runt, och användare med öppen källkod har tillgång till en uppsjö av resurser, inklusive dokumentation, e-postlistor, Scylla University och en slack kanal för användaren diskussioner.

Vilken är den mest tidskrävande #ScyllaDB-hanteringsuppgiften? Klicka för att tweeta

De återstående 21 % av de tidskrävande uppgifterna som rapporteras av ScyllaDB-användare inkluderar övervakning, migrering, provisionering, balansering av skärvor, komprimering och korrigering.

Så, hur jämför dessa resultat sig med dina ScyllaDB-distributioner? Letar du efter ett sätt att automatisera dessa tidskrävande hanteringsuppgifter? Medan vi stöder MySQL, PostgreSQL, Redis™* och MongoDB® Database idag, letar vi alltid efter feedback om vilken databas vi ska lägga till stöd för nästa genom våra DBaaS-planer. Låt oss veta i kommentarerna eller på Twitter på @scalegridio om du letar efter ett enklare sätt att hantera dina ScyllaDB-kluster i molnet eller på plats!


  1. Oracle SQL för att ändra kolumntyp från nummer till varchar2 medan den innehåller data

  2. Oracle Analytic-funktioner - återställning av en fönsterklausul

  3. Hur man aktiverar MySQL Query Cache

  4. Lagrad procedur eller funktion förväntar sig parameter som inte tillhandahålls