Top 11 baza podataka otvorenog koda za vaš sljedeći projekt

Podaci su sve. A po proširenju, to su i baze podataka. Evo nekoliko fantastičnih opcija otvorenog koda za vaš sljedeći kick-ass projekt.


U svijetu u kojem toliko dugo dominiraju baze podataka poput Oracle i SQL Server, čini se da sada postoji beskonačna buka rješenja. Jedan od razloga je inovacija koju pokreće Open Source – stvarno talentirani programeri koji žele ogrebati svrbež i stvoriti nešto što mogu oduševiti.

Drugi dio je pojava novih poslovnih modela, u kojima tvrtke održavaju verziju svog proizvoda u zajednici kako bi stekle udio u umu i privlačnost, a istovremeno nude komercijalnu dodatnu ponudu.

Rezultat?

Više baza podataka nego što ih se može držati u toku. O tome nema službenih podataka, ali poprilično sam siguran da danas imamo na raspolaganju više od stotinu opcija ako kombinirate sve, od baze podataka o objektima specifičnih za skup do ne tako popularnih projekata sa sveučilišta.

Znam, i mene to plaši. Previše opcija – previše dokumentacije koja treba proći – i tako kratak život. ��

Zbog toga sam odlučio napisati ovaj članak, predstavljajući deset najboljih baza podataka koje možete koristiti za poboljšanje svojih rješenja, bilo da gradite za sebe ili druge.

Nema MySQL-a

Napominjemo: ovaj popis neće sadržavati MySQL, iako je vjerojatno najpopularnije rješenje baze podataka otvorenog koda.

Zašto? Jednostavno zato što je MySQL posvuda – to je ono što svi prvo nauče, podržava ga gotovo svaki CMS ili okvir vani, i vrlo je dobar za većinu slučajeva korištenja. Drugim riječima, MySQL ne treba biti “otkriven”. ��

U skladu s tim, imajte na umu da sljedeće nisu nužno alternative MySQL-u. U nekim slučajevima to mogu biti, dok su u drugima potpuno drugačije rješenje za potpuno drugačiju potrebu. Ne brinite, jer ću i ja raspravljati o njihovim uporabama.

Posebna napomena: kompatibilnost

Prije nego što započnemo, također moram napomenuti da je kompatibilnost nešto što trebate imati na umu. Ako imate projekt koji, iz bilo kojeg razloga, podržava samo određeni stroj baze podataka, vaši su izbori prilično poznati.

Na primjer, ako pokrećete WordPress, ovaj vam članak ne koristi. �� Slično tome, oni koji pokreću statičke stranice na JAMStacku neće dobiti ništa tražeći alternative previše ozbiljno.

Na vama je samo da smislite jednadžbu kompatibilnosti. Međutim, ako imate praznu ploču i arhitektura je na vama, evo nekoliko preporučenih preporuka.

PostgreSQL

Ako ste iz zemlje PHP-a (WordPress, Magento, Drupal, itd.), Tada PostgreSQL zvučit će vam strano. Međutim, ovo se rješenje relacijske baze podataka nalazi od 1997. godine i najbolji je izbor u zajednicama poput Ruby, Python, Go, itd..

U stvari, mnogi programeri na kraju „diplomiraju“ na PostgreSQL zbog funkcija koje nudi ili jednostavno zbog stabilnosti. Teško je uvjeriti nekoga u ovako kratko pisanje, ali razmišljajte o PostgreSQL-u kao promišljenom proizvodu koji nikada ne iznevjeri.

Na raspolaganju je mnogo dobrih SQL klijenata za povezivanje s PostgreSQL bazom podataka za administraciju i razvoj.

Jedinstvene značajke

