Najboljših 11 odprtokodnih podatkovnih baz za vaš naslednji projekt

Podatki so vse. Razširjene pa tudi baze podatkov. Tu je nekaj fantastičnih odprtokodnih možnosti za vaš naslednji projekt hit-ass.


V svetu, ki tako dolgo obvladuje obleke baz podatkov, kot sta Oracle in SQL Server, se zdi, da je rešitev zdaj neskončno. Eden od razlogov je inovacija, ki jo poganja Open Source – resnično nadarjeni razvijalci, ki želijo opraskati srbečico in ustvariti nekaj, česar se lahko veselijo.

Drugi del je pojav novih poslovnih modelov, v katerih podjetja vzdržujejo različico svojega izdelka v skupnosti, da pridobijo delež moči in oprijem, hkrati pa nudijo tudi komercialno dodatno ponudbo.

Rezultat?

Več baz podatkov, kot jih lahko spremlja en sam. O tem še ni uradne statistike, vendar sem prepričan, da imamo danes na voljo več kot sto možnosti, če združite vse, od podatkovnih baz podatkov o zbirkah do ne tako priljubljenih projektov z univerz.

Vem, tudi mene je strah. Preveč možnosti – preveč dokumentacije, ki bi jo šli skozi – in življenje, ki je tako kratko. ��

Zato sem se odločil napisati ta članek in predstaviti deset najboljših baz podatkov, ki jih lahko uporabite za izboljšanje svojih rešitev, ne glede na to, ali gradite zase ali za druge.

Ni MySQL

Upoštevajte: ta seznam ne bo vseboval MySQL, čeprav je verjetno najbolj priljubljena rešitev baze podatkov odprte kode.

Zakaj? Preprosto zato, ker je MySQL povsod – to se vsi najprej naučijo, podpira ga skoraj vsak CMS ali okvir zunaj in je zelo, zelo primeren za večino primerov uporabe. Z drugimi besedami, MySQL ni treba “odkrivati”. ��

Ob tem upoštevajte, da naslednje niso nujno alternative MySQL. V nekaterih primerih so morda, medtem ko so v drugih popolnoma drugačna rešitev za povsem drugačne potrebe. Brez skrbi, saj bom razpravljala tudi o njihovih rabah.

Posebna opomba: združljivost

Preden začnemo, moram tudi omeniti, da je združljivost nekaj, kar morate imeti v mislih. Če imate projekt, ki iz kakršnega koli razloga podpira samo določeno bazo podatkov, so vaše odločitve precej uspešne.

Če na primer uporabljate WordPress, vam ta članek ne koristi. �� Podobno tisti, ki izvajajo statična mesta na JAMStacku, ne bodo pridobili ničesar, če bi iskali alternative resno.

Na vas je, da določite enačbo združljivosti. Če pa imate prazen pas in arhitektura je odvisna od vas, je nekaj natančnih priporočil.

PostgreSQL

Če ste iz dežele PHP (WordPress, Magento, Drupal itd.), Potem PostgreSQL se vam bo slišalo tuje. Vendar je ta relacijska baza podatkov že od leta 1997 in je najboljša izbira v skupnostih, kot so Ruby, Python, Go itd..

Pravzaprav mnogi razvijalci sčasoma “diplomirajo” na PostgreSQL zaradi funkcij, ki jih ponuja, ali preprosto zaradi stabilnosti. Težko je prepričati nekoga v tako kratkem zapisu, kot je to, toda PostgreSQL pomisli kot premišljeno zasnovan izdelek, ki te nikoli ne pusti na cedilu.

Na voljo je veliko dobrih odjemalcev SQL za povezavo z bazo podatkov PostgreSQL za administracijo in razvoj.

Edinstvene lastnosti

PostgreSQL ima v primerjavi z drugimi relacijskimi bazami podatkov (zlasti MySQL) več zanimivih funkcij, kot so:

  • Vgrajene vrste podatkov za Array, Range, UUID, Geolocation itd.
  • Naravna podpora za shranjevanje dokumentov (slog JSON), XML in shranjevanje ključne vrednosti (Hstore)
  • Sinhrono in asinhrono podvajanje
  • Pisave v PL, Perl, Python in še več
  • Iskanje v celotnem besedilu

