Database Dhizaini Yakakosha - Kuenzanisa PostgreSQL, Cassandra, uye MongoDB

Mhoro shamwari. Tisati taenda kuchikamu chechipiri chezororo raChivabvu, tinogovana nemi zvinyorwa zvatakashandura tichitarisira kutangwa kwerukova rutsva pachikoro. "Relational DBMS".

Database Dhizaini Yakakosha - Kuenzanisa PostgreSQL, Cassandra, uye MongoDB

Vagadziri vezvishandiso vanopedza nguva yakawanda vachienzanisa akawanda ekushandisa dhatabhesi kuti vasarudze iyo inonyatsoenderana nebasa rakatarisirwa. Zvinodiwa zvinogona kusanganisira kurerutsa data modelling, transactional guarantees, kuverenga/kunyora kuita, horizontal scaling, uye kukanganisa kushivirira. Sechivanhu, sarudzo inotanga nechikamu chedhatabhesi, SQL kana NoSQL, sezvo chikamu chega chega chinopa seti yakajeka yekutengeserana-offs. Kushanda kwepamusoro maererano ne low latency uye kukwirira kwepamusoro kunowanzoonekwa sechinhu chisingaiti chekutengesa uye naizvozvo chakakosha kune chero sampuli database.

Chinangwa chechinyorwa chino ndechekubatsira vanogadzira maapplication kuita sarudzo chaiyo pakati peSQL neNoSQL mumamiriro ekushandisa data modelling. Tichatarisa pane imwe SQL dhatabhesi, inoti PostgreSQL, uye maviri NoSQL dhatabhesi, Cassandra neMongoDB, kuvhara izvo zvekutanga zvedhizaini dhizaini, sekugadzira matafura, kuaisa, kuverenga data kubva patafura, uye kuidzima. Muchinyorwa chinotevera, isu tichave nechokwadi chekutarisa indexes, transactions, JOINs, TTL dhairekitori, uye JSON-based database dhizaini.

Ndeupi musiyano uripo pakati peSQL neNoSQL?

SQL dhatabhesi inowedzera kuchinjika kwekushandisa kuburikidza neACID transactional garanti, pamwe nekugona kwavo kubvunza data vachishandisa maJOIN nenzira dzisingatarisirwe pamusoro peiyo iripo yakajairwa relational database modhi.

Tichipihwa yavo monolithic/single-node architecture uye kushandiswa kwe master-slave replication model for redundancy, zvechinyakare SQL dhatabhesi inoshaya maviri akakosha maficha - linear kunyora scalability (kureva otomatiki partitioning munzvimbo dzakawanda) uye otomatiki / zero kurasikirwa kwedata. Izvi zvinoreva kuti huwandu hwe data yakagamuchirwa haigoni kudarika huwandu hwekunyora kwekunyora kwenode imwe chete. Uye zvakare, kumwe kurasikirwa kwe data kwenguva pfupi kunofanirwa kuverengerwa mukutadza kushivirira (mune yakagovaniswa-hapana chivakwa chekuvaka). Pano iwe unofanirwa kuyeuka kuti zvichangobva kuitwa hazvisati zvaratidzwa mukopi yevaranda. Non-downtime updates zvakare yakaoma kuwana muSQL dhatabhesi.

NoSQL dhatabhesi anowanzo kugovaniswa nemasikirwo, i.e. mavari, data rakakamurwa kuita zvikamu uye rakagovaniswa munzvimbo dzakawanda. Vanoda denormalization. Izvi zvinoreva kuti data rakaiswa rinofanirwawo kukopwa kakawanda kuti upindure kune chaiwo zvikumbiro zvaunotumira. Chinangwa chakazara ndechekuwana kuita kwepamusoro nekudzikisa huwandu hwemashadhi anowanikwa panguva yekuverenga. Izvi zvinoreva kuti NoSQL inoda kuti uenzanise mibvunzo yako, nepo SQL ichida kuti uenzanise data rako.