PostgreSQL ima nekoliko fascinantnih značajki u usporedbi s drugim relacijskim bazama podataka (konkretno, MySQL), kao što su:

  • Ugrađene vrste podataka za Array, Range, UUID, Geolocation itd.
  • Izvorna podrška za pohranu dokumenata (JSON-stil), XML i pohranu ključ-vrijednosti (Hstore)
  • Sinhrona i asinhrona replikacija
  • Pisanje scenarija u PL, Perl, Python i još mnogo toga
  • Pretraživanje cijelog teksta

Moji su najdraži geolokacijski mehanizam (koji uklanja bol pri radu s aplikacijama na temelju lokacije – pokušajte ručno pronaći sve točke u blizini, i znat ćete na što mislim) i podrška za nizove (mnogi MySQL projekti su poništeni jer ne želite nizovi umjesto toga za zloglasne žice razdvojene zarezom).

Kada koristiti PostgreSQL

PostgreSQL je uvijek bolji izbor u odnosu na bilo koji drugi motor relacijske baze podataka. To jest, ako pokrećete novi projekt, a MySQL vas je prethodno ugrizao, pravo je vrijeme da razmislite o PostgreSQL. Imam prijatelje koji su se odrekli borbe protiv MySQL-ovih misterioznih kvarova na transakcijskom zaključavanju i nastavili trajno. Ako odlučite isto, nećete pretjerano reagirati.

PostgreSQL također ima jasnu prednost ako su vam potrebne djelomične NoSQL mogućnosti hibridnog modela podataka. Budući da su pohrana dokumenata i ključ-vrijednost izvorno podržana, ne morate ići u lov, instaliranje, učenje i održavanje drugog rješenja baze podataka.

Kada ne koristiti PostgreSQL

PostgreSQL nema smisla kada vaš model podataka nije relacijski i / ili kada imate vrlo specifične arhitektonske zahtjeve. Na primjer, razmotrite Analytics gdje se nova izvješća neprestano stvaraju iz postojećih podataka. Takvi su sustavi teški za čitanje i pate kada im se nametne stroga shema. Naravno, PostgreSQL ima mehanizam za pohranu dokumenata, ali stvari se počinju raspadati kada se bavite velikim skupovima podataka.

Drugim riječima, uvijek koristite PostgreSQL, osim ako 100% znate šta radite! ��

Pogledajte ovo SQL & PostgreSQL za početnike ako je zainteresiran za učenje više.

MariaDB

MariaDB kreirana je kao zamjena za MySQL, ista osoba koja je razvila MySQL.

zbunjeni?

Pa, zapravo, nakon što je MySQL 2010. godine preuzeo Oracle (kupnjom Sun Microsystemsa, koji je, uzgred, također način na koji je Oracle došao kontrolirati Javu), kreator MySQL pokrenuo je novi projekt otvorenog koda pod nazivom MariaDB.

Zašto se pitaju svi ti dosadni detalji? To je zato što je MariaDB stvoren iz iste baze kodova kao i MySQL (u svijetu otvorenog koda to je poznato kao “forkiranje” postojećeg projekta). Kao rezultat toga, MariaDB je predstavljena kao “padajuća” zamjena za MySQL.

To jest, ako koristite MySQL i želite se premjestiti na MariaDB, postupak je tako jednostavan da jednostavno nećete vjerovati.

Nažalost, takva migracija je jednosmjerna ulica. Povratak s MariaDB na MySQL nije moguć, a ako pokušate upotrijebiti silu, osigurava se trajna korupcija baze podataka!

Jedinstvene značajke

