
< /p>
Amazon Web Services, dat al een portfolio van 15 databases biedt, brengt er nu nog een uit. Amazon MemoryDB voor Redis is een realtime database-implementatie die gedeeltelijk is gebaseerd op het open source Redis-platform, maar duurzaamheid en persistentie toevoegt. AWS positioneert dit als een doelwit voor klanten die een volledige databaseservice nodig hebben in plaats van een cache voor Redis, op basis van de veronderstelling dat de use-cases heel anders zullen zijn.
We zien het als een continuüm, waarbij Amazon MemoryDB een dienst is die verdergaat waar Amazon ElastiCache ophoudt, en als directe concurrentie met Redis Enterprise Cloud aangeboden door Redis, het bedrijf. Het verschil tussen Amazon ElastiCache en MemoryDB is dat de eerste bedoeld is als een in-memory cache die naast een primaire database werkt, terwijl MemoryDB op zichzelf een volledige databaseservice is die is ontworpen om op zichzelf te werken.
Tot nu toe bood de ElastiCache-service van AWS de keuze uit Redis-caching of Memcached. De nieuwe service is het antwoord van AWS op Redis Enterprise. Overweeg dat Amazon MemoryDB in wezen een eersteklas ElastiCache voor Redis is; functioneel is het een database in plaats van een cache, en technisch gezien is het een aangepaste implementatie van de Redis-engine die ermee compatibel is.
De achtergrond van dit alles is dat open source Redis een ongelooflijk populair platform is. Gerangschikt in de top 10 van databases door db-Engines, volgens Sumologic, is het ook de meest populaire database die op AWS wordt ingezet. En om het verder uit te werken, vermeldden Stack Overflow-enquêtes van zijn gemeenschap Redis als de “meest geliefde” database door ontwikkelaars voor de laatste vijf jaar op rij. Alle grote cloudproviders bieden hun eigen op Redis gebaseerde cachingservices aan op basis van de open source-versie.
Ontwikkelaars zijn dol op Redis omdat het ontwikkelaars ontmoet waar ze wonen. Het ondersteunt de gegevenstypen waarmee ontwikkelaars vaak werken, zoals hashes, lijsten, sets, strings en gesorteerde sets. En ten tweede ondersteunt Redis de talen die populair zijn bij ontwikkelaars, zoals C, C++, C#, JavaScript, Java, Go, Objective-C, Python en PHP.
Veelzijdigheid is lange tijd de sleutel geweest tot het succes van Redis. Het wordt meestal gebruikt als een in-memory cache naast een transactiedatabase, zoals SQL Server, MySQL of Oracle. Het ontlast de realtime verwerking van back-enddatabases. Dat is een taak die zo oud is als de transactiemonitors van de jaren negentig en de in-memory objectopslag (die primitieve sleutel/waarde-gegevensopslag waren) van de vroege jaren 2000.
De uitdaging is echter wanneer ontwikkelaars Redis-cache gebruiken voor doeleinden die niet bedoeld zijn, met tijdreeksdatabases voor IoT-gegevens als een goed voorbeeld – en populair gebruik. Redis-cache neemt de gegevens snel op, maar het probleem is dat het duurzaamheid en persistentie mist; wanneer het knooppunt uitvalt, gaan de gegevens verloren. Open source Redis kan gegevens schrijven naar een bestand dat alleen kan worden toegevoegd op schijf, maar die maatregel is even kwetsbaar als het knooppunt uitvalt.
Tot nu toe, als het ging om Redis als een volwaardige in-memory NoSQL- of multimodeldatabase, was Redis Enterprise de enige game in de stad. Redis Labs heeft zijn activiteiten gericht op het bieden van antwoorden voor ontwikkelaars die meer nodig hebben dan alleen een cache. In vergelijking met open source Redis ondersteunt Redis Enterprise meer gedetailleerde benaderingen met hoge beschikbaarheid; gelaagdheid van gegevens naar SSD Flash-opslag; volledig geodistribueerde (multimaster) database-operatie door actief-actieve replicatie; ondersteuning voor meerdere clouds; en ondersteuning van Redis-modules, die uitbreidbaarheid aan de database toevoegen (bijv. ondersteuning van zoeken, grafiekgegevens, embedded SQLite, JSON en andere mogelijkheden). Redis Enterprise Cloud draait op alle drie de grote publieke clouds – via de marktplaatsen op AWS en Azure; en als een gezamenlijk ondersteund aanbod op Google Cloud.
En de behoefte aan een Redis-database was de aanleiding voor AWS om MemoryDB te introduceren – hoewel op dit moment de mogelijkheden van MemoryDB en Redis Enterprise aanzienlijk verschillen. Redis Enterprise biedt bijvoorbeeld gelaagde opslag voor Flash, een mogelijkheid die niet aanwezig is in de eerste release. Een belangrijke onderscheidende factor bij MemoryDB is echter de benadering van datapersistentie. Het maakt gebruik van een multi-AZ-transactielogboek om gegevens duurzaam te houden en vervanging en herstel mogelijk te maken zonder gegevensverlies. Belangrijk is dat het logboek niet wordt uitgevoerd op de databaseknooppunten van MemoryDB. Zodra MemoryDB een schrijfactie naar het onderliggende transactielogboek uitvoert, wordt deze doorgegeven aan replicaknooppunten met gegarandeerde uiteindelijke consistentie.
Klanten kunnen MemoryDB-clusters starten met behulp van AWS Graviton2-instanties. Het zal microseconden lezen en enkelcijferige milliseconden schrijven, niet alleen dankzij het vertrouwen op geheugen, maar ook met de lichtgewicht transactielogboekbenadering. Zoals opgemerkt, wordt het koppelen van koelere gegevens aan Flash momenteel niet ondersteund, maar het zou ons niet verbazen als dit in een toekomstige release wordt ondersteund.
Amazon MemoryDB komt uit de poort en ondersteunt alle kerngegevens-API's van open source Redis, inclusief strings, lijsten, sets, gesorteerde sets, hashes, streams, georuimtelijke, bitmaps en hyperloglogs. Het ondersteunt tot 128 TB aan geheugen per cluster, met één replica voor elke shard. Naast gelaagde flash-opslag worden andere Redis Enterprise-functies, zoals ondersteuning voor Redis-modules, enkele van de uitgebreide gegevenstypen en actief-actieve geo-replicatie momenteel niet ondersteund door MemoryDB; veel van deze functies zijn alleen beschikbaar via de Redis Source Available License, die derden verbiedt ze te verkopen als ze worden aangeboden als een database of ander verboten gebruik. Aan de andere kant heeft Redis Enterprise, dat momenteel aan Redis Raft werkt voor duurzaamheid, dat nog niet algemeen beschikbaar gemaakt (we verwachten dat dit binnenkort zal veranderen).
Door een service aan te bieden die volgens AWS Redis-compatibel is en de open source Redis API's ondersteunt, zijn er parallellen met de benaderingen van AWS van Amazon Aurora (voor MySQL en PostgreSQL) en Amazon KeySpaces (voor Apache Cassandra): ze ondersteunen dezelfde API's als de populaire open brongegevensopslag met verbeteringen onder de motorkap om een volledig beheerde ervaring te ondersteunen. Voor MemoryDB kunnen gebruikers applicaties bouwen met dezelfde Redis-datastructuren en API's die ze al gebruiken, maar met de extra voordelen van een volledig beheerde database.
Amazon MemoryDB voor Redis begint het gat te vullen voor klanten die op zoek zijn naar een duurzame tegenhanger van ElastiCache. Op dit moment heeft het niet dezelfde functionaliteit als Redis Enterprise of Redis Enterprise Cloud, tenminste niet waar het gaat om de ondersteuning van Redis-modules of geodistribueerde lees- en schrijfbewerkingen. En hoewel dit niet de eerste stap is voor AWS met het toevoegen van in-memory-mogelijkheden aan zijn databases, vult het, gezien de populariteit van Redis, een aanzienlijk gat in zijn assortiment. In tegenstelling tot de meeste AWS-database-introducties die doorgaans beginnen met een preview, is MemoryDB nu algemeen beschikbaar.
Big Data
Waar is IBM's hybride cloud-lanceerplatform? Zeven manieren om realtime technologie echt te maken voor uw organisatie Machine learning aan de edge: TinyML wordt groot Wat biedt Cloudera nu? McDonald's wil machine learning 'democratiseren' voor alle gebruikers in al haar activiteiten
gerelateerde onderwerpen:
Amazon Digital Transformation Robotics Internet of Things Innovatie Enterprise Software