NoSQL inotarisa pakuwana kuita kwepamusoro musumbu rakagoverwa uye ichi ndicho chikonzero chevakawanda dhizaini dhizaini yekutengesa iyo inosanganisira ACID transaction kurasikirwa, JOINs, uye inowirirana yepasirese yechipiri indexes.

Pane gakava rekuti nepo NoSQL dhatabhesi inopa mutsara kunyora scalability uye yakanyanya kukanganisa kushivirira, kurasikirwa kwezvivimbiso zvekutengeserana kunoita kuti dzisakodzere dhata-yakakosha data.

Tafura inotevera inoratidza kuti data modelling muNoSQL inosiyana sei neSQL.

Database Dhizaini Yakakosha - Kuenzanisa PostgreSQL, Cassandra, uye MongoDB

SQL uye NoSQL: Nei zvese zvichidikanwa?

Zvishandiso zvepasi rese zvine nhamba huru yevashandisi, seAmazon.com, Netflix, Uber, uye Airbnb, vane basa rekuita mabasa akaomarara, ane mativi mazhinji. Semuenzaniso, e-commerce application senge Amazon.com inoda kuchengetedza yakareruka, yakakwirira-yakakosha data senge ruzivo rwemushandisi, zvigadzirwa, maodha, mainvoice, pamwe neinorema, isinganyanyi kunzwisiswa data senge ongororo yechigadzirwa, mameseji ekutsigira, chiitiko chemushandisi, ongororo yevashandisi uye kurudziro. Sezvingatarisirwa, izvi zvikumbiro zvinotsamira pane imwechete SQL dhatabhesi pamwe neinokwana imwe NoSQL dhatabhesi. Muchinjika-regional uye yepasi rose masisitimu, dhatabhesi reNoSQL rinoshanda segeo-yakagoverwa cache yedata rakachengetwa mune yakavimbika sosi SQL dhatabhesi inomhanya munharaunda imwe chete.

YugaByte DB inosanganisa sei SQL neNoSQL?

Yakavakirwa pane yelogi-yakatarisana yakasanganiswa yekuchengetera injini, auto-sharding, sharded yakagovaniswa kubvumirana kudzokororwa uye ACID yakagoverwa transaction (yakafuridzirwa neGoogle Spanner), YugaByte DB ndiyo yekutanga yakavhurika sosi dhatabhesi pasi rose inoenderana panguva imwe chete neNoSQL (Cassandra & Redis) uye SQL (PostgreSQL). Sezvinoratidzwa patafura iri pazasi, YCQL, iyo YugaByte DB API inoenderana neCassandra, inowedzera pfungwa dzeimwe uye yakawanda-kiyi ACID transaction uye epasi rose yechipiri indexes kuNoSQL API, nekudaro ichipinza munguva yekutengeserana NoSQL dhatabhesi. Pamusoro pezvo, YCQL, iyo YugaByte DB API inoenderana nePostgreSQL, inowedzera pfungwa dzemutsara wekunyora kuyera uye otomatiki kukanganisa kushivirira kuSQL API, ichiunza yakagoverwa SQL dhatabhesi kupasi. Nekuti YugaByte DB iri transactional muzvisikwa, iyo NoSQL API inogona kushandiswa mumamiriro eiyo mission-yakakosha data.

Database Dhizaini Yakakosha - Kuenzanisa PostgreSQL, Cassandra, uye MongoDB