Iako je MariaDB u osnovi klon MySQL-a, to nije strogo točno. Od uvođenja baze podataka, razlike između njih dvoje sve su veće. Što se tiče pisanja, prihvaćanje MariaDB-a mora biti dobro promišljena odluka sa vaše strane. Međutim, u MariaDB-u se događa mnogo novih stvari koje će vam možda pomoći da napravite ovaj prijelaz:

  • Zaista besplatno i otvoreno: budući da ne postoji niti jedan korporativni subjekt koji kontrolira MariaDB, možete se osloboditi iznenadnog predatorskog licenciranja i drugih briga..
  • Još nekoliko opcija motora za skladištenje za specijalizirane potrebe: na primjer, Spiderov motor za distribuirane transakcije; ColumnStore za veliko skladištenje podataka; ColumnStore motor za paralelno, raspodijeljeno spremanje; i mnogo, mnogo više.
  • Poboljšanja brzine u odnosu na MySQL, posebice zahvaljujući Aria engine-u za pohranu složenih upita.
  • Dinamični stupci za različite retke u tablici.
  • Bolje mogućnosti replikacije (na primjer, multi-source replikacija)
  • Nekoliko JSON funkcija
  • Virtualni stupci

. . . I još mnogo, mnogo više. Iscrpljujuće je pratiti sve značajke MariaDB-a. ��

Kada koristiti MariaDB

Ako želite istinsku zamjenu MySQL-a, želite MariaDB, želite ostati na krivulji inovacije i ne planirajte se više vraćati na MySQL. Izvrsni su slučajevi upotreba novih motora za pohranu u MariaDB-u za dopunu postojećeg modela relacijskih podataka vašeg projekta.

Kada ne koristiti MariaDB

Ovdje je jedina briga kompatibilnost s MySQL-om. U skladu s tim, postaje sve manji problem jer projekti poput WordPressa, Joomla, Magento itd. Počinju podržavati MariaDB. Moj savjet bi bio da ne upotrebljavate MariaDB za izigravanje CMS-a koji ga ne podržava, jer postoje mnogi trikovi vezani uz bazu podataka koji će lako srušiti sustav.

CockroachDB

Čini se da je tim koji stoji iza CockroachDB sastavljen od mazohista. S takvim imenom proizvoda sigurno žele okrenuti sve šanse protiv njih i dalje pobijediti?

Pa, ne baš.

Ideja iza “žohara” jest da je to insekt izgrađen za preživljavanje. Bez obzira na to što se događa – grabežljivci, poplave, vječni mrak, trula hrana, bombardiranje, žohar pronalazi način za opstanak i množenje.

Ideja je da je tim koji stoji iza CockroachDB-a (sastavljen od bivših Googleovih inženjera) bio frustriran ograničenjima tradicionalnih SQL rješenja kada su u pitanju velike razmjere. To je zato što je povijesno SQL rješenja trebalo biti domaćin na jednom računalu (podaci nisu bili tako veliki). Dugo vremena nije bilo načina za izgradnju skupa baza podataka na kojima se izvodi SQL, zbog čega je MongoDB privukao toliko pozornosti.

Čak i kad su replikacija i grupiranje izašli na MySQL, PostgreSQL i MariaDB, u najboljem je slučaju bilo bolno. CoackroachDB želi to promijeniti, donoseći bez napora izoštravanje, grozdanje i veliku dostupnost svijetu SQL-a.

Kada koristiti CockroachDB

CockroachDB je ostvarenje sna arhitekta sustava Ako se zaklinjete u SQL i plivali ste u mogućnostima skaliranja MongoDB-a, svidjet će vam se CockroachDB. Sada možete brzo postaviti grozd, bacati upite i mirno spavati noću. ��

Kada ne koristiti CockroachDB

Bolje đavola kojeg poznaješ nego onaj kojeg nemaš. Pod tim mislim, ako vaš postojeći RDBMS dobro radi za vas i mislite da možete upravljati bolovima od skaliranja koje on donosi, pridržavajte se toga. Za sve uključene genije, CockroachDB je novi proizvod i ne želite se više boriti protiv njega. Drugi glavni razlog je kompatibilnost sa SQL-om – ako radite egzotične SQL stvari i oslonite se na kritične stvari, CockroachDB će vam predstaviti previše rubnih slučajeva po vašoj želji.

Od sada ćemo razmatrati non-SQL (ili NoSQL, kako se naziva) rješenja za bazu podataka za visoko specijalizirane potrebe.

Neo4j

