Huis Persoonlijke financiën Partities in NoSQL beheren - dummies

Partities in NoSQL beheren - dummies

Inhoudsopgave:

Video: (Dutch) Partities beheren, formatteren, en hernoemen in Windows 7, 8, 8.1 en 10 2024

Video: (Dutch) Partities beheren, formatteren, en hernoemen in Windows 7, 8, 8.1 en 10 2024
Anonim

De woordpartitie wordt gebruikt voor twee verschillende concepten in NoSQL-land. Een gegevenspartitie is een mechanisme om ervoor te zorgen dat gegevens gelijkmatig over een cluster worden verdeeld. Aan de andere kant treedt een netwerkpartitie op wanneer twee delen van hetzelfde databasecluster niet kunnen communiceren.

Op zeer grote geclusterde systemen is het steeds waarschijnlijker dat er een defect aan één apparaat zal optreden. Als een netwerkswitch tussen servers in een cluster mislukt, treedt er een fenomeen op dat (in computertaal) gespleten hersenen wordt genoemd. In dit geval ontvangen individuele servers nog steeds verzoeken, maar kunnen ze niet met elkaar communiceren.

Dit scenario kan leiden tot inconsistentie van gegevens of eenvoudigweg tot verminderde capaciteit in gegevensopslag, omdat de netwerkpartitie met de minste servers uit het cluster wordt verwijderd (of "weggestemd" in echte Big Brother-mode).

Partities verdraaien

U hebt twee keuzes wanneer een netwerkpartitie zich voordoet:

  • Ga verder, op een bepaald niveau, naar service lees- en schrijfbewerkingen.

  • "Stem af" op een deel van de partitie en besluit de gegevens later te herstellen wanneer beide delen kunnen communiceren. Dit houdt meestal in dat het cluster een leesreplica stemt als de nieuwe master voor elk ontbrekend masterpartitieknooppunt.

Met Riak kunt u bepalen hoe vaak gegevens worden gerepliceerd (standaard drie keer, dat wil zeggen, n = 3) en hoeveel servers moeten worden opgevraagd voordat het lezen slaagt. Dit betekent dat, als de primaire master van een sleutel zich aan de verkeerde kant van een netwerkpartitie bevindt, de leesbewerkingen nog steeds kunnen slagen als de andere twee servers beschikbaar zijn (r = 2 leesbeschikbaarheid).

Riak-handles schrijven wanneer de primaire partitieserver wordt uitgeschakeld met behulp van een systeem met de naam doorschijnende overdracht . Wanneer gegevens oorspronkelijk worden gerepliceerd, wordt het eerste knooppunt voor een bepaalde sleutelpartitie geschreven, samen met (standaard) twee van de volgende aangrenzende knooppunten.

Als er niet naar de primaire kan worden geschreven, wordt naar het volgende knooppunt in de ring geschreven. Deze schrijfopdrachten worden effectief doorgegeven aan het volgende knooppunt. Wanneer de primaire server weer verschijnt, worden de schrijfopdrachten opnieuw afgespeeld naar dat knooppunt voordat het primaire schrijfbewerkingen opnieuw overneemt.

In beide bewerkingen kunnen inconsistenties in versiebeheer optreden omdat verschillende replica's zich in verschillende versietoestanden kunnen bevinden, zelfs al is het maar voor een paar milliseconden.

Riak gebruikt nog een ander systeem met de naam actieve anti - entropie om dit probleem te verhelpen. Dit systeem volgt de bijgewerkte waarden en zorgt ervoor dat replica's op een bepaald moment worden bijgewerkt, bij voorkeur vroeger of later.Dit helpt om leesconflicten te voorkomen met behoud van een hoge opnamesnelheid, waardoor een tweefasige commit wordt vermeden die wordt gebruikt door andere NoSQL-databases met master-slave, gedeelde-niets clusteringondersteuning.

Als er een leesconflict optreedt, gebruikt Riak leesreparatie om alleen de laatste gegevens te retourneren. Uiteindelijk echter, en afhankelijk van de instellingen voor consistentie en beschikbaarheid die u gebruikt, kan de clienttoepassing meerdere versies worden gepresenteerd en wordt gevraagd om zelf te beslissen.

In sommige situaties is deze afweging wenselijk en veel toepassingen kunnen intuïtief weten, op basis van de gepresenteerde gegevens, welke versie moet worden gebruikt en welke versie moet worden verwijderd.

Secundaire indexering