Moji osebni favoriti so geolokacijski mehanizem (ki odvzame bolečino pri delu z aplikacijami, ki temeljijo na lokaciji – poskusite ročno najti vse točke v bližini, in veste, kaj mislim) ter podpora za matrike (mnogi projekti MySQL so razveljavljeni, če ne želite matrike, namesto da bi se namesto zloglasnih nizov, ločenih z vejicami).

Kdaj uporabljati PostgreSQL

PostgreSQL je vedno boljša izbira pred katerim koli drugim motorjem relacijskih baz podatkov. Če začnete nov projekt in vas je MySQL že ugriznil, je pravi čas, da razmislite o PostgreSQL. Imam prijatelje, ki so se odpovedali skrivnostnim napakam zaklepanja transakcij MySQL in se trajno nadaljevali. Če se odločite enako, ne boste pretiravali.

PostgreSQL ima tudi jasno prednost, če potrebujete delne zmogljivosti NoSQL za hibridni podatkovni model. Ker sta shranjevanje dokumentov in ključ-vrednost izvirno podprta, vam ni treba loviti, nameščati, učiti in vzdrževati druge rešitve baze podatkov.

Kdaj ne uporabljate PostgreSQL

PostgreSQL nima smisla, če vaš podatkovni model ni relacijski in / ali če imate zelo specifične arhitekturne zahteve. Na primer, razmislite o storitvi Analytics, kjer se nova poročila nenehno ustvarjajo iz obstoječih podatkov. Takšni sistemi so bralno težki in trpijo, če se jim nalaga stroga shema. Seveda, PostgreSQL ima mehanizem za shranjevanje dokumentov, vendar se stvari začnejo razpadati, ko imate opravka z velikimi nabori podatkov.

Z drugimi besedami, vedno uporabljajte PostgreSQL, razen če 100% veste, kaj počnete! ��

Oglejte si to SQL & PostgreSQL za tečaj začetnikov če vas zanima kaj več.

MariaDB

MariaDB je bil kot nadomestek za MySQL ustvarjen s strani iste osebe, ki je razvila MySQL.

Zmeden?

No, pravzaprav, ko je MySQL leta 2010 prevzel Oracle (s pridobitvijo Sun Microsystems, ki je, mimogrede, tudi to, kako je Oracle prišel pod nadzorovanje Jave), je ustvarjalec MySQL začel nov odprtokodni projekt, imenovan MariaDB.

Zakaj imate vse te dolgočasne podrobnosti, vprašate? Zato, ker je MariaDB ustvarjena iz iste baze kod kot MySQL (v odprtokodnem svetu je to znano kot “forking” obstoječega projekta). Kot rezultat, je MariaDB predstavljena kot “nadomestna” zamenjava za MySQL.

To pomeni, da če uporabljate MySQL in se želite premakniti na MariaDB, je postopek tako preprost, da preprosto ne boste verjeli.

Na žalost je takšna selitev enosmerna ulica. Vrnitev z MariaDB na MySQL ni mogoča, in če poskusite uporabiti silo, je zagotovljena stalna poškodba baze podatkov!

Edinstvene lastnosti

Čeprav je MariaDB v bistvu klon MySQL-a, to ni povsem res. Od uvedbe baze podatkov razlike med tema dvema naraščajo. Kot je zapisano, mora biti sprejetje MariaDB dobro premišljena odločitev. Kljub temu se v MariaDB dogaja ogromno novih stvari, ki vam bodo morda pomagale pri prehodu:

  • Resnično svoboden in odprt: Ker ni nobenega podjetja, ki bi upravljalo MariaDB, ste lahko brez nenadnih plenilskih licenc in drugih skrbi.
  • Še več možnosti motorjev za shranjevanje za posebne potrebe: na primer motor Spider za porazdeljene transakcije; ColumnStore za množično shranjevanje podatkov; motor ColumnStore za vzporedno, porazdeljeno shranjevanje; in še veliko, mnogo več.
  • Izboljšanje hitrosti v primerjavi z MySQL, zlasti zaradi mehanizma za shranjevanje Aria za zapletene poizvedbe.
  • Dinamični stolpci za različne vrstice v tabeli.
  • Boljše zmogljivosti podvajanja (na primer podvajanje iz več virov)
  • Več funkcij JSON
  • Navidezni stolpci