Jedan od najznačajnijih događaja u posljednjem desetljeću su povezani podaci. Svijet oko nas nije podijeljen na tablice, redove i kutije – to je jedan ogroman nered sa svime povezanim s gotovo svim ostalim.

Društvene mreže su odličan primjer, a izgradnja sličnog modela podataka koristeći SQL ili čak baze podataka temeljenih na dokumentima predstavlja noćnu moru.

To je zato što je idealna struktura podataka za ta rješenja graf koji je potpuno drugačija zvijer. A za to vam treba baza podataka poput grafikona Neo4j.

Gornji primjer preuzet je izravno s web stranice Neo4j i pokazuje kako su studenti povezani na svoje katedre i tečajeve. Takav model podataka očigledno je nemoguć kod SQL-a jer će biti teško izbjeći beskonačne petlje i prekoračenja memorije.

Jedinstvene značajke

Grafičke baze podataka same su po sebi jedinstvene, a Neo4j je prilično jedina opcija za rad s grafovima. Kao rezultat, sve značajke koje imaju su jedinstvene. ��

  • Podrška za transakcijske aplikacije i grafičku analitiku.
  • Sposobnost transformacije podataka za digestiranje tabelarnih podataka velikih razmjera u grafikone.
  • Specijalizirani jezik upita (Cypher) za postavljanje upita u grafičku bazu podataka
  • Značajke vizualizacije i otkrivanja

Sporna je rasprava kada koristiti Neo4j, a kada ne. Ako vam trebaju odnosi između podataka na temelju grafa, potreban vam je Neo4j. ��

MongoDB

MongoDB bila je prva ne-relacijska baza podataka koja je napravila velike valove u tehnološkoj industriji i dalje dominira priličnim dijelom pozornosti.

Za razliku od relacijskih baza podataka, MongoDB je “baza podataka”, što znači da pohranjuje podatke u dijelove, s tim da su povezani podaci sjedinjeni u istom komadu. To se najbolje razumije zamišljanjem ovako združene JSON strukture:

Ovdje, za razliku od strukture temeljene na tablici, detalji kontakta i razine pristupa korisnika nalaze se unutar istog objekta. Dohvaćanje korisničkog objekta automatski preuzima pridružene podatke i nema koncepta spajanja. Evo detaljnijeg uvoda u MongoDB.

Jedinstvene značajke

MongoDB ima neke ozbiljne (gotovo želim napisati “udarac nogom” kako bih prenio utjecaj, ali možda to ne bi bilo ispravno na javnoj web stranici) značajke zbog kojih je nekoliko iskusnih arhitekata zauvijek napustilo relacijsku zemlju:

  • Fleksibilna shema za posebne / nepredvidive slučajeve uporabe.
  • Jednostavno izoštravanje i grupiranje. Trebate samo postaviti konfiguraciju za klaster i zaboraviti na njega.
  • Dodavanje ili uklanjanje čvora iz klastera mrtvo je jednostavno.
  • Distribuirane transakcijske brave. Ova je značajka nedostajala u starijim verzijama, ali je na kraju uvedena.
  • Optimiziran je za brzo pisanje, što ga čini visoko prikladnim za analizu podataka kao predmemoriranje.

Ako zvučim kao glasnogovornik MongoDB-a, izvinjavam se, ali teško je prevladati prednosti MongoDB-a. Sigurno je da je NoSQL modeliranje podataka u početku čudno, a neki se nikad ne slažu s tim, ali mnogi arhitekti gotovo uvijek pobjeđuju nad shemom koja se temelji na tablici..

Kada koristiti MongoDB

MongoDB je izvrstan crossover most od strukturiranog, strogog svijeta SQL-a do amorfnog, gotovo zbunjujućeg NoSQL-a. Izvrsno se razvija u prototipovima, jer jednostavno ne treba brinuti shemu i kada stvarno trebate napraviti skaliranje. Da, možete koristiti oblačni SQL uslugu da biste se riješili problema skaliranja DB-a, ali dečko je to skupo!

