Lintlha tsa Moralo oa Database - Ho bapisa PostgreSQL, Cassandra, le MongoDB

Lumelang, metsoalle. Pele re ea karolong ea bobeli ea matsatsi a phomolo a Mots'eanong, re arolelana le uena litaba tseo re li fetoletseng ka tebello ea ho qalisoa ha molapo o mocha thupelong. "Relational DBMS".

Lintlha tsa Moralo oa Database - Ho bapisa PostgreSQL, Cassandra, le MongoDB

Basebelisi ba likopo ba qeta nako e ngata ba bapisa li-database tse ngata tsa ts'ebetso ho khetha e lumellanang hantle le mosebetsi o reriloeng. Litlhoko li ka kenyelletsa mohlala o nolofalitsoeng oa data, tiisetso ea transaction, ts'ebetso ea ho bala/ho ngola, ho sekala ho ea holimo, le ho mamella liphoso. Ka tloaelo, khetho e qala ka sehlopha sa database, SQL kapa NoSQL, kaha sehlopha ka seng se fana ka sete e hlakileng ea khoebo. Ts'ebetso e phahameng ho latela latency e tlase le phallo e phahameng ka kakaretso e bonoa e le tlhokahalo e sa rekoang 'me ka hona e bohlokoa bakeng sa sampole efe kapa efe ea database.

Morero oa sengoloa sena ke ho thusa baetsi ba lits'ebetso ho etsa khetho e nepahetseng lipakeng tsa SQL le NoSQL maemong a mohlala oa data ea ts'ebeliso. Re tla sheba database e le 'ngoe ea SQL, e leng PostgreSQL, le li-database tse peli tsa NoSQL, Cassandra le MongoDB, ho akaretsa lintlha tsa motheo tsa moralo oa database, joalo ka ho theha litafole, ho li kenya ka bongata, ho bala data tafoleng, le ho e hlakola. Sengoliloeng se latelang, re tla etsa bonnete ba hore re sheba li-index, transactions, JOINs, litaelo tsa TTL, le moralo oa database o thehiloeng ho JSON.

Phapano ke efe lipakeng tsa SQL le NoSQL?

Li-database tsa SQL li eketsa ho feto-fetoha ha ts'ebeliso ka litiisetso tsa ACID tsa transaction, hammoho le bokhoni ba bona ba ho botsa data ba sebelisa JOIN ka mekhoa e sa lebelloang holim'a mefuta e teng e tloaelehileng ea database ea likamano.

Ka lebaka la meralo ea bona ea monolithic/node e le 'ngoe le tšebeliso ea mohlala oa ho pheta-pheta ha makhoba bakeng sa boqhetseke, li-database tsa setso tsa SQL ha li na likarolo tse peli tsa bohlokoa - linear write scalability (ke hore, ho arola ka mokhoa o iketsang ho pholletsa le li-node tse ngata) le tahlehelo ea data ea othomathike / zero. Sena se bolela hore palo ea data e fumanoeng e ke ke ea feta palo e kholo ea ho ngola ea node e le 'ngoe. Ho phaella moo, tahlehelo e 'ngoe ea nakoana ea data e tlameha ho nkoa ka ho mamella liphoso (ka mohaho o arolelanoeng o se nang letho). Mona o hloka ho hopola hore boitlamo ba morao-rao ha bo so bontšoe kopi ea lekhoba. Lintlafatso tse sa sebetseng nako le tsona li thata ho li fihlela ho database tsa SQL.

Li-database tsa NoSQL hangata li ajoa ka tlhaho, ke hore. ho tsona, data e arotsoe ka likarolo ebe e ajoa ho pholletsa le li-node tse 'maloa. Ba hloka denormalization. Sena se bolela hore data e kentsoeng le eona e tlameha ho kopitsoa makhetlo a 'maloa ho arabela likopo tse ikhethileng tseo u li romellang. Sepheo sa kakaretso ke ho fumana ts'ebetso e phahameng ka ho fokotsa palo ea li-shards tse fumanehang nakong ea ho bala. Sena se bolela hore NoSQL e hloka hore u etse mohlala oa lipotso tsa hau, ha SQL e hloka hore u etse mohlala oa data ea hau.

NoSQL e tsepamisitse maikutlo ho fihlelleng ts'ebetso e phahameng ka har'a sehlopha se ajoang mme ona ke lebaka la motheo bakeng sa tradeoffs tse ngata tsa meralo ea database tse kenyelletsang tahlehelo ea transaction ea ACID, JOIN, le li-index tsa bobeli tse sa fetoheng tsa lefats'e.

