< /p>
Amazon Web Services, som allerede tilbyr en portefølje med 15 databaser, gir nå ut en til. Amazon MemoryDB for Redis er en sanntids databaseimplementering som delvis er basert på åpen kildekode Redis-plattformen, men legger til holdbarhet og utholdenhet. AWS posisjonerer dette som målrettet for kunder som trenger en fullstendig databasetjeneste i stedet for en hurtigbuffer for Redis basert på antagelsen om at brukstilfellene vil være ganske forskjellige.
Vi ser på det som et kontinuum, med Amazon MemoryDB som en tjeneste som tar seg opp der Amazon ElastiCache slutter, og som en direkte konkurranse med Redis Enterprise Cloud som tilbys av Redis, selskapet. Forskjellen mellom Amazon ElastiCache og MemoryDB er at førstnevnte er ment som en in-memory-buffer som fungerer sammen med en primær database, mens MemoryDB er en full database-tjeneste i seg selv som er designet for å fungere alene.
Frem til nå tilbød AWS ElastiCache -tjeneste et utvalg av Redis -hurtigbufring eller Memcached. Den nye tjenesten er AWS svar på Redis Enterprise. Tenk på at Amazon MemoryDB i hovedsak er et førsteklasses nivå av ElastiCache for Redis; funksjonelt sett er det en database i stedet for cache, og teknisk sett er det en modifisert implementering av Redis -motoren som er kompatibel med den.
Bakgrunnen for alt dette er at åpen kildekode Redis er en utrolig populær plattform. Rangert blant de 10 beste databasene av db-motorer, ifølge Sumologic er det også den mest populære databasen som er distribuert på AWS. Stack Overflow -undersøkelser av lokalsamfunnet oppgir Redis som den “mest elskede” databasen av utviklere de siste fem årene på rad. Hver av de store skyleverandørene tilbyr sine egne Redis-baserte bufretjenester basert på åpen kildekode-versjon.
Utviklere elsker Redis fordi de møter utviklere der de bor. Den støtter datatypene som utviklere ofte jobber med, for eksempel hashes, lister, sett, strenger og sorterte sett. Og for det andre støtter Redis språkene som er populære blant utviklere, for eksempel C, C ++, C#, JavaScript, Java, Go, Objective-C, Python og PHP.
Allsidighet har lenge vært nøkkelen til Redis suksess. Det er mest brukt som en in-memory cache som sitter ved siden av en transaksjonsdatabase, for eksempel SQL Server, MySQL eller Oracle. Det laster ned sanntidsbehandling fra back-end databaser. Det er en oppgave som er like gammel som transaksjonsmonitorene på 1990-tallet og objektlagrene i minnet (som var primitive nøkkel-/verdidatabaser) på begynnelsen av 2000-tallet.
Utfordringen er imidlertid når utviklere bruker Redis -cache til formål som den ikke var ment, med tidsseriedatabaser for IoT -data som et godt eksempel – og populær brukstilfelle. Redis cache inntar dataene raskt, men problemet er at de mangler holdbarhet og utholdenhet; når noden går ned, går dataene tapt. Åpen kildekode Redis kan skrive data til en fil som bare kan legges til på disken, men det målet er på samme måte sårbart hvis noden går ned.
Frem til nå, da det kom til Redis som en fullverdig NoSQL- eller multimodeldatabase i minne, var Redis Enterprise det eneste spillet i byen. Redis Labs har satset på å tilby svar for utviklere som krever mer enn cache. Sammenlignet med åpen kildekode Redis, støtter Redis Enterprise mer detaljerte tilnærminger med høy tilgjengelighet; lagring av data til SSD Flash -lagring; fullt geodistribuert (multimaster) databasedrift gjennom aktiv-aktiv replikering; støtte for flere skyer; og støtte for Redis -moduler, som legger til utvidbarhet til databasen (f.eks. støtte for søk, grafdata, innebygd SQLite, JSON og andre muligheter). Redis Enterprise Cloud kjører på alle de tre store offentlige skyene – gjennom markedsplassene på AWS og Azure; og som et felles støttet tilbud på Google Cloud.
Og behovet for en Redis -database er det som fikk AWS til å introdusere MemoryDB – selv om kapasitetene til MemoryDB og Redis Enterprise på dette tidspunktet er vesentlig forskjellige. For eksempel tilbyr Redis Enterprise lagret lagring til Flash, en funksjon som ikke er på den første versjonen. En stor differensier med MemoryDB er imidlertid tilnærmingen til data -utholdenhet. Den bruker en multi-AZ transaksjonslogg for å holde data holdbare og muliggjøre utskifting og gjenoppretting uten tap av data. Det er viktig at loggen ikke kjøres på MemoryDBs databaseknuter. Når MemoryDB foretar en skrivning til den underliggende transaksjonsloggen, blir den spredt til kopi noder med garantert eventuell konsistens.
Kunder kan starte MemoryDB -klynger ved hjelp av AWS Graviton2 -forekomster. Den vil utføre mikrosekundlesninger og ettsifret millisekundskrive takk, ikke bare for å stole på minne, men med den lette transaksjonsloggen. Som nevnt, mens vi ikke støtter kjøligere data til Flash for øyeblikket, ville vi ikke bli overrasket om de blir støttet i en fremtidig utgivelse.
Amazon MemoryDB kommer ut av porten, og støtter alle kjernedata -APIene til åpen kildekode Redis, inkludert strenger, lister, sett, sorterte sett, hashes, streams, geospatial, bitmaps og hyperlogger. Den støtter opptil 128 TBytes minne per klynge, med en kopi for hvert skjær. I tillegg til lagret flashlagring, støttes for øyeblikket ikke andre Redis Enterprise-funksjoner som støtte for Redis-moduler, noen av de utvidede datatypene og aktiv-aktiv geo-replikering; mange av disse funksjonene er bare tilgjengelige gjennom Redis Source Available License, som forbyr tredjeparter å selge dem hvis de tilbys som en database eller andre verboten bruksområder. På den annen side har Redis Enterprise, som for tiden jobber med Redis Raft for holdbarhet, ikke brakt det enda til generell tilgjengelighet (vi forventer at det vil endre seg snart).
Ved å tilby en tjeneste som AWS betegner Redis-kompatibel som støtter åpen kildekode Redis API-er, er det paralleller med AWS tilnærminger til Amazon Aurora (for MySQL og PostgreSQL) og Amazon KeySpaces (for Apache Cassandra): de støtter de samme API-ene som den populære open kildedatabutikk med forbedringer under hetten for å støtte en fullt administrert opplevelse. For MemoryDB vil brukerne kunne bygge applikasjoner ved hjelp av de samme Redis -datastrukturer og API -er som de allerede bruker, men med de ekstra fordelene ved en fullt administrert database.
Amazon MemoryDB for Redis begynner å fylle hullet for kunder som søker en holdbar motstykke til ElastiCache. På dette tidspunktet har den ikke den samme bredden av funksjonalitet som Redis Enterprise eller Redis Enterprise Cloud, i det minste der den kommer til å støtte Redis -moduler eller geodistribuert lese og skrive. Og selv om dette ikke er det første angrepet for AWS med å legge til minne i databasene, gitt populariteten til Redis, fyller det et betydelig hull i serien. I motsetning til de fleste introduksjoner til AWS -databaser som vanligvis begynner med en forhåndsvisning, og som kommer ut av porten, er MemoryDB nå generelt tilgjengelig.
Big Data
Hvor er IBMs hybridsky -lanseringsplate? Syv måter å gjøre sanntidsteknologi reell for organisasjonen Maskinlæring på kanten: TinyML blir stor Hva skjer videre med Cloudera? McDonald's ønsker å 'demokratisere' maskinlæring for alle brukere på tvers av virksomheten
Relaterte emner:
Amazon Digital Transformation Robotics Internet of Things Innovation Enterprise Software