Riak - Riak

Riak
Riak -logo
Utvikler (er) Basho Technologies
Første utgivelse 17. august 2009 ; 12 år siden ( 2009-08-17 )
Stabil utgivelse
3.0.7 / 16. juli 2021 ; 55 dager siden ( 2021-07-16 )
Oppbevaringssted
Skrevet inn Erlang
Operativsystem Linux , BSD , macOS , Solaris
Plattform IA-32 , x86-64
Type NoSQL -database, skylagring
Tillatelse Apache lisens 2.0
Nettsted riak .com

Riak (uttales "ree-ack") er en distribuert NoSQL nøkkelverdi datalagring som tilbyr høy tilgjengelighet, feiltoleranse, enkelhet og skalerbarhet. I tillegg til åpen kildekode- versjon, kommer den i en støttet bedriftsversjon og en skylagringsversjon . Riak implementerer prinsippene fra Amazons Dynamo -papir med sterk innflytelse fra CAP -setningen . Skrevet i Erlang , har Riak feiltolerant datareplikasjon og automatisk datadistribusjon over klyngen for ytelse og spenst.

Riak ble opprinnelig lisensiert med en freemium -modell: åpen kildekode -versjoner av Riak og Riak CS er tilgjengelige, men sluttbrukere kan betale for tilleggsfunksjoner og støtte. Det er nå fullstendig åpen kildekode inkludert alle virksomhetsfunksjonene.

Riak har en pluggbar backend for kjernelagringen, med standard lagringsbackend som Bitcask . LevelDB støttes også.

Hovedtrekkene

Feil-tolerant tilgjengelighet
Riak replikerer nøkkel-/verdilagre på tvers av en gruppe noder med en standard n_val på tre. I tilfelle nodebrudd på grunn av nettverkspartisjon eller maskinvarefeil, kan data fremdeles skrives til en nabo noden utover de tre første, og leses tilbake på grunn av den "mesterløse" node-til-node-arkitekturen.
Forespørsler
Riak tilbyr et REST-ful API gjennom HTTP- og protokollbuffere for grunnleggende PUT, GET, POST og DELETE funksjoner. Mer komplekse søk er også mulige, inkludert sekundære indekser, søk (via Apache Solr ) og MapReduce . MapReduce har innebygd støtte for både JavaScript (ved bruk av SpiderMonkey -kjøretiden ) og Erlang.
Forutsigbar ventetid
Riak distribuerer data på tvers av noder med hashing og kan gi ventetidsprofil, selv ved flere nodefeil.
Lagringsalternativer
Nøkler/verdier kan lagres i minne, disk eller begge deler.
Replikasjon av flere datasenter
I replikering av flere datasenter fungerer en klynge som en "primær klynge". Den primære klyngen håndterer replikeringsforespørsler fra en eller flere "sekundære klynger" (vanligvis lokalisert i andre regioner eller land). Hvis datasenteret med den primære klyngen går ned, kan en andre klynge ta over som den primære klyngen.
Det er to primære driftsmåter: fullsynk og sanntid. I fullsynkroniseringsmodus skjer en fullstendig synkronisering mellom primære og sekundære klynger, som standard hver sjette time. I sanntidsmodus utløses replikering til det / de sekundære datasenteret av oppdateringer av det primære datasenteret. All replikering av flere datasenter skjer over flere samtidige TCP- tilkoblinger for å maksimere ytelsen og nettverksutnyttelsen.
Avstembar konsistens
Mulighet for å velge mellom eventuell og sterk konsistens for hver bøtte.

Lisensiering og støtte

Riak er tilgjengelig gratis under Apache 2 -lisensen . I tillegg tilbød Basho Technologies to alternativer for sin kommersielle programvare, Riak Enterprise og Riak Enterprise Plus. Riak Enterprise Plus legger til grunnlinje og årlige systemhelsekontroller for å sikre langsiktig plattformstabilitet og ytelse.

Språkstøtte

Riak har offisielle drivere for Ruby , Java , Erlang og Python . Det er også mange samfunnsstøttede drivere for andre programmeringsspråk.

Historie

Riak ble opprinnelig skrevet av Andy Gross og andre ved Basho Technologies for å drive et web Sales Force Automation -program av tidligere ingeniører og ledere fra Akamai . Det var større interesse for datalagringsteknologien enn applikasjonene som ble bygget på den, så selskapet bestemte seg for å bygge en virksomhet rundt Riak selv, og fikk adopsjon gjennom Fortune 100 og ble grunnlaget for mange av verdens raskest voksende nettbaserte, mobile og sosiale nettverksapplikasjoner, samt skytjenesteleverandører. Utgivelser etter eksamen inkluderer

  • 1.1, utgitt 21. februar 2012, lagt til Riaknostic, forbedret feillogging og rapportering, forbedret spenst for store klynger og et nytt grafisk operasjons- og overvåkingsgrensesnitt kalt Riak Control.
  • 1.4, utgitt 10. juli 2013, lagt til tellere, forbedringer i sekundær indeksering, redusert overhead på objektlagring, rapportering om overlevering av fremdrift og forbedringer av MDC -replikering.
  • 2.0, utgitt 2. september 2014, la til nye datatyper inkludert sett, kart, registre og flagg som forenkler applikasjonsutvikling. Sterk konsistens etter bøtte, fulltekstintegrasjon med Apache Solr, sikkerhet og reduserte kopier for sekundære nettsteder.
  • 2.1, utgitt 16. april 2015, la til en optimalisering for mange skrive-tunge arbeidsmengder-"skriv en gang" -bøtter-bøtter hvis oppføringer er ment å bli skrevet nøyaktig en gang, og aldri oppdateres eller overskrives.
  • 2.2, utgitt 17. november 2016, lagt til støtte for Debian 8 og Ubuntu 16.04, Solr -integrasjonsforbedringer.
  • Riak kan ikke lenger vedlikeholdes av Basho
  • På dette tidspunktet ble morselskapet Basho Technologies satt i mottak. Eiendelene ble kjøpt av bet365 som open sourced all koden, inkludert de tidligere lukkede kildedelene, slik at utgivelsen av:
  • 2.2.5, utgitt 26. april 2018, er den første samfunnsutgivelsen. Lagt til støtte for Multi-Datacentre-replikering som ikke tidligere var en del av åpen kildekode-Riak, la til en datatype som kun vokser, forbedret datafordeling over noder og ryddet opp i produksjonstestproblemer.
  • NHS Digital og bet365 har fortsatt å finansiere arbeidet med å utvikle denne samfunnsutgivelsen, og har gjort betydelige endringer, inkludert å bringe versjon 3.0 oppdatert med mer moderne Erlang ETP -versjoner.
  • Samfunnsutviklingen går utover versjon 3.0.

Brukere

Viktige brukere inkluderer AT&T , Comcast , GitHub , Best Buy , UK National Health Services (NHS) , The Weather Channel og Riot Games .

Se også

Referanser

Eksterne linker