Sezvambotaurwa munyaya yacho "Kusuma YSQL: A PostgreSQL Inoenderana Yakaparadzirwa SQL API yeYugaByte DB", sarudzo pakati peSQL kana NoSQL muYugaByte DB inotsamira zvachose pahunhu hwebasa riri pasi pebasa:

  • Kana basa rako rekutanga riri ma-multi-kiyi JOIN mashandiro, saka kana uchisarudza YSQL, nzwisisa kuti makiyi ako anogona kugovaniswa munzvimbo dzakawanda, zvichikonzera latency yepamusoro uye/kana kuderera kwekupinda kupfuura NoSQL.
  • Zvikasadaro, sarudza chero maviri eNoSQL APIs, uchifunga kuti iwe unowana kuita zvirinani semhedzisiro yemibvunzo inopihwa kubva kune imwe node panguva. YugaByte DB inogona kushanda sedhatabhesi rekushandisa renyika chaiyo, yakaoma maapplication inoda kubata akawanda mabasa panguva imwe chete.

Iyo Data modelling lab muchikamu chinotevera yakavakirwa paPostgreSQL uye Cassandra API inoenderana neYugaByte DB dhatabhesi, kupesana nemadhatabhesi ekuzvarwa. Iyi nzira inosimbisa kusununguka kwekubatana nema API maviri akasiyana (pazviteshi zviviri zvakasiyana) zveboka rimwe chete re database, kusiyana nekushandisa zvikwata zvakasununguka zvakakwana zvezvinyorwa zviviri zvakasiyana.
Muzvikamu zvinotevera, isu tichatarisa kune data modelling lab kuratidza mutsauko uye zvimwe zvezvakajairwa zvedhatabhesi zvakafukidzwa.

Data Modelling Laboratory

Database installation

Tichifunga nezve kusimbiswa kwedhizaini yedhizaini (panzvimbo peakaomesesa ekuisa zvivakwa), isu tichaisa dhatabhesi mumidziyo yeDocker pamushini wemuno tobva tapindirana navo tichishandisa mitsara yavo yekuraira.

PostgreSQL & Cassandra inoenderana neYugaByte DB dhatabhesi

mkdir ~/yugabyte && cd ~/yugabyte
wget https://downloads.yugabyte.com/yb-docker-ctl && chmod +x yb-docker-ctl
docker pull yugabytedb/yugabyte
./yb-docker-ctl create --enable_postgres

MongoDB

docker run --name my-mongo -d mongo:latest

Raira mutsara kuwana

Ngatibatanei kune dhatabhesi tichishandisa mutsara wemirairo shell yeanoenderana APIs.

PostgreSQL

psql is a command line shell yekudyidzana nePostgreSQL. Kuti zvive nyore kushandisa, YugaByte DB inouya ne psql mubhini folda.

docker exec -it yb-postgres-n1 /home/yugabyte/postgres/bin/psql -p 5433 -U postgres

Cassandra

cqlsh is a command line shell yekudyidzana neCassandra uye dhatabhesi rayo rinoenderana kuburikidza neCQL (Cassandra Query Mutauro). Kuti zvive nyore kushandisa, YugaByte DB inouya nayo cqlsh mubhuku bin.
Ziva kuti CQL yakafuridzirwa neSQL uye ine pfungwa dzakafanana dzematafura, mitsara, makoramu uye indexes. Nekudaro, semutauro weNoSQL, inowedzera imwe seti yezvipimo, mazhinji acho isu tichavharawo mune zvimwe zvinyorwa.

docker exec -it yb-tserver-n1 /home/yugabyte/bin/cqlsh

MongoDB

mongo is a command line shell yekudyidzana neMongoDB. Inogona kuwanikwa mubhini dhairekitori yekumisikidzwa kweMongoDB.

docker exec -it my-mongo bash 
cd bin
mongo

Kugadzira tafura

Iye zvino tinogona kupindirana nedhatabhesi kuita mashandiro akasiyana siyana tichishandisa mutsara wekuraira. Ngatitange nekugadzira tafura inochengeta ruzivo rwenziyo dzakanyorwa nevanyori vakasiyana. Nziyo idzi dzinogona kunge dziri chikamu chealbum. Zvakare maitiro akasarudzika erwiyo igore rekuburitswa, mutengo, rudzi uye kuyerwa. Isu tinofanirwa kuzvidavirira kune humwe hunhu hungazodikanwa mune ramangwana kuburikidza ne "tags" ndima. Inogona kuchengeta semi-yakaumbwa data muchimiro chekiyi-kukosha mapeya.

