Garnet, het NoSQL-systeem van Microsoft is nu open source 

Granaat

Granaat is nu open source

Microsoft onthuld onlangs van hem beslissing om Garnet vrij te laten, uw NoSQL-databasebeheersysteem, als open source. Dit NoSQL-systeem is dat wel gericht op het creëren van caching-winkels en compatibel met bestaande clientbibliotheken voor Redis-opslag.

Granaat maakt de creatie van schaalbare cachingclusters mogelijk die replicatie, sleutelmigratie en gegevensuitwisseling tussen clusterknooppunten ondersteunen. De Tsavorite-engine wordt gebruikt om gegevens op te slaan op Garnet (een vork van de SNELLERE opslag van Microsoft).

Door Garnet open te sourcen hopen we de ontwikkelaarsgemeenschap in staat te stellen te profiteren van de prestatieverbeteringen en mogelijkheden, voort te bouwen op ons werk en het Garnet-ecosysteem uit te breiden door nieuwe functies en API-aanroepen toe te voegen. We hopen ook dat open source vervolg academisch onderzoek zal aanmoedigen en toekomstige mogelijkheden zal openen voor samenwerking op dit belangrijke onderzoeksgebied.

Over granaat

De architectuur van Granaat scheidt logica voor het parseren en verwerken van verzoeken van opslagbewerkingen en de gegevens worden opgeslagen met behulp van twee sleutelwaarde-archieven gebaseerd op de Tsavorite-bibliotheek.

Het eerste magazijn, "hoofd", is geoptimaliseerd voor snelle stringbewerkingen, terwijl de tweede opslag, "object", is geoptimaliseerd voor het verwerken van complexe objecten en geavanceerde gegevenstypen zoals hashes en lijsten. De gegevenstypen in de tweede opslag worden geïmplementeerd met behulp van .NET-bibliotheken. Gegevens worden opgeslagen in de heap (C#-heap), waardoor deze efficiënt kunnen worden bijgewerkt en geserialiseerd naar schijf.

Tsavorite ondersteunt multi-threaded queryverwerking, transacties, het doorvoeren van wijzigingen in een niet-vergrendelende modus (checkpointing), herstel van fouten, het opslaan van overtollige kopieën en het bijhouden van een bewerkingslogboek.

Het netwerkstuurprogramma in Garnet is gebaseerd op een gedeelde geheugenarchitectuur voorgesteld door het ShadowFax-onderzoeksproject. TLS-verwerking en interactie met opslag vinden plaats in één enkele thread om de overhead van het wisselen van threads te vermijden en efficiënter gebruik te maken van de CPU-cache bij het overbrengen van gegevens via het netwerk.

Het NoSQL Garnet-systeem biedt een aantal opvallende kenmerken waardoor het sindsdien veelzijdig en efficiënt is voor verschillende opslag- en handlingtoepassingen maakt opslag op meerdere niveaus mogelijk door RAM-opslag, SSD-schijven en cloudopslag te implementeren, waardoor de gegevensdistributie op aanvraag wordt geoptimaliseerd om efficiënte caches te creëren.

Daarnaast heeft het uitbreidbare apparaatondersteuning, omdat het lagen biedt die zijn geoptimaliseerd om met verschillende soorten apparaten te werken, zoals SSD's, harde schijven en Azure Storage-cloudopslag.

Het heeft ook ondersteuning voor verschillende gegevenstypen, omdat u hiermee tekenreekswaarden en complexe gegevensstructuren zoals lijsten, hashes, sets, geordende lijsten en geolocatiegegevens kunt opslaan, met de mogelijkheid om de levensduur van sleutels te definiëren.

Van de andere mogelijkheden Wat opvalt aan Garnet:

  • Voorkomt fragmentatie en zorgt voor een efficiënt beheer van de vrijgekomen RAM-ruimte.
  • Het maakt het mogelijk configureerbare limieten in te stellen voor de grootte van het geheugen dat wordt gebruikt voor indexen, logs en objectopslag, aangepast aan de behoeften van het systeem.
  • Vergemakkelijkt toegang tot opslag met behulp van Redis-clients zonder aanvullende wijzigingen.
  • Het biedt een API om analytische vragen en transacties uit te voeren en het publicatie-/abonneerparadigma te gebruiken, wat flexibiliteit biedt bij gegevensmanipulatie.
  • Biedt middelen om op flexibele wijze toegangscontrolebeleid in te stellen via ACL's.
  • Hiermee kunt u de configuratie van het opslagsysteem definiëren in algemene en toegankelijke formaten.
  • Biedt ondersteuning voor het aansluiten van extra netwerkcontrollers en het versleutelen van verkeer met behulp van TLS, waardoor gegevensbeveiliging wordt gegarandeerd.
  • Hiermee kunt u uitbreidingen in C# maken om aanvullende bewerkingen met tekenreeksen en objecten te implementeren, wat flexibiliteit en uitbreidbaarheid biedt.
  • Inclusief ondersteuning voor transactionele opgeslagen procedures, herstel vanaf controlepunten, AOF-modus (alleen bestand toevoegen) en de mogelijkheid om opslagclusters te maken met replicatie, sharding en mislukt knooppuntherstel.
  • Het biedt superieure prestaties en lage latentie bij het verwerken van zoekopdrachten, waardoor het beter presteert dan concurrerende systemen op het gebied van reactievermogen en efficiëntie van gegevensverwerking.

Voor geïnteresseerd in de projectcode, je moet weten dat het is geschreven in C# met een C++ opslagkern, Het wordt vrijgegeven onder de MIT-licentie en is compatibel met Linux en Windows.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.