. . . In še veliko, mnogo več. Izčrpavanje vseh funkcij MariaDB je naporno. ��

Kdaj uporabiti MariaDB

Če želite resnično nadomestiti MySQL, želite ostati MariaDB, želite ostati na krivulji inovativnosti in se ne nameravate več vrniti na MySQL. Odličen primer uporabe je uporaba novih strojev za shranjevanje v MariaDB za dopolnitev obstoječega modela relacijskih podatkov vašega projekta.

Kdaj ne uporabljati MariaDB

Tu je edina skrb združljivost z MySQL. Glede na to je vse manj težav, ko so projekti, kot so WordPress, Joomla, Magento itd., Začeli podpirati MariaDB. Moj nasvet bi bil, da ne uporabljate MariaDB za preizkušanje CMS-a, ki ga ne podpira, saj obstaja veliko trikov, povezanih z bazo podatkov, ki bodo sistem zlahka zrušili.

ŠčurkiDB

Zdi se, da ekipa, ki stoji za CockroachDB, sestavljena iz mazohistov. Z takim imenom izdelka zagotovo želijo obrniti vse kvote proti njim in še vedno zmagati?

No, ne čisto.

Ideja za “ščurka” je, da je žuželka zgrajena za preživetje. Ne glede na to, kaj se zgodi – plenilci, poplave, večna tema, gniloba hrane, bombardiranje, ščurka najde način za preživetje in množenje.

Ideja je ta, da je bila ekipa, ki stoji za CockroachDB (sestavljena iz nekdanjih Googlovih inženirjev), frustrirana zaradi omejitev tradicionalnih rešitev SQL, ko gre za velik obseg. To je zato, ker naj bi bile v preteklosti rešitve SQL gostovane na enem samem računalniku (podatki niso bili tako veliki). Dolgo časa ni bilo mogoče sestaviti kopice baz podatkov s sistemom SQL, zato je MongoDB pritegnil toliko pozornosti.

Tudi ko sta se v MySQL, PostgreSQL in MariaDB pojavila podvajanje in združevanje, je bilo v najboljšem primeru boleče. CoackroachDB želi to spremeniti in s svetom SQL prinesti enostavno ostrenje, združevanje v skupine in visoko razpoložljivost.

Kdaj uporabljati CockroachDB

ŠčurkiDB je uresničitev sanj sistemskega arhitekta Če prisegate na SQL in se ponašate z zmogljivostmi skaliranja MongoDB, boste imeli radi CockroachDB. Zdaj lahko hitro nastavite gručo, ji vržete poizvedbe in ponoči mirno spite. ��

Kdaj ne uporabljati CockroachDB

Bolje hudiča, ki ga poznaš, kot tistega, ki ga nimaš. Mislim, če vaš obstoječi RDBMS deluje dobro za vas in mislite, da lahko obvladate bolečine, ki jih prinaša, se jih držite. Za vse vpletene genije je CockroachDB nov izdelek in pozneje se ne želite boriti proti njemu. Drug pomemben razlog je združljivost SQL – če delate eksotične stvari SQL in se zanašate na kritične stvari, bo CockroachDB predstavil preveč robnih primerov po vaših željah.

Odslej bomo upoštevali rešitve baze podatkov, ki niso SQL (ali NoSQL, kot se imenuje), za zelo specializirane potrebe.

Neo4j

Eden najpomembnejših dogodkov v zadnjem desetletju so povezani podatki. Svet okoli nas ni razdeljen na mize in vrstice in škatle – to je en velikanski nered z vsem, kar je povezano s skoraj vsem drugim.