PostgreSQL

CREATE TABLE Music (
    Artist VARCHAR(20) NOT NULL, 
    SongTitle VARCHAR(30) NOT NULL,
    AlbumTitle VARCHAR(25),
    Year INT,
    Price FLOAT,
    Genre VARCHAR(10),
    CriticRating FLOAT,
    Tags TEXT,
    PRIMARY KEY(Artist, SongTitle)
);	

Cassandra

Kugadzira tafura muCassandra kwakafanana nePostgreSQL. Mumwe wemisiyano mikuru ndeyekushaikwa kwezvirambidzo zvekuvimbika (semuenzaniso NOT NULL), asi iri ibasa rekushandisa, kwete iyo NoSQL dhatabhesi.. Kiyi yekutanga ine kiyi yekuparadzanisa (iyo Artist column mumuenzaniso pazasi) uye seti yemakoramu ekubatanidza (iyo SongTitle column mumuenzaniso uri pazasi). Kiyi yekuparadzanisa inosarudza kuti ndeipi chikamu / shard mutsara unofanirwa kuiswa mukati, uye makoramu ekubatanidza anoratidza kuti data rinofanira kurongeka sei mukati meiyo shard yazvino.

CREATE KEYSPACE myapp;
USE myapp;
CREATE TABLE Music (
    Artist TEXT, 
    SongTitle TEXT,
    AlbumTitle TEXT,
    Year INT,
    Price FLOAT,
    Genre TEXT,
    CriticRating FLOAT,
    Tags TEXT,
    PRIMARY KEY(Artist, SongTitle)
);

MongoDB

MongoDB inoronga data kuita dhatabhesi (Database) (yakafanana neKeyspace muCassandra), uko kune Maunganidzwa (akafanana nematafura) ane Zvinyorwa (zvakafanana nemitsara mutafura). MuMongoDB, hapana chikonzero chekutsanangura yekutanga schema. Team "shandisa database", inoratidzwa pazasi, inosimbisa dhatabhesi pane yekutanga kufona uye inoshandura mamiriro eiyo ichangobva kugadzirwa database. Kunyangwe kuunganidzwa hakudi kugadzirwa zvakajeka; ivo vanogadzirwa otomatiki, kana iwe uchinge wawedzera gwaro rekutanga muunganidzwa mutsva. Ziva kuti MongoDB inoshandisa dhatabhesi yekuyedza nekukasira, saka chero basa rekuunganidza-level pasina kutsanangura dhatabhesi chaiyo inomhanya pairi nekukasira.

use myNewDatabase;

Kuwana ruzivo nezve tafura
PostgreSQL

d Music
Table "public.music"
    Column    |         Type          | Collation | Nullable | Default 
--------------+-----------------------+-----------+----------+--------
 artist       | character varying(20) |           | not null | 
 songtitle    | character varying(30) |           | not null | 
 albumtitle   | character varying(25) |           |          | 
 year         | integer               |           |          | 
 price        | double precision      |           |          | 
 genre        | character varying(10) |           |          | 
 criticrating | double precision      |           |          | 
 tags         | text                  |           |          | 
Indexes:
    "music_pkey" PRIMARY KEY, btree (artist, songtitle)

Cassandra

DESCRIBE TABLE MUSIC;
CREATE TABLE myapp.music (
    artist text,
    songtitle text,
    albumtitle text,
    year int,
    price float,
    genre text,
    tags text,
    PRIMARY KEY (artist, songtitle)
) WITH CLUSTERING ORDER BY (songtitle ASC)
    AND default_time_to_live = 0
    AND transactions = {'enabled': 'false'};