Secundaire indexen zijn indexen voor specifieke gegevens binnen een waarde. De meeste winkels met belangrijke waarden laten deze indexering over aan de applicatie. Riak is echter anders en maakt gebruik van een schema met de naam document - op basis van partitionering dat secundaire indexering mogelijk maakt.

Op documenten gebaseerde partitionering gaat ervan uit dat u JSON-structuren naar de Riak-database schrijft. U kunt vervolgens indexen instellen voor specifieke eigenschappen in deze JSON-structuur, zoals weergegeven:

{"order-id": 5001, "klant-ID": 1429857, "orderdatum": "2014-09-24 "," Totaal ": 134. 24}

Als u een toepassing hebt die de bestellingen van een klant van de vorige maand toont, dan wilt u alle records opvragen, zoals weergegeven, waarbij de klant-ID een vaste waarde is (1429857) en de besteldatum ligt binnen een bepaald bereik (het begin en het einde van de maand).

In de meeste sleutelwaardewinkels maakt u een andere bucket aan, waarvan de sleutel het gecombineerde klantnummer en de maand is en de waarde een lijst met bestel-id's is. In Riak voegt u echter eenvoudigweg een secundaire index toe voor zowel klant-id (geheel getal) als orderdatum (datum), die wel extra opslagruimte in beslag neemt, maar het voordeel heeft dat deze transparant is voor de ontwikkelaar van de applicatie.

Deze indexen worden ook live bijgewerkt - wat betekent dat er geen vertraging is tussen het bijwerken van een documentwaarde in Riak en het up-to-date zijn van de indexen. Deze live toegang tot gegevens is moeilijker om uit te halen dan het lijkt. Immers, als de indexen inconsistent zijn, zult u nooit de consistent gehouden gegevens vinden!

Evaluatie van Riak

Basho, de commerciële entiteit achter Riak, zegt dat de aankomende versie 2. 0 NoSQL-database altijd een sterke consistentie heeft, een claim die andere NoSQL-leveranciers maken. De claim van NoSQL-verkopers om altijd een sterke consistentie te hebben, is als beweren een sterke vegetariër te zijn … behalve op zondag als je rosbief hebt.

Riak is geen ACID-compatibele database. De configuratie kan niet zodanig worden gewijzigd dat deze in de ACID-conformiteitsmodus werkt. Cliënten kunnen inconsistente gegevens krijgen tijdens normale bewerkingen of tijdens netwerkpartities. Riak ruilt absolute consistentie in voor verhoogde beschikbaarheid en partitietolerantie.

Als Riak wordt uitgevoerd in de modus voor sterke consistentie, worden de leesreplica's tegelijkertijd met de primaire master bijgewerkt. Dit omvat een COMMIT in twee fasen - in feite het hoofdknooppunt dat naar de andere knooppunten schrijft voordat het bevestigt dat de schrijfbewerking voltooid is.

Op het moment van schrijven ondersteunt de sterke consistentiemodus van Riak geen secundaire indexen of complexe gegevenstypen (bijvoorbeeld JSON). Hopelijk lost Basho dit probleem op in de komende releases van de database.

Riak Search (een rebranded en geïntegreerde Apache Solr-zoekmachine maakt gebruik van een uiteindelijk consistent updatemodel) kan valse positieven opleveren bij gebruik van sterke consistentie. Deze situatie doet zich voor omdat gegevens kunnen worden geschreven en de transactie vervolgens wordt gestaakt, maar de gegevens worden nog steeds gebruikt voor indexering - waardoor een "vals positief" zoekresultaat overblijft - het resultaat is niet langer geldig voor de zoekopdracht.

Riak gebruikt ook een afzonderlijk sentinelproces om te bepalen welk knooppunt een meester in failover-omstandigheden wordt. Dit proces is echter niet erg beschikbaar, wat betekent dat het voor een paar seconden mogelijk is dat een nieuw exemplaar van het sentinelproces online wordt gebracht, maar er kan geen nieuw knooppunt worden toegevoegd of een nieuw knooppunt. meester gekozen. U moet op de hoogte zijn van deze mogelijkheid in omstandigheden met hoge stressstoornissen.

Riak heeft enkele leuke functies voor applicatieontwikkelaars, zoals secundaire indexering en ingebouwde ondersteuning voor JSON-waarden. Database-replicatie voor noodherstel naar andere datacenters is alleen beschikbaar in de betaalde versie, waarvan de prijs te vinden is op hun website (getoonde huurprijzen, prijzen voor eeuwigdurende licenties die alleen op aanvraag worden gegeven).