Konačno, postoje slučajevi kada rješenja koja se bave SQL-om jednostavno neće učiniti. Na primjer, ako stvarate proizvod poput Canva, na kojem korisnik može stvoriti proizvoljno složene dizajne i moći ih kasnije uređivati, sretno s relacijskom bazom podataka!

Kada ne koristiti MongoDB

Potpuni nedostatak sheme koju MongoDB pruža može poslužiti kao katran za one koji ne znaju što rade. Nepodudarnost podataka, mrtvi podaci, prazna polja koja ne bi smjela biti prazna – sve je to i puno više moguće. MongoDB je u osnovi “glupa” pohrana podataka, a ako ga odaberete, aplikacijski kôd mora preuzeti puno odgovornosti za održavanje integriteta podataka.

Ako ste programer, onda ćete pronaći ovo korisno.

RethinkDB

Kako mu i ime govori, RethinkDB “Preispituje” ideju i mogućnosti baze podataka kada je riječ o aplikacijama u stvarnom vremenu.

Kada se baza podataka ažurira, aplikacija ne može znati. Prihvaćeni pristup je da aplikacija aktivira obavijest čim dođe do ažuriranja koje će se pomoću složenog mosta prebaciti na prednji kraj (PHP -> Redis -> Čvor -> Socket.io je jedan primjer).

Ali što ako ažuriranja možete gurnuti izravno iz baze podataka na prednji dio?!

Da, to je obećanje RethinkDB-a. Ako želite napraviti istinsku aplikaciju u stvarnom vremenu (igra, tržište, analitika itd.), Rethink DB je vrijedan pregleda.

Redis

Kad je riječ o bazama podataka, gotovo je previše lako zanemariti postojanje Redis. To je zato što je Redis baza podataka u memoriji i uglavnom se koristi u funkcijama podrške poput predmemoriranja.

Učenje ove baze podataka je posao u deset minuta (doslovno!), a to je jednostavna trgovina ključeva i vrijednosti koja pohranjuje žice s istekom vremena (što naravno može biti postavljeno u beskonačnost). Redis gubi u značajkama koje nadoknađuje u korisnosti i performansama. Budući da u potpunosti živi u RAM-u, čitanje i pisanje su nevjerojatno brzi (nekoliko stotina tisuća operacija u sekundi se ne čuju).

Redis također ima sofisticiran pub-podsustav, što ovu “bazu podataka” čini dvostruko atraktivnijom.

Drugim riječima, ako imate projekt koji bi mogao imati koristi od predmemoriranja ili ima neke distribuirane komponente, Redis je prvi izbor.

SQLite

Da, obećao sam da smo završili s relacijskim bazama podataka, ali SQLite previše je sladak da bi ga zanemarili.

SQLite je lagana C knjižnica koja je osigurala mehanizam za pohranu relacijskih baza podataka. Sve u ovoj bazi podataka živi u jednoj datoteci (sa ekstenzijom .sqlite) koju možete staviti bilo gdje u vašem datotečnom sustavu. I to je sve što vam treba da biste je koristili! Da, nema “poslužiteljskog” softvera za instaliranje i nijednu uslugu za povezivanje.

Korisne značajke

Iako je SQLite lagana alternativa bazama poput MySQL-a, ona ima veliku šansu. Neke od njegovih šokantnih značajki su:

  • Potpuna podrška za transakcije s COMMIT, ROLLBACK i BEGIN.
  • Podrška za 32.000 stupaca po stolu
  • JSON podrška
  • 64-smjer PRIDRUŽITE se podršci
  • Podupiti, pretraživanje u cijelom tekstu itd.
  • Maksimalna veličina baze podataka od 140 terabajta!
  • Maksimalna veličina retka od 1 gigabajta!
  • 35% brži od I / O datoteke

Kada koristiti SQLite