MongoDB

use myNewDatabase;
show collections;

Kupinza data mutafura
PostgreSQL

INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Year, Price, Genre, CriticRating, 
    Tags)
VALUES(
    'No One You Know', 'Call Me Today', 'Somewhat Famous',
    2015, 2.14, 'Country', 7.8,
    '{"Composers": ["Smith", "Jones", "Davis"],"LengthInSeconds": 214}'
);
INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Price, Genre, CriticRating)
VALUES(
    'No One You Know', 'My Dog Spot', 'Hey Now',
    1.98, 'Country', 8.4
);
INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Price, Genre)
VALUES(
    'The Acme Band', 'Look Out, World', 'The Buck Starts Here',
    0.99, 'Rock'
);
INSERT INTO Music 
    (Artist, SongTitle, AlbumTitle, 
    Price, Genre, 
    Tags)
VALUES(
    'The Acme Band', 'Still In Love', 'The Buck Starts Here',
    2.47, 'Rock', 
    '{"radioStationsPlaying": ["KHCR", "KBQX", "WTNR", "WJJH"], "tourDates": { "Seattle": "20150625", "Cleveland": "20150630"}, "rotation": Heavy}'
);

Cassandra

Kutaura kwese INSERT muCassandra inotaridzika zvakafanana neiyo muPostgreSQL. Nekudaro, pane musiyano mukuru musemantics. MuCassandra INSERT kuvhiya chaiko UPSERT, uko hunhu hwekupedzisira hunowedzerwa kumutsara kana mutsara watovepo.

Kupinda kwedata kwakafanana nePostgreSQL INSERT yepamusorosoro

.

MongoDB

Kunyangwe MongoDB iri dhatabhesi reNoSQL seCassandra, kushanda kwayo kwekuisa hakuna chinhu chakafanana nehunhu hwesemantic hweCassandra. MuMongoDB isa () haana mikana UPSERT, izvo zvinoita kuti ive yakafanana nePostgreSQL. Kuwedzera default data pasina _idspecified ichaita kuti gwaro idzva riwedzerwe kuunganidzwa.

db.music.insert( {
artist: "No One You Know",
songTitle: "Call Me Today",
albumTitle: "Somewhat Famous",
year: 2015,
price: 2.14,
genre: "Country",
tags: {
Composers: ["Smith", "Jones", "Davis"],
LengthInSeconds: 214
}
}
);
db.music.insert( {
artist: "No One You Know",
songTitle: "My Dog Spot",
albumTitle: "Hey Now",
price: 1.98,
genre: "Country",
criticRating: 8.4
}
);
db.music.insert( {
artist: "The Acme Band",
songTitle: "Look Out, World",
albumTitle:"The Buck Starts Here",
price: 0.99,
genre: "Rock"
}
);
db.music.insert( {
artist: "The Acme Band",
songTitle: "Still In Love",
albumTitle:"The Buck Starts Here",
price: 2.47,
genre: "Rock",
tags: {
radioStationsPlaying:["KHCR", "KBQX", "WTNR", "WJJH"],
tourDates: {
Seattle: "20150625",
Cleveland: "20150630"
},
rotation: "Heavy"
}
}
);

Tafura Mubvunzo