Socialna omrežja so odličen primer, gradnja podobnega podatkovnega modela z uporabo SQL ali celo baz podatkov, ki temeljijo na dokumentih, je nočna mora.

Zato je idealna struktura podatkov za te rešitve graf, ki je povsem drugačna zver. In za to potrebujete bazo podatkov grafov Neo4j.

Zgornji primer je bil vzet neposredno s spletnega mesta Neo4j in prikazuje, kako so študentje povezani na svoje oddelke in tečaje. Takšen podatkovni model je v SQL-u navadno nemogoč, saj se bo težko izogniti neskončnim zankam in prekoračitvi pomnilnika..

Edinstvene lastnosti

Podatkovne baze grafi so same po sebi edinstvene in Neo4j je skoraj edina možnost za delo z grafi. Kot rezultat, so ne glede na njegove lastnosti edinstvene. ��

  • Podpora za transakcijske aplikacije in analitiko grafov.
  • Sposobnosti preoblikovanja podatkov za prebavo tabelarnih podatkov velikega obsega v grafe.
  • Specializiran jezik poizvedb (Cypher) za poizvedovanje v grafični bazi podatkov
  • Značilnosti vizualizacije in odkrivanja

Smiselno je razpravljati o tem, kdaj uporabiti Neo4j in kdaj ne. Če med svojimi podatki potrebujete razmerja na podlagi grafov, potrebujete Neo4j. ��

MongoDB

MongoDB je bila prva ne-relacijska baza podatkov, ki je v tehnološki industriji naredila velike valove, in še naprej prevladuje velik del pozornosti.

Za razliko od relacijskih baz podatkov je MongoDB “baza podatkov dokumentov”, kar pomeni, da podatke shranjuje v koščke, s tem da so povezani podatki združeni v isti kos. To najbolje razumemo tako, da si zamislimo tako sestavljeno strukturo JSON:

Tukaj, za razliko od strukture, ki temelji na tabeli, se podatki o stiku in ravni dostopa uporabnika nahajajo znotraj istega predmeta. Pridobivanje uporabniškega predmeta samodejno pridobi pridružene podatke in koncepta združitve ni. Tu je podrobnejši uvod v MongoDB.

Edinstvene lastnosti

MongoDB ima nekaj resnih (skoraj bi rad napisal “kick-ass”, da bi prenesel vpliv, vendar na javnem spletnem mestu morda ne bi bilo primerno), zaradi katerih je več izkušenih arhitektov za vedno opustilo relacijsko zemljo:

  • Prilagodljiva shema za posebne / nepredvidljive primere uporabe.
  • Smešno preprosto ostrenje in združevanje. Morate samo nastaviti konfiguracijo za gručo in pozabiti nanjo.
  • Dodajanje ali odstranjevanje vozlišča iz grozda je preprosta.
  • Razdeljene transakcijske ključavnice. Ta funkcija v prejšnjih različicah manjka, a je bila na koncu uvedena.
  • Optimiziran je za zelo hitro zapisovanje, zaradi česar je zelo primeren za analitične podatke kot predpomnilni sistem.

Če zveni kot tiskovni predstavnik MongoDB, se opravičujem, vendar je težko nadomestiti prednosti MongoDB. Seveda je NoSQL podatkovno modeliranje na začetku čudno, nekateri pa ga nikoli ne obvladajo, a pri mnogih arhitektih skoraj vedno zmaga nad tabelo zasnovano shemo.

Kdaj uporabljati MongoDB

MongoDB je odličen križni most od strukturiranega, strogega sveta SQL do amorfnega, skorajda zmedenega od NoSQL. Odlikuje se pri razvijanju prototipov, saj preprosto ni nobene sheme, za katero bi se morali skrbeti, in kdaj resnično potrebujete velikost. Da, z uporabo storitve SQL v oblaku se lahko znebite težav s skaliranjem DB, a fant je drag!