Ho na le khang ea hore leha li-database tsa NoSQL li fana ka scalability e hlakileng le mamello e phahameng ea liphoso, tahlehelo ea litiisetso tsa transaction e etsa hore e se tšoanelehe bakeng sa data ea bohlokoahali.

Tafole e latelang e bonts'a hore na mohlala oa data ho NoSQL o fapana joang le SQL.

Lintlha tsa Moralo oa Database - Ho bapisa PostgreSQL, Cassandra, le MongoDB

SQL le NoSQL: Hobaneng li hlokahala ka bobeli?

Lisebelisoa tsa 'nete tsa lefats'e tse nang le basebelisi ba bangata, joalo ka Amazon.com, Netflix, Uber, le Airbnb, li filoe mosebetsi oa ho etsa mesebetsi e rarahaneng, e nang le likarolo tse ngata. Mohlala, sesebelisoa sa e-commerce joalo ka Amazon.com se hloka ho boloka lintlha tse bobebe, tse bohlokoa haholo joalo ka tlhaiso-leseling ea mosebelisi, lihlahisoa, liodara, li-invoice, hammoho le lintlha tse boima, tse bobebe joalo ka maikutlo a sehlahisoa, melaetsa ea tšehetso , ts'ebetso ea mosebelisi, maikutlo a basebelisi le likhothaletso. Ka tlhaho, lits'ebetso tsena li itšetleha ka bonyane database e le 'ngoe ea SQL hammoho le bonyane database e le 'ngoe ea NoSQL. Litsamaisong tsa libaka tse fapaneng le tsa lefats'e, database ea NoSQL e sebetsa joalo ka sebaka sa polokelo ea libaka bakeng sa data e bolokiloeng mohloling o tšepahalang oa SQL database o sebetsang sebakeng se itseng.

YugaByte DB e kopanya SQL le NoSQL joang?

E hahiloe holim'a enjene ea polokelo e kopantsoeng ea marang-rang, ho sharding, ho pheta-pheta ha tumellano e arolelanoang le ACID e ajoang (e bululetsoeng ke Google Spanner), YugaByte DB ke mohloli oa pele oa lefats'e oa mohloli oa boitsebiso o bulehileng o lumellanang le NoSQL (Cassandra & Redis ) le SQL (PostgreSQL). Joalo ka ha ho bonts'itsoe lethathamong le ka tlase, YCQL, YugaByte DB API e tsamaisanang le Cassandra, e eketsa mehopolo ea li-transaction tsa ACID tse le 'ngoe le tse ngata tsa bohlokoa le li-index tsa bobeli tsa lefats'e ho NoSQL API, ka hona e kenya letsoho mehleng ea li-database tsa NoSQL tsa transaction. Ntle le moo, YCQL, YugaByte DB API e tsamaellanang le PostgreSQL, e eketsa mehopolo ea ho lekanya ho ngola mela le ho mamella liphoso ka boits'oaro ho SQL API, e tlisang li-database tsa SQL lefatšeng ka bophara. Hobane YugaByte DB e sebetsa ka tlhaho, NoSQL API e se e ka sebelisoa maemong a data ea bohlokoa haholo.

Lintlha tsa Moralo oa Database - Ho bapisa PostgreSQL, Cassandra, le MongoDB

Joalokaha ho boletsoe pejana sehloohong sena "Ho hlahisa YSQL: PostgreSQL Compatible Distributed SQL API bakeng sa YugaByte DB", khetho pakeng tsa SQL kapa NoSQL ho YugaByte DB e itšetlehile ka ho feletseng ka litšobotsi tsa mosebetsi o ka tlaase:

  • Haeba mosebetsi oa hau oa mantlha e le ts'ebetso ea JOIN ea linotlolo tse ngata, joale ha u khetha YSQL, utloisisa hore linotlolo tsa hau li ka ajoa ho pholletsa le li-node tse ngata, e leng se bakang latency e phahameng le / kapa ho feta ho feta NoSQL.
  • Ho seng joalo, khetha e 'ngoe ea li-API tsa NoSQL tse peli, u ntse u hopola hore u tla fumana ts'ebetso e ntlafetseng ka lebaka la lipotso tse fanoang ho tloha sebakeng se le seng ka nako. YugaByte DB e ka sebetsa e le database e le 'ngoe ea ts'ebetso bakeng sa lisebelisoa tsa sebele tsa lefats'e, tse rarahaneng tse hlokang ho laola mesebetsi e mengata ka nako e le' ngoe.

