Zoyambira Zopangira Ma Database - Poyerekeza PostgreSQL, Cassandra ndi MongoDB

Moni, abwenzi. Tisananyamuke ku gawo lachiwiri la tchuthi cha Meyi, tikugawana nanu zomwe tidamasulira poyembekezera kukhazikitsidwa kwa mtsinje watsopano pamaphunzirowa. "Relational DBMS".

Zoyambira Zopangira Ma Database - Poyerekeza PostgreSQL, Cassandra ndi MongoDB

Opanga mapulogalamu amathera nthawi yochuluka kufananiza nkhokwe zingapo zogwirira ntchito kuti asankhe zomwe zimagwirizana bwino ndi ntchito yomwe akufuna. Zofunikira zingaphatikizepo kutengera mawonekedwe a data osavuta, zitsimikizo zakusinthana, momwe mungawerenge/kulemba, kukweza mopingasa, ndi kulolera zolakwika. Mwachikhalidwe, kusankha kumayamba ndi gulu la database, SQL kapena NoSQL, popeza gulu lililonse limapereka zotsatsa zomveka bwino. Kuchita bwino kwambiri potengera kutsika kwapang'onopang'ono komanso kutulutsa kwapamwamba nthawi zambiri kumawonedwa ngati chinthu chosagulitsa malonda ndipo motero ndikofunikira pazitsanzo zilizonse.

Cholinga cha nkhaniyi ndikuthandizira opanga mapulogalamu kuti apange chisankho choyenera pakati pa SQL ndi NoSQL potengera chitsanzo cha data. Tiwonanso nkhokwe imodzi ya SQL, yomwe ndi PostgreSQL, ndi ma database awiri a NoSQL, Cassandra ndi MongoDB, kuti tifotokoze zoyambira pamapangidwe a database, monga kupanga matebulo, kuwadzaza, kuwerenga zambiri patebulo, ndikuchotsa. M'nkhani yotsatira, tidzatsimikiza kuyang'ana ma index, zochitika, JOINs, malangizo a TTL, ndi mapangidwe a database a JSON.

Kodi pali kusiyana kotani pakati pa SQL ndi NoSQL?

Ma database a SQL amawonjezera kusinthika kwa ntchito kudzera mu chitsimikizo cha ACID, komanso kuthekera kwawo kufunsa deta pogwiritsa ntchito ma JOIN m'njira zosayembekezereka pamwamba pamitundu yomwe ilipo kale yogwirizana.

Chifukwa cha mapangidwe awo a monolithic / single-node komanso kugwiritsa ntchito njira yobwerezabwereza ya kapolo kuti abwezeretsedwe, nkhokwe zachikhalidwe za SQL zilibe zinthu ziwiri zofunika - scalability yolemba mzere (mwachitsanzo, kugawanitsa ma node angapo) ndi kutayika kwa deta / zero. Izi zikutanthauza kuti kuchuluka kwa deta yomwe yalandilidwa sikungathe kupitirira kuchuluka kwa kulemba kwa node imodzi. Kuphatikiza apo, kutayika kwa data kwakanthawi kuyenera kuganiziridwa pakulekerera zolakwika (muzomangamanga zogawana). Apa muyenera kukumbukira kuti zomwe zachitika posachedwa sizinawonekere mu buku la akapolo. Zosintha zosagwirizana ndi nthawi zimakhalanso zovuta kukwaniritsa mu SQL database.

Ma database a NoSQL nthawi zambiri amagawidwa mwachilengedwe, mwachitsanzo. mwa iwo, deta imagawidwa m'magawo ndikugawidwa m'malo angapo. Iwo amafuna denormalization. Izi zikutanthauza kuti data yomwe yalowetsedwa iyeneranso kukopera kangapo kuti muyankhe pempho lomwe mwatumiza. Cholinga chonse ndikupeza ntchito zapamwamba mwa kuchepetsa chiwerengero cha shards chomwe chilipo panthawi yowerengera. Izi zikutanthauza kuti NoSQL ikufuna kuti muyesere mafunso anu, pomwe SQL ikufuna kuti muwonetsere deta yanu.

NoSQL imayang'ana kwambiri pakuchita bwino kwambiri pagulu logawidwa ndipo ichi ndiye maziko azinthu zambiri zamapangidwe a database zomwe zimaphatikizapo kutayika kwa ACID, ma JOIN, ndi ma index achiwiri osasinthika apadziko lonse lapansi.