Nazadnje obstajajo primeri, ko rešitve, ki temeljijo na SQL, preprosto ne bodo storile. Na primer, če ustvarjate izdelek, kot je Canva, kjer lahko uporabnik ustvari poljubno zapletene modele in jih lahko pozneje ureja, veliko sreče z relacijsko bazo podatkov!

Kdaj ne uporabljate MongoDB

Popolno pomanjkanje sheme, ki jo ponuja MongoDB, lahko deluje kot katran za tiste, ki ne vedo, kaj počnejo. Neskladje podatkov, mrtvi podatki, prazna polja, ki ne bi smela biti prazna – vse to in še veliko več je mogoče. MongoDB je v bistvu “neumna” shramba podatkov, in če jo izberete, mora koda aplikacije prevzeti veliko odgovornosti za ohranjanje integritete podatkov.

Če ste razvijalec, potem boste našli to koristno.

RethinkDB

Kot se glasi njegovo ime, RethinkDB “Na novo” zamisli in zmogljivosti baze podatkov, ko gre za aplikacije v realnem času.

Ko se baza podatkov posodobi, aplikacija ne more vedeti. Sprejet pristop je, da aplikacija sproži obvestilo takoj, ko pride do posodobitve, ki se skozi zapleten most (PHP) potisne na sprednji del -> Redis -> Vozlišče -> Socket.io je en primer).

Kaj pa, če bi posodobitve lahko potisnili neposredno iz baze podatkov v sprednji del?!

Da, to je obljuba podjetja RethinkDB. Če želite pripraviti resnično aplikacijo v realnem času (igra, tržnica, analitika itd.), Je Rethink DB vreden ogleda.

Redis

Ko gre za podatkovne baze, je skorajda preveč enostavno spregledati obstoj Redis. To je zato, ker je Redis baza podatkov v pomnilniku in se večinoma uporablja pri podpornih funkcijah, kot je predpomnjenje.

Učenje te baze podatkov je deset minutno delo (dobesedno!) in preprosta trgovina s ključnimi vrednostmi, ki shranjuje strune s potekom časa (ki jih je seveda mogoče nastaviti v neskončnost). Redis izgubi v lastnostih, ki jih nadomešča v uporabnosti in zmogljivosti. Ker v celoti deluje v RAM-u, je branje in zapisovanje neverjetno hitro (nekaj sto tisoč operacij na sekundo se ne sliši).

Redis ima tudi prefinjeno sistem pod-pub, zaradi česar je ta “baza podatkov” dvakrat privlačnejša.

Z drugimi besedami, če imate projekt, ki bi lahko imel korist od predpomnjenja ali ima nekatere porazdeljene komponente, je Redis prva izbira.

SQLite

Da, obljubil sem, da smo končali z relacijskimi bazami podatkov, ampak SQLite je preveč luštno, da bi jo prezrl.

SQLite je lahka knjižnica C, ki je zagotovila sistem za shranjevanje relacijskih baz podatkov. Vse v tej bazi podatkov živi v eni datoteki (s pripono .sqlite), ki jo lahko postavite kamor koli v datotečni sistem. In to je vse, kar potrebujete za uporabo! Da, nobene »strežniške« programske opreme za namestitev in nobene storitve, s katero bi se lahko povezali.

Uporabne lastnosti

Čeprav je SQLite lahka alternativa zbirki podatkov, kot je MySQL, pakira dokaj dobro. Nekatere njegove šokantne lastnosti so:

  • Popolna podpora za transakcije z COMMIT, ROLLBACK in BEGIN.
  • Podpora za 32.000 stolpcev na mizo
  • JSON podpora
  • 64-smerna PRIDRUŽITE se podpore
  • Vprašanja, iskanje v celotnem besedilu itd.
  • Največja velikost baze podatkov 140 terabajtov!
  • Največja velikost vrstice 1 gigabajt!
  • 35% hitrejši kot V / I datoteke

Kdaj uporabljati SQLite