Lab ea data modelling karolong e latelang e thehiloe ho PostgreSQL le Cassandra API e tsamaellanang le li-database tsa YugaByte DB, ho fapana le li-database tsa matsoalloa. Mokhoa ona o totobatsa boiketlo ba ho sebelisana le li-API tse peli tse fapaneng (likoung tse peli tse fapaneng) tsa sehlopha se le seng sa database, ho fapana le ho sebelisa lihlopha tse ikemetseng ka ho feletseng tsa li-database tse peli tse fapaneng.
Likarolong tse latelang, re tla sheba lab ea data modelling ho bonts'a liphapang le tse ling tsa lintho tse tloaelehileng tsa database tse koahetsoeng.

Data Modeling Laboratory

Ho kenya database

Ka lebaka la khatello ea moralo oa mohlala oa data (ho fapana le meralo e rarahaneng ea phepelo), re tla kenya li-database ka har'a li-container tsa Docker mochining oa lehae ebe re sebelisana le tsona re sebelisa likhetla tsa mela ea taelo.

PostgreSQL & Cassandra e tsamaellana le YugaByte DB database

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

Ho fihlella mola oa taelo

Ha re ikopanye le li-database re sebelisa khetla ea mola oa taelo bakeng sa li-API tse tsamaellanang.

PostgreSQL

psql ke khetla ea taelo ea ho sebelisana le PostgreSQL. Bakeng sa tšebeliso e bonolo, YugaByte DB e tla le psql hantle ka har'a foldara ea bin.

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

Cassandra

cqlsh ke khetla ea taelo ea ho sebelisana le Cassandra le li-database tsa eona tse lumellanang ka CQL (Cassandra Query Language). Bakeng sa tšebeliso e bonolo, YugaByte DB e tla le cqlsh lenaneng bin.
Hlokomela hore CQL e bululetsoe ke SQL 'me e na le likhopolo tse tšoanang tsa litafole, mela, mela le li-index. Leha ho le joalo, joalo ka puo ea NoSQL, e eketsa mefokolo e itseng, eo boholo ba eona re tla e akaretsa le lingoliloeng tse ling.

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

MongoDB

Mongo ke khetla ea taelo ea ho sebelisana le MongoDB. E ka fumanoa bukeng ea bin ea ho kenya MongoDB.

docker exec -it my-mongo bash 
cd bin
mongo

Ho theha tafole

Joale re ka sebelisana le database ho etsa ts'ebetso e fapaneng re sebelisa mohala oa taelo. A re qaleng ka ho theha tafole e bolokang tlhahisoleseding e mabapi le lipina tse ngotsoeng ke litsebi tse fapaneng. Lipina tsena e kanna ea ba karolo ea albamo. Hape, litšoaneleho tsa boikhethelo tsa pina ke selemo sa tokollo, theko, mofuta le lintlha. Re hloka ho ikarabella bakeng sa litšobotsi tse ling tse ka 'nang tsa hlokahala nakong e tlang ka "tag" tšimo. E ka boloka data e hlophisitsoeng hantle ka mokhoa oa lipara tsa bohlokoa.

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

Ho theha tafole Cassandra ho tšoana haholo le PostgreSQL. E 'ngoe ea liphapang tse kholo ke khaello ea litšitiso tsa botšepehi (mohlala, NOT NULL), empa ona ke boikarabello ba ts'ebeliso, eseng database ea NoSQL.. Senotlolo sa mantlha se na le senotlolo sa karohano (kholomo ea Moetsi mohlaleng o ka tlase) le sehlopha sa likholomo tse kopanyang (kholomo ea SongTitle mohlaleng o ka tlase). Senotlolo sa karohano se etsa qeto ea hore na mola o lokela ho kenngoa hokae, 'me likholomo tsa lihlopha li bontša hore na data e lokela ho hlophisoa joang ka har'a shard ea hona joale.

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 e hlophisa lintlha ho li-database (Database) (tse tšoanang le Keyspace ho Cassandra), moo ho nang le Li-Collections (tse tšoanang le litafole) tse nang le Litokomane (tse tšoanang le mela e tafoleng). Ho MongoDB, ha e le hantle ha ho na tlhoko ea ho hlalosa schema ea pele. Sehlopha "sebelisa database", e bontšitsoeng ka tlase, e tiisa polokelo ea boitsebiso ha e letsetsoa pele 'me e fetola moelelo oa sebaka sa polokelo ea boitsebiso bo bocha. Esita le likoleke ha li hloke ho etsoa ka mokhoa o hlakileng; li bōptjoa ka mokhoa o ikemetseng, ha feela u kenya tokomane ea pele pokellong e ncha. Hlokomela hore MongoDB e sebelisa database ea liteko ka boiketsetso, kahoo ts'ebetso efe kapa efe ea boemo ba pokello ntle le ho hlakisa database e itseng e tla sebetsa ho eona ka boiketsetso.

