Riak - Riak
| Utvikler (er) | Basho Technologies |
|---|---|
| Første utgivelse | 17. august 2009 |
| Stabil utgivelse | 3.0.7 / 16. juli 2021
|
| 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 |
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 .