Video: Autodesk Inventor 2019 | Diseño Inteligente | Vídeo 02 2024
Den enklaste databasen NoSQL (inte bara SQL) I en stor datormiljö är de som använder nyckelvärdesparet (KVP) -modellen. KVP-databaser kräver inte ett schema (som RDBMS) och ger stor flexibilitet och skalbarhet.
KVP-databaser erbjuder inte ACID-förmåga (Atomicity, Consistency, Isolation, Durability) och kräver att implementatörer tänker på dataplacering, replikering och feltolerans eftersom de inte uttryckligen styrs av själva tekniken. KVP-databaser skrivs inte. Som ett resultat lagras de flesta data som strängar.
Nyckel | Värde |
---|---|
Färg | Blå |
Libation | Öl |
Hjälte | Soldat |
Detta är en mycket förenklad uppsättning nycklar och värden. I en stor dataimplementation kommer många individer att ha olika idéer om färger, libations och hjältar.
Key | Värde |
---|---|
FacebookUser12345_Color | Red |
TwitterUser67890_Color | Brownish |
FoursquareUser45678_Libation | "Vitvin" |
Google + User24356_Libation | "Torr martini med en vridning " |
LinkedInUser87654 < | " Toppsäljare " |
När antalet användare ökar, kan du hålla koll på exakta nycklar och relaterade värden kan vara utmanande. Om du behöver hålla reda på miljontals användare kan antalet nyckelvärdespar som är associerade med dem öka exponentiellt. Om du inte vill begränsa val för värdena, ger den generiska strängrepresentationen av KVP flexibilitet och läsbarhet.
Du kanske behöver ytterligare hjälp med att organisera data i en nyckelvärdesdatabas. De flesta erbjuder möjligheten att samla nycklar (och deras relaterade värden) i en samling. Samlingar kan bestå av ett antal nyckelparametrar och kräver inte exklusiv kontroll av de enskilda KVP-elementen.
En välkänd open source-nyckelvärdespardatabas heter Riak. Den är utvecklad och stödd av ett företag som heter Basho Technologies och är tillgängligt under Apache Software License v2. 0.
Riak är en mycket snabb och skalbar implementering av en nyckelvärdesdatabas. Den stöder en miljö med hög volym med snabbväxande data eftersom den är lätt. Riak är särskilt effektiv vid realtidsanalys av handel med finansiella tjänster. Det använder "hinkar" som en organiseringsmekanism för samlingar av nycklar och värden.
Riak-implementeringar är kluster av fysiska eller virtuella noder arrangerade på ett peer-to-peer-sätt. Ingen huvudnod finns, så klustret är fjädrande och hög skalbar.Alla data och operationer fördelas över klustret. Större kluster fungerar bättre och snabbare än kluster med färre noder. Kommunikation i klustret genomförs via ett speciellt protokoll som heter Gossip. Skvaller lagrar statusinformation om klustret och delar information om skopor.
Riak har många funktioner och ingår i ett ekosystem som består av följande:
-
Parallell bearbetning: Med hjälp av MapReduce stöder Riak en förmåga att sönderdela och rekomponera frågor över klustret för realtidsanalys och beräkning.
-
Länkar och länkvandring: Riak kan konstrueras för att efterlikna en grafdatabas med länkar. En länk kan betraktas som en envägskoppling mellan nyckelvärdespar. Att gå (följa) länkarna kommer att ge en karta över relationer mellan nyckelvärdespar.
-
Sök: Riak Search har en feltolerant, distribuerad fulltextsökningskapacitet. Skopor kan indexeras för snabb upplösning av värde till nycklar.
-
Sekundära index: Utvecklare kan märka värden med ett eller flera nyckelfältvärden. Applikationen kan sedan fråga indexet och returnera en lista över matchande nycklar. Detta kan vara mycket användbart vid stora dataimplementeringar eftersom operationen är atomisk och kommer att stödja realtidsbeteenden.
Riak-implementeringar passar bäst för
-
Användardata för sociala nätverk, samhällen eller spel
-
Hög volym, mediarika datainsamling och lagring
-
Cacheringslager för anslutning av RDBMS- och NoSQL-databaser
-
Mobila applikationer som kräver flexibilitet och pålitlighet