SQLite je iznimno specijalizirana baza podataka koja se fokusira na ne-gluposti, gluposti. Ako je vaša aplikacija relativno jednostavna i ne želite gnjaviti punomodraženu bazu podataka, SQLite je ozbiljan kandidat. To ima poseban smisao za male i srednje velike CMS-ove i demo aplikacije.

Kada ne koristiti SQLite

Iako je impresivno, SQLite ne pokriva sve značajke standardnog SQL-a ili vašeg omiljenog motora baze podataka. Klasteriranje, pohranjeni postupci i proširenja skriptiranja nedostaju. Isto tako, ne postoji klijent koji bi mogao povezati, upitati i istražiti bazu podataka. Konačno, kako veličina aplikacije raste, performanse će se smanjivati.

Cassandra

Dok mnogi izjavljuju da je za Javu kraj, kraj vremena povremeno zajednica baca bombu i ušutka kritičare. Cassandra jedan je takav primjer.

Cassandra pripada onoj koja je poznata kao “stupac” obitelj baza podataka. Skladište skladišta u Cassandri je stupac, a ne niz. Ideja ovdje je pohraniti sve podatke u stupcu fizički zajedno na disk, minimizirajući vrijeme traženja.

Jedinstvene značajke

Cassandra je dizajniran s obzirom na poseban slučaj upotrebe – baveći se velikim opterećenjima i nultu toleranciju za stanke. Oni postaju njegova jedinstvena prodajna mjesta.

  • Izuzetno brza izvedba pisanja. Cassandra je vjerojatno najbrža baza podataka kad se radi s velikim teretom pisanja.
  • Linearna skalabilnost. To jest, možete nastaviti dodavati onoliko čvorova klasteru i doći će do nultog povećanja složenosti ili krhkosti klastera..
  • Nenadmašna tolerancija na particije. To jest, čak i ako se više čvorova u klasteru Cassandra smanji, baza podataka je dizajnirana tako da nastavi raditi bez gubitka integriteta.
  • Statično tipkanje

Kada koristiti Cassandra

Sječa i analiza su dva najbolja slučaja za upotrebu Cassandra. Ali to nije sve – sladak trenutak je kada trebate obraditi stvarno velike veličine podataka (Apple ima Cassandra implementaciju koja obrađuje 400+ petabajta podataka, dok Netflix dnevno obrađuje 1 trilijuna zahtjeva) s doslovno nulama zastoja. Visoka dostupnost jedno je od obilježja Cassandra.

Kada ne koristiti Cassandra

Shema skladištenja u kasi Cassandra također ima svoje nedostatke. Model podataka je prilično ravan, a ako su vam potrebne agregacije, Cassandra propada. Štoviše, postiže visoku dostupnost žrtvujući dosljednost (sjetite se teoreme CAP za distribuirane sustave), što je čini manje prikladnom za sustave u kojima je potrebna velika preciznost čitanja.

Vremenska skala

Nova zbivanja zahtijevaju nove vrste baza podataka, a Internet of Things (IoT) jedna je od takvih pojava. Jedna od najboljih baza podataka otvorenog koda za to je Vremenska skala.

Vremenski raspon vrsta je naziva baze podataka “vremenski niz”. To se razlikuje od tradicionalne baze podataka u to vrijeme je glavna osi, a analitika i vizualizacija ogromnih podataka je najvažniji prioritet. U bazama vremenskih serija rijetko se vidi promjena postojećih podataka; primjer su očitanja temperature koja šalje senzor u stakleniku – novi se podaci stalno skupljaju svake sekunde, što je od interesa za analitiku i izvještavanje.

Zašto onda ne upotrebljavate samo tradicionalnu bazu podataka s poljem vremenske oznake? Postoje dva glavna razloga za to:

  • Baze podataka opće namjene nisu optimizirane za rad s vremenski utemeljenim podacima. Za iste količine podataka baza podataka opće namjene bit će mnogo sporija.
  • Baza podataka treba obraditi ogromne količine podataka jer novi podaci stalno ulaze i uklanjaju podatke ili mijenjaju shemu; kasnije, to nije opcija.