Pali mtsutso wakuti ngakhale ma database a NoSQL amapereka scalability yolembera komanso kulolerana kwakukulu, kutayika kwa zitsimikizo zamalonda kumawapangitsa kukhala osayenera kwa deta yofunika kwambiri.

Gome lotsatirali likuwonetsa momwe kutengera deta mu NoSQL kumasiyana ndi SQL.

Zoyambira Zopangira Ma Database - Poyerekeza PostgreSQL, Cassandra ndi MongoDB

SQL ndi NoSQL: Chifukwa chiyani zonsezi ndizofunikira?

Mapulogalamu enieni padziko lapansi omwe ali ndi ogwiritsa ntchito ambiri, monga Amazon.com, Netflix, Uber, ndi Airbnb, ali ndi ntchito yogwira ntchito zovuta, zamitundumitundu. Mwachitsanzo, pulogalamu ya e-commerce ngati Amazon.com ikuyenera kusunga data yopepuka, yofunikira kwambiri monga zambiri za ogwiritsa ntchito, malonda, maoda, ma invoice, limodzi ndi data yolemetsa, yosakhudzidwa kwambiri monga kuwunika kwazinthu, mauthenga othandizira , zochita za ogwiritsa ntchito, ndemanga za ogwiritsa ntchito ndi malingaliro. Mwachilengedwe, mapulogalamuwa amadalira nkhokwe imodzi ya SQL limodzi ndi database imodzi ya NoSQL. M'madera osiyanasiyana komanso padziko lonse lapansi, database ya NoSQL imagwira ntchito ngati cache yogawidwa ndi geo ya deta yosungidwa mu database yodalirika ya SQL yomwe ikuyenda kudera linalake.

Kodi YugaByte DB imaphatikiza bwanji SQL ndi NoSQL?

Yomangidwa pa injini yosungiramo zinthu zosakanikirana ndi log, kugawanitsa, kugawanika kugawanika kofanana ndi kugawidwa kwa ACID (kuuziridwa ndi Google Spanner), YugaByte DB ndiye malo oyambirira otsegulira gwero lachinsinsi padziko lonse lapansi lomwe limagwirizana nthawi imodzi ndi NoSQL (Cassandra & Redis ) ndi SQL (PostgreSQL). Monga momwe tawonetsera pa tebulo ili m'munsimu, YCQL, YugaByte DB API yogwirizana ndi Cassandra, imawonjezera malingaliro a zochitika za ACID imodzi ndi mafungulo ambiri ndi ma index achiwiri apadziko lonse ku NoSQL API, potero ikuyambitsa nthawi ya NoSQL databases. Kuphatikiza apo, YCQL, YugaByte DB API yogwirizana ndi PostgreSQL, imawonjezera malingaliro owerengera mizere yolembera komanso kulolerana ndi zolakwika zokha ku SQL API, kubweretsa nkhokwe za SQL zogawidwa padziko lonse lapansi. Chifukwa YugaByte DB ndizochitika mwachilengedwe, API ya NoSQL tsopano itha kugwiritsidwa ntchito potengera deta yofunika kwambiri.

Zoyambira Zopangira Ma Database - Poyerekeza PostgreSQL, Cassandra ndi MongoDB

Monga tanenera kale m’nkhaniyo "Kuyambitsa YSQL: API ya PostgreSQL Yogwirizana Yogawidwa ya SQL ya YugaByte DB", kusankha pakati pa SQL kapena NoSQL ku YugaByte DB kumadalira kwambiri momwe ntchito ikugwirira ntchito:

  • Ngati ntchito yanu yayikulu ndi makiyi ambiri JOIN, ndiye posankha YSQL, mvetsetsani kuti makiyi anu amatha kugawidwa m'malo angapo, zomwe zimapangitsa kuti pakhale kuchedwa kwambiri komanso / kapena kutsika kwambiri kuposa NoSQL.
  • Kupanda kutero, sankhani ma API awiri a NoSQL, kukumbukira kuti muchita bwino chifukwa cha mafunso omwe amaperekedwa kuchokera ku node imodzi panthawi. YugaByte DB ikhoza kukhala ngati nkhokwe imodzi yogwiritsira ntchito zenizeni zenizeni, zovuta zomwe zimafunikira kuyang'anira ntchito zingapo nthawi imodzi.