SQLite je izredno specializirana baza podatkov, ki se osredotoča na pristop brez neumnosti in sranje. Če je vaša aplikacija sorazmerno preprosta in ne želite, da se vam zdi popolna baza podatkov, je SQLite resen kandidat. To je še posebej smiselno za male in srednje velike CMS in demo aplikacije.

Kdaj ne uporabljati SQLite

Čeprav SQLite impresivno ne pokriva vseh funkcij standardnega SQL-a ali vašega najljubšega motorja baz podatkov. Manjkajo gruče, shranjeni postopki in razširitve skript. Prav tako ni odjemalca, ki bi povezal, poizvedoval in raziskovalno bazo podatkov. Končno, ko se velikost aplikacije poveča, se bo zmogljivost poslabšala.

Cassandra

Medtem ko mnogi izjavljajo, da se Javi bliža konec, skupnost vsake toliko časa spusti bombo in utiša kritike. Cassandra je en tak primer.

Cassandra pripada tistemu, kar je znano kot “stolpčna” družina baz podatkov. Odvzem skladišč v Cassandri je stolpec in ne vrstica. Ideja je, da vse podatke shranimo v stolpec fizično skupaj na disk, kar zmanjša čas iskanja.

Edinstvene lastnosti

Cassandra je bil zasnovan z določenim primerom uporabe – ukvarjal se je s težkimi obremenitvami in ničelno toleranco za čas izpada. Te postanejo njena edinstvena prodajna mesta.

  • Izjemno hitro delovanje pisanja. Cassandra je verjetno najhitrejša baza podatkov, ko gre za ravnanje s težkimi pisalnimi obremenitvami.
  • Linearna razširljivost. To pomeni, da lahko grozdi dodajate toliko vozlišč, kolikor želite, in tako se bo nič povečalo zapletenost ali krhkost grozda.
  • Neizravnana toleranca za particijo. To pomeni, da tudi če se več vozlišč v grozdju Cassandra zmanjša, je baza podatkov zasnovana tako, da deluje brez izgube integritete.
  • Statično tipkanje

Kdaj uporabiti Cassandra

Zapisovanje in analitika sta za Cassandra dva najboljša primera uporabe. A to še ni vse – slaba točka je, ko morate obdelati resnično velike velikosti podatkov (Apple ima Cassandra razmestitev, ki obdeluje 400+ petabajtov podatkov, medtem ko Netflix obravnava 1 trilijona zahtev na dan) z dobesedno nič odmorov. Visoka razpoložljivost je eden od značilnosti Cassandra.

Kdaj ne uporabljajte zdravila Cassandra

Shema skladiščenja stolpcev Cassandra ima tudi svoje pomanjkljivosti. Podatkovni model je precej preprost, če potrebujete združevanje, pa Cassandra primanjkuje. Poleg tega dosega visoko razpoložljivost z žrtvovanjem doslednosti (spomnimo se teoreme CAP za porazdeljene sisteme), zaradi česar je manj primeren za sisteme, kjer je potrebna velika natančnost branja.

Časovni razpon

Novi razvoj zahteva nove vrste baz podatkov, internet stvari (IoT) pa je en tak pojav. Ena najboljših odprtokodnih baz podatkov je Časovni razpon.

Časovni razpon je vrsta baze podatkov časovnih vrst. V nasprotju s tradicionalno bazo podatkov je to, da je glavna skrb glavna analitika in vizualizacija množičnih podatkovnih nizov. V podatkovnih bazah časovnih vrst se redko opazi sprememba obstoječih podatkov; primer so odčitki temperature, ki jih pošlje senzor v rastlinjaku – novi podatki se nabirajo vsako sekundo, kar je zanimivo za analitiko in poročanje.

Zakaj potem ne uporabite le tradicionalne baze podatkov s poljem časovne žige? No, obstajata dva glavna razloga za to:

  • Splošne baze podatkov niso optimizirane za delo s časovno utemeljenimi podatki. Za enake količine podatkov bo baza splošnih namenov veliko počasnejša.
  • Baza podatkov mora obdelovati ogromno količino podatkov, saj novi podatki nenehno tečejo in odstranjujejo podatke ali spreminjajo shemo; pozneje, to ni možnost.