Jedinstvene značajke

Vremenski DB DB ima neke uzbudljive značajke koje ga izdvajaju od ostalih baza podataka u istoj kategoriji:

  • Izgrađen je na PostgreSQL, vjerojatno najbolja open source relacijska baza podataka vani. Ako vaš projekt već pokreće PostgreSQL, vremenski okvir će se umetnuti pravo.
  • Upiti se provode kroz poznatu SQL sintaksu, smanjujući krivulju učenja.
  • Očekivano velike brzine pisanja – milioni umetka u sekundi se ne čuju.
  • Milijardi redaka ili petabajta podataka – to nije velika stvar za Timescale.
  • Istinska fleksibilnost sa shemom – birajte među relacijskim ili bez shema prema vašim potrebama.

Nema smisla razgovarati o tome kada trebate koristiti ili ne koristiti DBM Timescale. Ako je IoT vaša domena ili imate slične karakteristike baze podataka, Timescale vrijedi pogledati.

CouchDB

CouchDB je uredno malo rješenje baze podataka koje mirno sjedi u kutu i ima malo, ali posvećeno praćenje. Stvorena je za rješavanje problema gubitka mreže i eventualnog rješavanja podataka, što se čini problemom toliko neurednim da bi programeri umjesto toga zamijenili posao nego se bavili tim..

U osnovi, CouchDB klaster možete smatrati distribuiranom zbirkom velikih i malih čvorova, od kojih se očekuje da su izvan mreže. Čim čvor dođe na mrežu, on vraća podatke natrag u klaster, koji se polako i pažljivo probavlja, s vremenom postajući dostupni cijelom klasteru.

Jedinstvene značajke

CouchDB je nešto od jedinstvene pasmine kada je u pitanju baza podataka.

  • Izvanmrežne mogućnosti sinkronizacije podataka
  • Specijalizirane verzije za mobilne i web-preglednike (PouchDB, CouchDB Lite, itd.)
  • Pouzdanost, otporna na sudare
  • Jednostavno grupiranje s suvišnim pohranom podataka

Kada koristiti CouchDB

CouchDB je izgrađen za offline toleranciju i u tom pogledu ostaje bez premca. Tipičan slučaj upotrebe su mobilne aplikacije u kojima dio vaših podataka nalazi se na CouchDB instanci na korisnikovom telefonu (jer je tamo generiran). Uzbudljivo je što se ne možete pouzdati u to da će korisnički uređaj stalno biti spojen, što znači da baza podataka mora biti oportunistička i spremna za kasnije rješavanje konfliktnih ažuriranja. To se postiže impresivnim Protokol replike kauča.

Kada ne koristiti CouchDB

Pokušaj upotrebe CouchDB-a izvan predviđenog slučaja upotrebe dovest će do katastrofe. Koristi mnogo više prostora za pohranu nego bilo što drugo vani, jednostavno zato što treba održavati suvišne kopije podataka i rezultate rješavanja sukoba. Kao rezultat toga, brzine pisanja su također bolno sporo. Konačno, CouchDB nije prikladan kao motor sheme opće namjene, jer se ne igra dobro s promjenama sheme..

Zaključak

Morao sam izostaviti mnogo zanimljivih kandidata poput Riaka, tako da ovaj popis treba uzeti kao vodič, a ne kao zapovijed. Nadam se da sam ovim člankom uspio postići svoj cilj – predstaviti ne samo zbirku preporuka baze podataka, već i kratko raspraviti gdje i kako ih treba koristiti (i izbjegavati!).

Ako vas zanima kako naučiti bazu podataka, pogledajte Udemy za neke sjajne internetske tečajeve.

OZNAKE:

  • Baza podataka

  • Otvoreni izvor

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