use myNewDatabase;

Ho fumana lintlha ka tafole
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;

Ho kenya data tafoleng
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

Polelo ka kakaretso INSERT ho Cassandra e shebahala e ts'oana haholo le ea PostgreSQL. Leha ho le joalo, ho na le phapang e le 'ngoe e kholo ea semantics. Ho Cassandra INSERT ehlile ke opereishene UPSERT, moo litekanyetso tsa ho qetela li eketsoang moleng haeba mola o se o ntse o le teng.

Ho kenya data ho tšoana le PostgreSQL INSERT phahameng

.

MongoDB

Leha MongoDB e le database ea NoSQL joalo ka Cassandra, ts'ebetso ea eona ea ho kenya ha e amane letho le boitšoaro ba Cassandra. Ka MongoDB kenya () ha e na menyetla UPSERT, e etsang hore e tšoane le PostgreSQL. Ho kenya data ea kamehla ntle le _idspecified e tla etsa hore tokomane e ncha e kenngoe pokellong.

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"
}
}
);

Potso ea Lethathamo

Mohlomong phapang e kholo lipakeng tsa SQL le NoSQL mabapi le kaho ea lipotso ke puo e sebelisitsoeng FROM и WHERE. SQL e lumella ka mor'a polelo FROM khetha litafole tse ngata, le polelo ka WHERE e ka ba ea mathata afe kapa afe (ho kenyeletsoa ts'ebetso JOIN pakeng tsa litafole). Leha ho le joalo, NoSQL e tloaetse ho beha meeli e matla ho FROM, 'me u sebetse feela ka tafole e le' ngoe e boletsoeng, le ho WHERE, senotlolo sa mantlha se tlameha ho boleloa kamehla. Sena se hokahana le ts'ebetso ea NoSQL eo re buileng ka eona pejana. Takatso ena e lebisa phokotsong e 'ngoe le e' ngoe e ka khonehang ho sebelisana leha e le efe ea cross-tabular le cross-key. E ka hlahisa tieho e kholo ea puisano ea li-inter-node ha e arabela kopo 'me ka hona e molemo ho qojoa ka kakaretso. Mohlala, Cassandra e hloka hore lipotso li lekanyetsoe ho basebelisi ba itseng (feela =, IN, <, >, =>, <=) ho linotlolo tsa karohano, ntle le ha o kopa index ea bobeli (ke = opareitara feela e lumelletsoeng mona).

PostgreSQL

Ka tlase ke mehlala e meraro ea lipotso tse ka etsoang habonolo ke database ea SQL.

  • Bontša lipina tsohle tsa sebini;
  • Bontša lipina tsohle tsa sebini tse tsamaellanang le karolo ea pele ea sehlooho;
  • Hlahisa lipina tsohle tsa sebini se nang le lentsoe le itseng sehloohong se nang le theko e ka tlase ho 1.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

Har'a lipotso tsa PostgreSQL tse thathamisitsoeng ka holimo, ke ea pele feela e tla sebetsa e sa fetohe ho Cassandra, kaha opareitara LIKE e ke ke ea sebelisoa ho litšiea tse kopanyang joalo ka SongTitle. Tabeng ena, ke basebelisi feela ba lumelloang = и 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

Joalokaha ho bontšitsoe mehlaleng e fetileng, mokhoa oa mantlha oa ho theha lipotso ho MongoDB ke db.collection.find(). Mokhoa ona o na le lebitso la pokello ka ho hlaka (music mohlaleng o ka tlase), kahoo ho botsisisa likoleke tse ngata ho thibetsoe.

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

Ho bala mela yohle ya tafole

Ho bala mela eohle ke mohlala o ikhethileng oa mokhoa oa lipotso oo re o boneng pejana.

PostgreSQL

SELECT * 
FROM Music;

Cassandra

E ts'oanang le mohlala oa PostgreSQL ka holimo.

MongoDB

db.music.find( {} );

Ho hlophisa lintlha ka har'a tafole

PostgreSQL

PostgreSQL e fana ka litaelo UPDATE ho fetola data. Ha a na menyetla UPSERT, kahoo polelo ena e tla hlōleha haeba mola o se o le sieo ho database.

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