Edinstvene lastnosti

Timescale DB ima nekaj zanimivih funkcij, ki ga ločijo od drugih baz podatkov v isti kategoriji:

  • Zgrajena je na PostgreSQL, verjetno najboljša odprtokodna relacijska baza podatkov tam. Če vaš projekt že izvaja PostgreSQL, bo časovni okvir zdrsnil desno.
  • Poizvedovanje se izvede prek znane sintakse SQL, kar zmanjša krivuljo učenja.
  • Vrhunsko velike hitrosti pisanja – milijoni vstavkov na sekundo se ne slišijo.
  • Milijarde vrstic ali petabajtov podatkov – to za Timecale ni veliko.
  • Resnična fleksibilnost s shemo – izbirajte med relacijskimi ali brez shem glede na vaše potrebe.

Nima smisla govoriti o tem, kdaj uporabljati ali ne uporabljati DB-ja Timescale. Če je IoT vaša domena ali imate podobne značilnosti baze podatkov, si je vredno ogleda.

CouchDB

CouchDB je urejena majhna rešitev za bazo podatkov, ki mirno sedi v kotu in ima majhno, a namensko naslednjo. Ustvarjen je bil za obravnavo težav izgube omrežja in morebitnega reševanja podatkov, kar se zgodi kot težava, ki je tako zmedena, da bi razvijalci namesto tega preklopili naloge, kot da bi se ukvarjali z njim.

V bistvu si lahko skupino CouchDB predstavljate kot porazdeljeno zbirko velikih in majhnih vozlišč, od katerih naj bi bila nekatera brez povezave. Takoj, ko vozlišče pride na spletu, pošlje podatke nazaj v gručo, ki se počasi in previdno prebavi, sčasoma postane na voljo celotnemu grozdu.

Edinstvene lastnosti

CouchDB je nekaj edinstvene pasme, ko gre za baze podatkov.

  • Možnosti sinhronizacije podatkov brez povezave
  • Specializirane različice za mobilne in spletne brskalnike (PouchDB, CouchDB Lite itd.)
  • Zanesljivost, odporna na trke
  • Enostavno združevanje z odvečnim shranjevanjem podatkov

Kdaj uporabljati CouchDB

CouchDB je bil narejen za toleranco brez povezave in v tem pogledu ostaja brez primere. Tipičen primer uporabe so mobilne aplikacije, kjer del vaših podatkov prebiva na primerku CouchDB na uporabnikovem telefonu (ker so tam nastali). Vznemirljivo je, da se ne morete zanesti, da bo uporabnikova naprava ves čas povezana, kar pomeni, da mora biti baza podatkov oportunistična in pripravljena kasneje razrešiti nasprotujoče si posodobitve. To dosežemo z uporabo impresivnih Couch Replication Protocol.

Kdaj CouchDB ne uporabljate

Poskus uporabe CouchDB zunaj predvidenega primera uporabe povzroči katastrofo. Uporablja veliko več prostora za shranjevanje kot karkoli drugega, preprosto zato, ker mora vzdrževati odvečne kopije podatkov in rezultate reševanja konfliktov. Zaradi tega so hitrosti pisanja tudi boleče počasne. Nazadnje CouchDB ni primeren kot sistem splošne namene, saj se ne igra dobro s spremembami sheme.

Zaključek

Moral sem zapustiti številne zanimive kandidate, kot je Riak, zato je ta seznam treba jemati kot vodilo in ne kot ukaz. Upam, da sem s tem člankom uspel doseči svoj cilj – predstaviti ne samo zbirko priporočil baz podatkov, ampak tudi na kratko razpravljati, kje in kako jih je treba uporabiti (in se jih izogibati!).

Če ste radovedni, če želite izvedeti bazo podatkov, si oglejte Udemy za nekatere briljantne spletne tečaje.

Oznake:

  • Baza podatkov

  • Odprtokodno

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map