AWS introducerar Amazon MemoryDB för Redis

0
71

 Tony Baer (dbInsight)

Av Tony Baer (dbInsight) för Big on Data | 19 augusti 2021 – 17:32 GMT (18:32 BST) | Ämne: Big Data Analytics

 dont-forget.jpg

< /p>

Amazon Web Services, som redan erbjuder en portfölj med 15 databaser, släpper nu en till. Amazon MemoryDB för Redis är en realtidsdatabasimplementering som delvis bygger på Redis-plattformen med öppen källkod, men lägger till hållbarhet och uthållighet. AWS positionerar detta som riktat för kunder som behöver en fullständig databastjänst snarare än en cache för Redis baserat på antagandet att användningsfall kommer att vara ganska olika.

Vi ser det som ett kontinuum, med Amazon MemoryDB som en tjänst som tar fart där Amazon ElastiCache slutar och som en direkt konkurrens med Redis Enterprise Cloud som Redis, företaget erbjuder. Skillnaden mellan Amazon ElastiCache och MemoryDB är att den förra är avsedd som en minnescache som fungerar tillsammans med en primär databas, medan MemoryDB är en fullständig databastjänst i sig som är utformad för att fungera på egen hand.

Fram till nu erbjöd AWS ElastiCache -tjänst ett val av Redis -cachning eller Memcached. Den nya tjänsten är AWS svar på Redis Enterprise. Tänk på att Amazon MemoryDB är i huvudsak en premiumnivå av ElastiCache för Redis; funktionellt är det en databas snarare än cache, och tekniskt sett är det en modifierad implementering av Redis -motorn som är kompatibel med den.

Bakgrunden till allt detta är att öppen källkod Redis är en otroligt populär plattform. Rankad bland de 10 bästa databaserna av db-motorer, enligt Sumologic är det också den mest populära databasen som distribueras på AWS. Stack Overflow -undersökningar av samhället listade Redis som den “mest älskade” databasen av utvecklare under de senaste fem åren i rad. Var och en av de stora molnleverantörerna erbjuder sina egna Redis-baserade cachingtjänster baserade på versionen med öppen källkod.

Utvecklare älskar Redis eftersom det möter utvecklare där de bor. Den stöder de datatyper som utvecklare ofta arbetar med, till exempel hash, listor, uppsättningar, strängar och sorterade uppsättningar. Och för det andra stöder Redis de språk som är populära bland utvecklare, till exempel C, C ++, C#, JavaScript, Java, Go, Objective-C, Python och PHP.

Mångsidigheten har länge varit nyckeln till Redis framgång. Det används oftast som en cache i minnet som sitter bredvid en transaktionsdatabas, till exempel SQL Server, MySQL eller Oracle. Det avlastar realtidsbearbetningen från backend-databaser. Det är en uppgift som är lika gammal som transaktionsmonitorerna på 1990-talet och objektlagren i minnet (som var primitiva nyckel-/värdedatalager) under början av 2000-talet.

Utmaningen är dock när utvecklare använder Redis -cache för ändamål som det inte var avsett, med tidsseriedatabaser för IoT -data som ett utmärkt exempel – och populärt användningsfall. Redis cache intar data snabbt, men problemet är att det saknar hållbarhet och uthållighet; när noden går ner förloras data. Öppen källkod Redis kan skriva data till en fil som bara kan läggas till på hårddisken, men det måttet är lika sårbart om noden går ner.

Fram till nu, när det kom till Redis som en fullfjädrad NoSQL- eller multimodelldatabas i minnet, var Redis Enterprise det enda spelet i stan. Redis Labs har satsat på att erbjuda svar för utvecklare som kräver mer än cache. Jämfört med öppen källkod Redis, Redis Enterprise stöder mer detaljerade metoder för hög tillgänglighet; lagring av data till SSD Flash -lagring; fullständigt geodistribuerad (multimaster) databasoperation genom aktiv-aktiv replikering; stöd för flera moln; och stöd för Redis -moduler, som lägger till utökningsbarhet för databasen (t.ex. stöd för sökning, grafdata, inbäddad SQLite, JSON och andra funktioner). Redis Enterprise Cloud körs på alla tre stora offentliga molnen – genom marknadsplatserna på AWS och Azure; och som ett gemensamt stöd på Google Cloud.