Labu ya Data modelling mu gawo lotsatira lakhazikitsidwa pa PostgreSQL ndi Cassandra API yogwirizana ndi YugaByte DB databases, mosiyana ndi nkhokwe zakwawo. Njirayi ikugogomezera kumasuka kwa kuyanjana ndi ma API awiri osiyana (pa madoko awiri osiyana) a gulu la database lomwelo, mosiyana ndi kugwiritsa ntchito magulu odziimira okhaokha azinthu ziwiri zosiyana.
M'magawo otsatirawa, tiwona labu yowonetsera deta kuti tiwonetse kusiyana ndi zina zomwe zimafanana ndizomwe zasungidwa.

Data Modeling Laboratory

Kuyika kwa database

Poganizira kutsindika kwa mapangidwe amtundu wa data (m'malo motengera zomangira zovuta), tidzayika nkhokwe muzotengera za Docker pamakina akomweko ndikulumikizana nawo pogwiritsa ntchito zipolopolo zawo zamalamulo.

PostgreSQL & Cassandra yogwirizana ndi 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

Kufikira mzere wolamula

Tiyeni tilumikizane ndi nkhokwe pogwiritsa ntchito chipolopolo cha mzere wama API ofanana.

PostgreSQL

psql ndi chipolopolo cha mzere wolamula cholumikizirana ndi PostgreSQL. Kuti mugwiritse ntchito mosavuta, YugaByte DB imabwera ndi psql mufoda ya bin.

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

Cassandra

cqlsh ndi chipolopolo cha mzere wolamula kuti mulumikizane ndi Cassandra ndi nkhokwe zake zogwirizana ndi CQL (Cassandra Query Language). Kuti mugwiritse ntchito mosavuta, YugaByte DB imabwera ndi cqlsh mu katalogu bin.
Dziwani kuti CQL idauziridwa ndi SQL ndipo ili ndi malingaliro ofanana a matebulo, mizere, mizati ndi ma index. Komabe, monga chilankhulo cha NoSQL, chimawonjezera malire ena, ambiri omwe tidzakambirananso m'nkhani zina.

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

MongoDB

Mongo ndi chipolopolo cha mzere wolamula cholumikizirana ndi MongoDB. Itha kupezeka mu bukhu la bin la kukhazikitsa kwa MongoDB.

docker exec -it my-mongo bash 
cd bin
mongo

Pangani tebulo

Tsopano titha kulumikizana ndi database kuti tichite ntchito zosiyanasiyana pogwiritsa ntchito mzere wolamula. Tiyeni tiyambe ndi kupanga tebulo lomwe limasunga zambiri za nyimbo zolembedwa ndi ojambula osiyanasiyana. Nyimbozi zikhoza kukhala mbali ya chimbale. Komanso zomwe mungasankhe pa nyimbo ndi chaka chotulutsidwa, mtengo, mtundu ndi mavoti. Tiyenera kuwerengera zina zomwe zingafunike mtsogolomo kudzera mugawo la "ma tag". Ikhoza kusunga deta yopangidwa ndi theka-monga ngati mawiri awiri amtengo wapatali.

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

Kupanga tebulo ku Cassandra ndikofanana kwambiri ndi PostgreSQL. Chimodzi mwazosiyana kwambiri ndi kusowa kwa zopinga za kukhulupirika (mwachitsanzo, OSATI NULL), koma uwu ndi udindo wa ntchitoyo, osati nkhokwe ya NoSQL.. Kiyi yoyambirira imakhala ndi kiyi yogawa (mzere wa Artist pachitsanzo pansipa) ndi magulu ophatikizika (gawo la SongTitle pachitsanzo pansipa). Kiyi yogawa imatsimikizira kuti ndi gawo liti/gawo lomwe mzerewo uyenera kuyikidwamo, ndipo mizati yophatikizira imawonetsa momwe deta iyenera kulinganizidwira mkati mwa shard yomwe ilipo.

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 imakonza ma data kukhala nkhokwe (Database) (zofanana ndi Keyspace ku Cassandra), komwe kuli Zosonkhanitsa (zofanana ndi matebulo) zomwe zimakhala ndi Zolemba (zofanana ndi mizere patebulo). Ku MongoDB, palibe chifukwa chofotokozera schema yoyamba. Gulu "gwiritsani ntchito database", yosonyezedwa pansipa, imakhazikitsa malo osungira anthu pa kuyitana koyamba ndikusintha zomwe zili mu database yomwe yangopangidwa kumene. Ngakhale zosonkhanitsira sizifunika kupangidwa momveka bwino; zimangopangidwa zokha, mukangowonjezera chikalata choyambirira pagulu latsopano. Zindikirani kuti MongoDB imagwiritsa ntchito nkhokwe yoyeserera mwachisawawa, kotero ntchito iliyonse yosonkhanitsira popanda kufotokoza dawunilodi inayake idzayendetsedwa mokhazikika.

use myNewDatabase;

Kupeza zambiri za tebulo
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;

Kulowetsa deta mu tebulo
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

Kufotokozera konse INSERT ku Cassandra ikuwoneka mofanana kwambiri ndi PostgreSQL. Komabe, pali kusiyana kumodzi kwakukulu mu semantics. Ku Cassandra INSERT kwenikweni ndi opareshoni UPSERT, pomwe zomaliza zimawonjezedwa pamzere ngati mzere ulipo kale.

Kulowa kwa data ndikufanana ndi PostgreSQL INSERT apamwamba

.

MongoDB

Ngakhale MongoDB ndi nkhokwe ya NoSQL ngati Cassandra, kuyika kwake sikufanana konse ndi machitidwe a Cassandra. Mu MongoDB ikani () alibe mwayi UPSERT, zomwe zimapangitsa kuti zikhale zofanana ndi PostgreSQL. Kuwonjezera deta yosasinthika popanda _idspecified zidzapangitsa kuti chikalata chatsopano chiwonjezedwe pagulu.

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

Table Funso

Mwina kusiyana kwakukulu pakati pa SQL ndi NoSQL pakupanga kwamafunso ndi chilankhulo chomwe chimagwiritsidwa ntchito FROM ΠΈ WHERE. SQL imalola pambuyo kufotokoza FROM kusankha angapo matebulo, ndi mawu ndi WHERE zitha kukhala zovuta zilizonse (kuphatikiza ntchito JOIN pakati pa matebulo). Komabe, NoSQL imakonda kukhazikitsa malire FROM, ndikugwira ntchito ndi tebulo limodzi lodziwika, ndi mkati WHERE, kiyi yoyamba iyenera kutchulidwa nthawi zonse. Izi zimalumikizana ndikukankhira kwa NoSQL komwe tidakambirana kale. Chilakolako ichi chimapangitsa kuti pakhale kuchepetsedwa kulikonse komwe kungatheke pakulumikizana kwamitundu yonse komanso makiyi. Itha kuyambitsa kuchedwa kwakukulu kwa kulumikizana pakati pa ma node poyankha pempho ndipo chifukwa chake ndibwino kupewedwa nthawi zonse. Mwachitsanzo, Cassandra imafuna kuti mafunso azingoperekedwa kwa ogwiritsa ntchito ena (okha =, IN, <, >, =>, <=) pa makiyi ogawa, pokhapokha mutapempha index yachiwiri (yokhayo = woyendetsa amaloledwa apa).

PostgreSQL

Pansipa pali zitsanzo zitatu zamafunso zomwe zitha kuchitidwa mosavuta ndi database ya SQL.

  • Onetsani nyimbo zonse za wojambula;
  • Onetsani nyimbo zonse za wojambula zomwe zikufanana ndi gawo loyamba la mutu;
  • Onetsani nyimbo zonse za wojambula yemwe ali ndi mawu enaake pamutu wake ndipo mtengo wake ndi wochepera 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

Pamafunso a PostgreSQL omwe atchulidwa pamwambapa, oyamba okha ndi omwe angagwire ntchito osasinthika ku Cassandra, popeza LIKE sichingagwiritsidwe ntchito pamagulu ophatikizana monga SongTitle. Pankhaniyi, ogwira ntchito okha ndi omwe amaloledwa = ΠΈ 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

Monga tawonetsera m'zitsanzo zam'mbuyomu, njira yayikulu yopangira mafunso ku MongoDB ndi db.collection.find(). Njira iyi ili ndi dzina lazosonkhanitsa (music m'chitsanzo chomwe chili pansipa), kotero kufunsa zosonkhanitsidwa zingapo ndikoletsedwa.

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

Kuwerenga mizere yonse ya tebulo

Kuwerenga mizere yonse ndi nkhani yapadera yamafunso omwe tidawona kale.

PostgreSQL

SELECT * 
FROM Music;

Cassandra

Zofanana ndi chitsanzo cha PostgreSQL pamwambapa.

MongoDB

db.music.find( {} );

Kusintha deta mu tebulo

PostgreSQL

PostgreSQL imapereka malangizo UPDATE kusintha deta. Alibe mwayi UPSERT, kotero mawuwa adzalephera ngati mzere sulinso mu database.

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

Cassandra

Cassandra ali UPDATE zofanana ndi PostgreSQL. UPDATE ali ndi semantics yofanana UPSERT, zofanana INSERT.

Zofanana ndi chitsanzo cha PostgreSQL pamwambapa.

MongoDB
Ntchito kusintha () mu MongoDB ikhoza kusinthiratu chikalata chomwe chilipo kapena kusintha magawo ena okha. Mwachikhazikitso, imangosintha chikalata chimodzi chokhala ndi semantics yoyimitsidwa UPSERT. Kusintha zolemba zingapo ndi machitidwe ofanana UPSERT angagwiritsidwe ntchito poika mbendera zina ntchito. Mwachitsanzo, mu chitsanzo chomwe chili pansipa, mtundu wa wojambula wina umasinthidwa kutengera nyimbo yake.

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

Kuchotsa deta patebulo

PostgreSQL

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

Cassandra

Zofanana ndi chitsanzo cha PostgreSQL pamwambapa.

MongoDB

MongoDB ili ndi mitundu iwiri ya ntchito zochotsa zikalata - deleteOne() /deleteMany() ΠΈ chotsa (). Mitundu yonse iwiri imachotsa zolemba koma kubweza zotsatira zosiyana.

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

Kuchotsa tebulo

PostgreSQL

DROP TABLE Music;

Cassandra

Zofanana ndi chitsanzo cha PostgreSQL pamwambapa.

MongoDB

db.music.drop();

Pomaliza

Mtsutso wokhudza kusankha pakati pa SQL ndi NoSQL wakhala ukupitirira zaka 10. Pali zinthu ziwiri zazikulu pamtsutsowu: kamangidwe ka injini ya database (monolithic, transaction SQL vs kugawa, NoSQL yosagwirizana) ndi njira yopangira database (kutengera deta yanu mu SQL vs kutengera mafunso anu mu NoSQL).

Ndi database yogawidwa yogawidwa ngati YugaByte DB, mkangano wokhudza kamangidwe ka database ukhoza kuthetsedwa mosavuta. Pamene kuchuluka kwa deta kumakulirakulira kuposa zomwe zingalembedwe ku node imodzi, zomangamanga zogawidwa zomwe zimathandizira scalability yolemba mzere ndi sharding / rebalancing yokha imakhala yofunikira.

Komanso, monga tafotokozera m'nkhani ina Google CloudZomangamanga, Zomangamanga, zosagwirizana kwambiri tsopano zachuluka, zomwe zimagwiritsidwa ntchito popereka luso lachitukuko kuposa kusapangana,, zomanga zokhazikika.

Kubwereranso ku zokambirana zamapangidwe a database, ndizoyenera kunena kuti njira zonse zamapangidwe (SQL ndi NoSQL) ndizofunikira pakugwiritsa ntchito kulikonse padziko lapansi. Njira ya SQL "deta modeling" imalola omanga kuti akwaniritse zosowa za bizinesi mosavuta, pamene njira ya NoSQL "query modeling" imalola omanga omwewo kuti azigwira ntchito pamagulu akuluakulu a deta ndi kutsika kochepa komanso kutulutsa kwakukulu. Ndichifukwa chake YugaByte DB imapereka SQL ndi NoSQL APIs pachimake chofanana, m'malo molimbikitsa njira imodzi. Kuphatikiza apo, popereka kuyanjana ndi zilankhulo zodziwika bwino za database kuphatikiza PostgreSQL ndi Cassandra, YugaByte DB imawonetsetsa kuti opanga sayenera kuphunzira chilankhulo china kuti agwire ntchito ndi injini yogawa, yosasinthika kwambiri.

Munkhaniyi, tawona momwe zoyambira zopangira database zimasiyanirana ndi PostgreSQL, Cassandra, ndi MongoDB. M'nkhani zamtsogolo, tilowa m'malingaliro apamwamba monga ma indexes, transactions, JOINs, malangizo a TTL, ndi zolemba za JSON.

Tikukufunirani mpumulo wabwino wa sabata ndikukuitanani kutero webinar yaulere, zomwe zidzachitika pa Meyi 14.

Source: www.habr.com

Kuwonjezera ndemanga