Cassandra

Cassandra o na le eona UPDATE e tšoanang le PostgreSQL. UPDATE e na le mantsoe a tšoanang UPSERT, e tšoanang INSERT.

E ts'oanang le mohlala oa PostgreSQL ka holimo.

MongoDB
Ts'ebetso ntjhafatso () ho MongoDB e ka nchafatsa tokomane e teng ka botlalo kapa ea ntlafatsa likarolo tse itseng feela. Ka kamehla, e nchafatsa tokomane e le 'ngoe feela e nang le semantics e holofalitsoeng UPSERT. Ho nchafatsa litokomane tse ngata le boitšoaro bo tšoanang UPSERT e ka sebelisoa ka ho beha lifolakha tse eketsehileng bakeng sa ts'ebetso. Mohlala, mohlaleng o ka tlase, mofuta oa sebini se itseng o ntlafatsoa ho latela pina ea hae.

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

Ho tlosa data tafoleng

PostgreSQL

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

Cassandra

E ts'oanang le mohlala oa PostgreSQL ka holimo.

MongoDB

MongoDB e na le mefuta e 'meli ea ts'ebetso ea ho hlakola litokomane - deleteOne() /deleteMany() и tlosa (). Mefuta ka bobeli e hlakola litokomane empa e khutlisa liphetho tse fapaneng.

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

Ho phumula tafole

PostgreSQL

DROP TABLE Music;

Cassandra

E ts'oanang le mohlala oa PostgreSQL ka holimo.

MongoDB

db.music.drop();

fihlela qeto e

Phehisano mabapi le ho khetha pakeng tsa SQL le NoSQL e se e le lilemo tse fetang 10. Ho na le lintlha tse peli tsa mantlha phehisanong ena: meralo ea enjine ea database (monolithic, transaction SQL vs distributed, non-transactional NoSQL) le mokhoa oa moralo oa database (ho etsa mohlala oa data ea hau ho SQL vs ho etsa mohlala oa lipotso tsa hau ho NoSQL).

Ka sebaka sa polokelo ea litaba se ajoang joalo ka YugaByte DB, ngangisano mabapi le meralo ea database e ka khutsuoa habonolo. Ha lipalo tsa data li ntse li le kholo ho feta tse ka ngolloang node e le 'ngoe, ho hlokahala hore ho be le moralo o ajoang ka botlalo o tšehetsang mokhoa oa ho ngola oa linear ka sharding / rebalancing ea othomathike.

Ntle ho moo, joalokaha ho boletsoe ho e 'ngoe ea lihlooho Google Cloud, Transactional, meralo e tsitsitseng e matla e se e le ngata, e sebelisetsoa ho fana ka matla a ntlafatso a betere ho feta meaho e sa fetoheng, e qetellang e tsitsitse.

Ha re khutlela puisanong ea meralo ea database, ho nepahetse ho bolela hore mekhoa e 'meli ea meralo (SQL le NoSQL) ea hlokahala bakeng sa ts'ebeliso efe kapa efe e rarahaneng ea lefatše la nnete. Mokhoa oa "data modeling" oa SQL o lumella bahlahisi hore ba fihlelle litlhoko tse fetohang tsa khoebo habonolo, athe mokhoa oa "query modeling" oa NoSQL o lumella baetsi ba tšoanang ho sebetsa ka bongata bo boholo ba data ka latency e tlase le phallo e phahameng. Ke ka lebaka lena YugaByte DB e fanang ka SQL le NoSQL APIs ka mokhoa o tloaelehileng, ho e-na le ho khothaletsa e 'ngoe ea mekhoa. Ntle le moo, ka ho fana ka tšebelisano 'moho le lipuo tse tsebahalang tsa database ho kenyeletsoa PostgreSQL le Cassandra, YugaByte DB e netefatsa hore bahlahisi ha ba tlameha ho ithuta puo e' ngoe ho sebetsa le enjine ea database e phatlalalitsoeng, e tsitsitseng haholo.

Sehloohong sena, re shebile hore na metheo ea meralo ea database e fapana joang pakeng tsa PostgreSQL, Cassandra, le MongoDB. Lingoliloeng tse tlang, re tla ikakhela ka setotsoana mehopolong ea meralo e tsoetseng pele joalo ka li-index, transactions, JOINs, litaelo tsa TTL, le litokomane tsa JSON.

Re u lakaletsa mafelo-beke a monate 'me re u memela ho mahala webinar, e tla etsahala ka la 14 Motšeanong.

Source: www.habr.com

Eketsa ka tlhaloso