Och behovet av en Redis -databas är det som fick AWS att introducera MemoryDB – även om det vid denna tidpunkt är olika möjligheter för MemoryDB och Redis Enterprise. Redis Enterprise erbjuder till exempel lagrad lagring till Flash, en funktion som inte finns i den första versionen. En stor differentiator med MemoryDB är dock dess inställning till datapersistens. Den använder en transaktionslogg med flera AZ för att hålla data hållbara och möjliggöra ersättning och återställning utan dataförlust. Viktigare är att loggen inte körs på MemoryDB: s databasnoder. När MemoryDB gör en skrivning till den underliggande transaktionsloggen, sprids den till repliknoder med garanterad slutlig konsistens.

Kunder kan starta MemoryDB -kluster med hjälp av AWS Graviton2 -instanser. Det kommer att utföra mikrosekundläsningar och enkelsiffriga millisekunder skriver tack, inte bara för att förlita sig på minnet, utan med den lätta transaktionsloggmetoden. Som nämnts, medan lagring av svalare data till Flash inte stöds för närvarande, skulle vi inte bli förvånade om det får stöd i en framtida version.

Amazon MemoryDB kommer ut ur porten och stöder alla kärndata -API: er för öppen källkod Redis, inklusive strängar, listor, uppsättningar, sorterade uppsättningar, hash, strömmar, geospatiala, bitmappar och hyperloggar. Det stöder upp till 128 TBytes minne per kluster, med en replika för varje skärva. Förutom lagrad flashlagring stöds för närvarande inte andra Redis Enterprise-funktioner som stöd för Redis-moduler, några av de utökade datatyperna och aktiv-aktiv geo-replikering av MemoryDB; många av dessa funktioner är endast tillgängliga genom Redis Source Available License, som förbjuder tredje part att sälja dem om de erbjuds som en databas eller andra verboten användningar. Å andra sidan har Redis Enterprise, som för närvarande arbetar med Redis Raft för hållbarhet, inte tagit det ännu till allmän tillgänglighet (vi förväntar oss att det ändras snart).

Genom att erbjuda en tjänst som AWS betecknar Redis-kompatibel som stöder Openis Redis API: er, finns paralleller med AWS tillvägagångssätt för Amazon Aurora (för MySQL och PostgreSQL) och Amazon KeySpaces (för Apache Cassandra): de stöder samma API: er som den populära öppna källdatalagring med förbättringar under huven för att stödja en helt hanterad upplevelse. För MemoryDB kommer användare att kunna bygga applikationer med samma Redis -datastrukturer och API: er som de redan använder, men med de extra fördelarna med en fullständigt hanterad databas.

Amazon MemoryDB för Redis börjar fylla luckan för kunder som söker en hållbar motsvarighet till ElastiCache. För närvarande har den inte samma bredd av funktionalitet som Redis Enterprise eller Redis Enterprise Cloud, åtminstone där det gäller support för Redis -moduler eller geodistribuerad läsning och skrivning. Och även om detta inte är det första angreppet för AWS med att lägga till in-memory-kapacitet till sina databaser, med tanke på populariteten hos Redis, fyller det en betydande klyfta i sitt sortiment. Till skillnad från de flesta AWS -databasintroduktioner som vanligtvis börjar med en förhandsgranskning, som kommer ut ur porten, är MemoryDB nu allmänt tillgängligt.

Big Data

Var är IBM: s hybrid molnstartplatta? Sju sätt att göra realtidsteknik verklig för din organisation Maskininlärning på kanten: TinyML blir stor Vad händer nästa med Cloudera? McDonald's vill 'demokratisera' maskininlärning för alla användare i sin verksamhet

Relaterade ämnen:

Amazon Digital Transformation Robotics Internet of Things Innovation Enterprise Software

Av Tony Baer (dbInsight) för Big on Data | 19 augusti 2021 – 17:32 GMT (18:32 BST) | Ämne: Big Data Analytics