Duik in de nieuwe commandosets in de NVMe 2.0-specificatie: Key:Value en ZNS

6 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Key:Value
  3. 3. Zoned Namespace
  4. 6 reacties

Key:Value

Key:value of KV is een object-gebaseerde commandoset, toegang tot opgeslagen data wordt met een sleutel of key verkregen, in plaats van via adressen per blok. Dit stelt applicaties in staat om direct met de schijf te communiceren via een database van sleutel:waarde-paren, zonder de ruimte die translatie-tabellen tussen keys en blocks innemen. 5 jaar geleden heeft Seagate een poging gewaagd om deze manier van bestanden opslaan te introduceren, maar de Kinetic-modellen met KV sloegen niet echt aan en de ontwikkeling hiervan is in 2019 dan ook stopgezet.

In 2019 maakte Samsung bekend dat zij een KV-ssd ontwikkeld hadden op basis van openbare standaarden. Specifiek gaat het om de Key Value Storage API Specification versie 1.0 van de Storage Networking Industry Association of SNIA. Het bijzondere aan deze schijf is dat standaard hardware zoals controllers en flash-chips wordt gebruikt, in combinatie met een Object Translation Layer die de object-id's omzet in de block-adressen van de overeenkomende bestanden. Samsung's implementatie KV Stacks moet een goed schaalbare en efficiënte oplossing zijn, waar andere systemen zoals RocksDB of MySQL vaak niet veel beter presteren op ssd's dan op traditionele draaiende schijven.

Volgens de Zuid-Koreaanse techgigant is deze ssd bedoeld voor toepassingen met grote hoeveelheden ongestructureerde data, waardoor de cpu niet hoeft te weten waar iets staat maar enkel de naam van het bestand nodig is om de informatie op te halen. Door het verwerken van de gevraagde data naar de ssd te verplaatsen wordt de last op de processor verminderd. De productie zou in 2020 moeten starten, maar daar is verder geen informatie meer over gedeeld. Het feit dat key:value aan de nvme-specificatie is toegevoegd wijst er wel op dat we op relatief korte termijn producten met deze commandoset kunnen verwachten.

0
*