Het Riak Control-clusterbewakingsinstrument staat ook niet hoog aangeschreven vanwege de vertragingstijd bij het bewaken van clusters. Riak heeft veel belofte en als Basho meer enterprise - niveau clusterbeheerfaciliteiten zal toevoegen in toekomstige versies, zal het een best-in-class product worden.

Partities in NoSQL beheren - dummies

Bewerkers keuze

Tien Helpbronnen voor Junos OS - dummies

Tien Helpbronnen voor Junos OS - dummies

Dit is een top-tien lijst met bronnen die u moet zoeken meer informatie over softwarebewerkingen, training en ondersteuning voor Junos - alle extra details die u mogelijk nodig heeft om Junos OS te kunnen configureren en bedienen in uw eigen netwerkimplementaties. CLI Help-commando's Bent u op zoek naar meer achtergrondinformatie over hoe een bepaalde functie ...

De functie van de drie vlakken van Junos netwerk OS - dummies

De functie van de drie vlakken van Junos netwerk OS - dummies

De architectuur van de Junos opererende systeem verdeelt de functies van besturing, services en doorsturen op verschillende niveaus. Elk van de vlakken van Junos OS biedt een kritieke set van functionaliteit in de werking van het netwerk. Besturingsvlak van het Junos-netwerkbesturingssysteem (NOS) Alle functies van het besturingsvlak lopen op ...

De basisprincipes van BGP-routebealing - dummy's

De basisprincipes van BGP-routebealing - dummy's

Het configureren van Border Gateway Protocol (BGP) kan nogal lastig zijn, vooral met grote aantallen peersessies die handmatig moeten worden geconfigureerd. In feite kan in een groot netwerk de full-mesh-vereiste voor IBGP een provisioning-nachtmerrie zijn. BGP's antwoord op de IBGP-paring-configuratie-nachtmerrie die het volledige maaswerk is, wordt routeberefening genoemd. Route ...

Bewerkers keuze

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Als de allerbeste locatie op het web staat op de pagina een van de zoekmachines, je moet de SEO-elementen kennen die je daar kunnen brengen. Een goede plek om te beginnen is met zoekwoorden. Zoekmachines gebruiken geavanceerde processen om zoekwoordgebruik en andere factoren te categoriseren en analyseren om erachter te komen ...

Persberichten als bron van SEO-inhoud - dummies

Persberichten als bron van SEO-inhoud - dummies

Het leuke aan persberichten is dat u ze zonder toestemming op uw website kunt gebruiken, en sommige zullen al voor de zoekmachine zijn geoptimaliseerd. Het doel van een persbericht is om het uit te sturen en te zien wie het ophaalt. U hoeft geen contact op te nemen met de eigenaar van het persbericht, omdat ...

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Zelfs de domeinnaam van uw site moet geoptimaliseerd voor zoekmachines. Zoekmachines lezen uniforme resource locators (URL's), op zoek naar sleutelwoorden erin. Bijvoorbeeld als u een website heeft met de domeinnaam knaagdierracen. com en iemand zoekt Google op knaagdierenraces, Google ziet rodent-racing als een wedstrijd; omdat er een streepje verschijnt tussen de twee ...

Bewerkers keuze

Praxis Elementair onderwijs Examen-Economie - dummies

Praxis Elementair onderwijs Examen-Economie - dummies

U zult enkele basisconcepten van de economie voor de Praxis moeten kennen Elementair onderwijs examen. Elementaire economie onderzoekt de wens voor, de productie van en de verkoop en het gebruik van geld, zowel lokaal als wereldwijd. Het onderwijzen van economie omvat concepten zoals behoeften versus behoeften, kosten en meer tot nadenken stemmende onderwerpen, zoals de volgende: ...

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Het Praxis basisonderwijs: Curriculum, instructie en beoordeling examen (5017) bestrijkt een breed scala van wat u moet weten over basisonderwijs. Als u het Praxis Elementary Education: Content Knowledge-examen (5018) neemt, moet u zich ervan bewust zijn dat het de dekking beperkt tot de inhoud van de vier hoofdonderwerpen die een elementaire leraar is ...

Praxis Core For Dummies Cheat Sheet - dummies

Praxis Core For Dummies Cheat Sheet - dummies

Voordat je te opgewonden raakt, begrijp dat de informatie die volgt niet klopt eigenlijk niet over het bedriegen van de Praxis. Het gaat echt meer om de meest efficiënte manieren om je voor te bereiden op het examen. Maar "voorbereidingsblad" heeft niet helemaal dezelfde reden. Trouwens, vals spelen is niet nodig als je weet wat je aan het doen bent, en ...