Zvichida musiyano wakanyanya kukosha pakati peSQL neNoSQL maererano nekuvakwa kwemubvunzo ndiwo mutauro unoshandiswa FROM ΠΈ WHERE. SQL inobvumira mushure mekutaura FROM sarudza matafura akawanda, uye kutaura ne WHERE inogona kuve yechero yakaoma (kusanganisira mashandiro JOIN pakati pematafura). Nekudaro, NoSQL inoda kuisa muganho wakakomba pa FROM, uye shanda chete netafura imwe yakatarwa, uye mukati WHERE, kiyi yekutanga inofanira kugara ichitsanangurwa. Izvi zvinosungirirana neNoSQL performance push yatakataura nezvayo kare. Ichi chishuwo chinotungamira kune yega yega inogona kudzikiswa mune chero muchinjiko-tabular uye muchinjiko-kiyi kupindirana. Inogona kuunza kunonoka kukuru mukukurukurirana kwe-inter-node kana ichipindura chikumbiro uye saka inodzivirirwa zvakanyanya. Semuenzaniso, Cassandra inoda kuti mibvunzo igumirwe kune vamwe vashandisi (chete =, IN, <, >, =>, <=) pamakiyi ekuparadzanisa, kunze kwekunge uchikumbira yechipiri index (chete = mushandisi anotenderwa pano).

PostgreSQL

Pazasi pane mienzaniso mitatu yemibvunzo inogona kuitwa nyore neSQL database.

  • Ratidza nziyo dzese nemuimbi;
  • Ratidza nziyo dzese dzemuimbi dzinoenderana nechikamu chekutanga chezita;
  • Ratidza nziyo dzese nemuimbi ane rimwe izwi mumusoro uye ane mutengo uri pasi pe1.00.
SELECT * FROM Music
WHERE Artist='No One You Know';
SELECT * FROM Music
WHERE Artist='No One You Know' AND SongTitle LIKE 'Call%';
SELECT * FROM Music
WHERE Artist='No One You Know' AND SongTitle LIKE '%Today%'
AND Price > 1.00;

Cassandra

Pamibvunzo yePostgreSQL yakanyorwa pamusoro, yekutanga chete ndiyo inoshanda isina kuchinjwa muCassandra, sezvo mushandisi. LIKE haigone kushandiswa kumakoramu ekuunganidza akadai SongTitle. Muchiitiko ichi, vashandi chete vanobvumirwa = ΠΈ IN.

SELECT * FROM Music
WHERE Artist='No One You Know';
SELECT * FROM Music
WHERE Artist='No One You Know' AND SongTitle IN ('Call Me Today', 'My Dog Spot')
AND Price > 1.00;

MongoDB

Sezvinoratidzwa mumienzaniso yapfuura, nzira huru yekugadzira mibvunzo muMongoDB ndeye db.collection.find(). Iyi nzira ine pachena zita remuunganidzwa (music mumuenzaniso uri pazasi), saka kubvunza kuunganidzwa kwakawanda kunorambidzwa.

db.music.find( {
  artist: "No One You Know"
 } 
);
db.music.find( {
  artist: "No One You Know",
  songTitle: /Call/
 } 
);

Kuverenga mitsetse yese yetafura

Kuverenga mitsetse yese ingori nyaya yakakosha yemuenzaniso webvunzo watakambotarisa pakutanga.

PostgreSQL

SELECT * 
FROM Music;

Cassandra

Zvakafanana neiyo PostgreSQL muenzaniso pamusoro.

MongoDB

db.music.find( {} );

Kugadzirisa data mutafura

PostgreSQL

PostgreSQL inopa mirairo UPDATE kuchinja data. Haana mikana UPSERT, saka chirevo ichi chichakundikana kana mutsara usisiri mu database.

UPDATE Music
SET Genre = 'Disco'
WHERE Artist = 'The Acme Band' AND SongTitle = 'Still In Love';

Cassandra

Cassandra ane UPDATE zvakafanana nePostgreSQL. UPDATE ine semantics yakafanana UPSERT, zvakafanana INSERT.

Zvakafanana neiyo PostgreSQL muenzaniso pamusoro.

MongoDB
Kushanda gadziridza () muMongoDB inogona kugadzirisa zvachose gwaro riripo kana kugadzirisa mamwe minda chete. Nekumisikidza, inongogadzirisa gwaro rimwe chete rine semantics yakaremara UPSERT. Kuvandudza magwaro akawanda uye maitiro akafanana UPSERT inogona kushandiswa nekuisa mamwe mareza ekushanda. Semuenzaniso, mumuenzaniso uri pasi apa, rudzi rweimwe nyanzvi inovandudzwa zvichienderana nerwiyo rwake.

db.music.update(
  {"artist": "The Acme Band"},
  { 
    $set: {
      "genre": "Disco"
    }
  },
  {"multi": true, "upsert": true}
);

Kubvisa data kubva patafura

PostgreSQL

DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';

Cassandra

Zvakafanana neiyo PostgreSQL muenzaniso pamusoro.

MongoDB

MongoDB ine marudzi maviri emashandiro ekudzima magwaro - deleteOne() /deleteMany() ΠΈ Bvisa(). Marudzi ese ari maviri anodzima magwaro asi anodzosera zvakasiyana.

db.music.deleteMany( {
        artist: "The Acme Band"
    }
);

Kudzima tafura

PostgreSQL

DROP TABLE Music;

Cassandra

Zvakafanana neiyo PostgreSQL muenzaniso pamusoro.

MongoDB

db.music.drop();

mhedziso

Gakava rekusarudza pakati peSQL neNoSQL rave richipisa kwemakore anopfuura gumi. Pane zvinhu zviviri zvakakosha zvegakava iri: dhatabhesi injini yekuvaka (monolithic, transactional SQL vs yakagoverwa, isiri-transactional NoSQL) uye dhizaini dhizaini nzira (kuenzanisira data rako muSQL vs kuenzanisira mibvunzo yako muNoSQL).

Iine yakagoverwa transaction dhatabhesi seYugaByte DB, gakava pamusoro pedhizaini rekuvaka rinogona kuiswa nyore nyore. Sezvo mavhoriyamu edata achikura kupfuura izvo zvinogona kunyorwa kune imwechete node, chivakwa chakaparadzirwa zvizere chinotsigira mutsara wekunyora scalability neatomatiki sharding / kuenzanisa zvakare inove yakakosha.

Kunze kwezvo, sezvakataurwa mune chimwe chezvinyorwa Google Cloud,Transactional, zvivakwa zvakasimba zvinopindirana zvave kuwanda, zvinoshandiswa kupa zvirinani budiriro agility pane isiri-transactional,, inozopedzisira yafanana zvivakwa.

Kudzoka kuhurukuro yekugadzira dhatabhesi, zvine musoro kutaura kuti nzira dzese dzekugadzira (SQL neNoSQL) dzinodikanwa kune chero yakaoma-chaiyo-yepasirese application. Iyo SQL "data modeling" nzira inobvumira vanogadzira kuti vasangane nyore nyore nekuchinja kwebhizinesi zvinodiwa, nepo NoSQL "query modeling" nzira inobvumira vagadziri vakafanana kuti vashande pamavhoriyamu makuru edata ine yakaderera latency uye yakakwirira throughput. Ndicho chikonzero nei YugaByte DB inopa SQL uye NoSQL APIs mune yakajairwa musimboti, pane kusimudzira imwe yenzira. Pamusoro pezvo, nekupa kuenderana nemitauro yakakurumbira yedhatabhesi inosanganisira PostgreSQL neCassandra, YugaByte DB inova nechokwadi chekuti vanogadzira havafanirwe kudzidza mumwe mutauro kushanda neinjini yakagoverwa, inowirirana zvakanyanya.

Muchikamu chino, takatarisa kuti dhizaini yedhizaini inosiyana sei pakati pePostgreSQL, Cassandra, uye MongoDB. Muzvinyorwa zvichauya, tichanyura mune zvemhando yepamusoro dhizaini senge indexes, transactions, JOINs, TTL dhairekitori, uye JSON zvinyorwa.

Tinokushuvirai zororo rakanaka rekupera kwesvondo uye tinokukokai webinar yemahara, izvo zvichaitika musi wa14 Chivabvu.

Source: www.habr.com

Voeg