Salaamu caleykum sxb. Ka hor inta aan loo bixin qaybta labaad ee ciidaha May, waxaanu idinla wadaagaynaa qoraalkii aanu turjunnay ee aanu filayno daahfurka qulqulka cusub ee koorsada
Soosaarayaasha arjiyada ayaa waqti badan ku bixiya isbarbardhigga xog ururin badan oo shaqeynaya si ay u doortaan midka ugu habboon culeyska shaqada ee loogu talagalay. Baahiyaha waxaa ku jiri kara qaabeynta xogta la fududeeyay, dammaanad qaadka wax kala iibsiga, wax-akhrinta/qorista, cabirka toosan, iyo dulqaadka khaladka. Dhaqan ahaan, doorashadu waxay ka bilaabataa qaybta kaydka xogta, SQL ama NoSQL, maadaama qayb kastaa ay soo bandhigto jaangooyo cad oo ganacsi ah. Waxqabadka sare marka loo eego daahitaanka hooseeya iyo wax soo saarka sare ayaa guud ahaan loo arkaa shuruudo aan ganacsi ahayn sidaas darteedna waa lama huraan u ah xog kasta oo muunad ah.
Ujeedada maqaalkani waa in laga caawiyo horumarinta codsiyada samaynta doorashada saxda ah ee u dhaxaysa SQL iyo NoSQL marka la eego macnaha xogta codsiga. Waxaan eegi doonaa hal database SQL, oo ββah PostgreSQL, iyo laba NoSQL database, Cassandra iyo MongoDB, si ay u daboosho aasaasiga ah ee design database, sida samaynta miisaska, population iyaga, akhrinta xogta miiska, iyo tirtirto. Maqaalka soo socda, waxaan hubin doonaa inaan eegno tusmooyinka, wax kala iibsiga, JOINs, dardaaranka TTL, iyo naqshadeynta xogta ku salaysan JSON.
Waa maxay farqiga u dhexeeya SQL iyo NoSQL?
Xogta SQL waxay kordhisaa dabacsanaanta arjiga iyada oo loo marayo dammaanad qaadyada macaamil ganacsi ee ACID, iyo sidoo kale awoodda ay u leeyihiin inay xogta ku waydiiyaan iyagoo isticmaalaya JOINs siyaabo lama filaan ah oo ka sarreeya moodooyinka xogta xogta ee caadiga ah ee jira.
Marka la eego qaabdhismeedkooda monolithic/hal-node-ka ah iyo adeegsiga qaabka ku-noqoshada sayid-addoon ee dib-u-celinta, xog-ururinta SQL ee dhaqameedku waxay ka maqan yihiin laba astaamood oo muhiim ah - miisaan qoritaan toosan (sida qaybinta tooska ah ee qanjidhada badan) iyo luminta xogta otomaatiga ah/ eber. Tani waxay ka dhigan tahay in cadadka xogta la helay aysan dhaafi karin inta ugu badan ee wax qoris ah ee hal nood. Intaa waxaa dheer, qaar ka mid ah luminta xogta ku meel gaadhka ah waa in lagu tixgaliyaa dulqaadka khaladka ah (dhismaha aan waxba wadaagin). Halkan waxaad u baahan tahay inaad maskaxda ku hayso in ballanqaadyadii ugu dambeeyay aysan weli ka muuqan nuqulka addoonta. Cusboonaysiinta wakhti-yarida sidoo kale way adagtahay in lagu gaadho xog-ururinta SQL.
Xogta NoSQL waxaa badanaa loo qaybiyaa dabeecadda, i.e. iyaga, xogta waxaa loo qaybiyaa qaybo waxaana loo qaybiyaa dhowr nood. Waxay u baahan yihiin caadifad. Tani waxay ka dhigan tahay in xogta la galiyay ay tahay in sidoo kale la koobiyeeyo dhowr jeer si looga jawaabo codsiyada gaarka ah ee aad dirto. Hadafka guud waa in la helo waxqabad sare iyadoo la dhimayo tirada shards ee la heli karo inta lagu jiro akhrinta. Tani waxay tusinaysaa in NoSQL ay kaaga baahan tahay inaad qaabayso su'aalahaaga, halka SQL uu kaaga baahan yahay inaad qaabayso xogtaada.
NoSQL waxay diiradda saartaa sidii loo heli lahaa waxqabad sare koox la qaybiyey tanina waa sababta gundhigga u ah ganacsiyo naqshadeynta keydka badan oo ay ku jiraan luminta macaamilka ACID, JOINs, iyo tilmaameyaal caalami ah oo joogto ah.
Waxaa jira dood ah in halka xogaha NoSQL ay bixiyaan miisaan qoraal toos ah iyo dulqaad sare leh, luminta dammaanadaha wax kala iibsiga ayaa ka dhigaya kuwo aan ku habboonayn xogta muhiimka ah ee howlgalka.
Jadwalka soo socdaa wuxuu muujinayaa sida xogta qaabaynta ee NoSQL uga duwan tahay SQL.
SQL iyo NoSQL: Maxaa labadaba loogu baahan yahay?
Codsiyada dhabta ah ee leh isticmaaleyaal badan, sida Amazon.com, Netflix, Uber, iyo Airbnb, ayaa loo xilsaaray inay qabtaan hawlo adag oo dhinacyo badan leh. Tusaale ahaan, codsiga e-ganacsiga sida Amazon.com wuxuu u baahan yahay inuu kaydiyo xogta khafiifka ah, xogta muhiimka ah sida macluumaadka isticmaalaha, alaabada, dalabaadka, qaansheegyada, oo ay weheliso xog culus oo xasaasi ah sida dib u eegista alaabta, fariimaha taageerada, dhaqdhaqaaqa isticmaalaha, dib u eegista isticmaalaha iyo talooyinka. Dabcan, codsiyadani waxay ku tiirsan yihiin ugu yaraan hal xog SQL oo ay la socoto ugu yaraan hal xog NoSQL ah. Nidaamyada gobollada iyo kuwa caalamiga ah, xogta NoSQL waxay u shaqeysaa sidii kayd juquraafi-qeybsan oo loogu talagalay xogta lagu kaydiyay isha la aamini karo ee SQL ee ka socota gobol gaar ah.
Sidee buu YugaByte DB isugu daraa SQL iyo NoSQL?
Waxaa lagu dhisay matoorka kaydinta isku-dhafan ee log-oriented, auto-sharding, shaandhayn qaybsan ku-noqoshada is-afgaradka iyo ACID qaybinta macaamil ganacsi (ay dhiirigelisay Google Spanner), YugaByte DB waa xogta isha furan ee ugu horreysa adduunka oo isku mar la jaan qaada NoSQL (Cassandra & Redis) iyo SQL (PostgreSQL). Sida shaxda hoose ku cad, YCQL, YugaByte DB API ee la jaan qaadaya Cassandra, waxay ku daraysaa fikradaha hal iyo hal-ganacsi ee ACID-ga muhiimka ah iyo tusmooyinka sare ee caalamiga ah ee NoSQL API, taas oo keenaysa xilligii macaamilka xogta NoSQL. Intaa waxaa dheer, YCQL, YugaByte DB API oo la jaan qaadaya PostgreSQL, waxay ku daraysaa fikradaha xisaabinta qoraalka tooska ah iyo u dulqaadashada qaladka tooska ah ee SQL API, taasoo keenaysa kaydka xogta SQL ee adduunka. Sababtoo ah YugaByte DB waa macaamil ganacsi dabiici ah, NoSQL API hadda waxaa loo isticmaali karaa macnaha xogta muhiimka ah.
Sida hore loogu sheegay maqaalka
- Haddii culayska shaqadaada aasaasiga ahi ay tahay hawlgallada JOIN ee furaha badan leh, markaa marka aad dooranayso YSQL, faham in furayaashaadu loo qaybin karo qanjidhada badan, taasoo keenaysa daahitaanka iyo/ama soo-saarka ka hooseeya kan NoSQL.
- Haddii kale, dooro mid ka mid ah labada NoSQL APIs, adigoo maskaxda ku haya inaad heli doonto waxqabad ka wanaagsan natiijada su'aalaha laga keenay hal nood markiiba. YugaByte DB waxa ay u adeegi kartaa xog hal kayd oo hawlgelineed oo loogu talagalay adduunka-dhabta ah, codsiyada adag ee u baahan in la maareeyo culaysyo badan oo shaqo isku mar ah.
Shaybaarka qaabaynta xogta ee qaybta soo socota waxa uu ku salaysan yahay PostgreSQL iyo Cassandra API oo ku habboon xogta YugaByte DB, oo ka soo horjeeda xog ururinta asalka ah. Habkani waxa uu xooga saarayaa fududaynta la falgalka laba API oo kala duwan (laba dekedood oo kala duwan) oo isku koox ah xogta xogta, taas oo ka soo horjeeda isticmaalka rucubyada gebi ahaanba madax banaan ee laba xog oo kala duwan.
Qaybaha soo socda, waxaanu ku eegi doonaa shaybaadhka qaabaynta xogta si aanu u muujino kala duwanaanshaha iyo qaar ka mid ah waxyaabaha ay wadaagaan xogaha la daboolay.
Shaybaarka Qaabaynta Xogta
Rakibaadda database
Marka la eego xoogga la saaray naqshadaynta qaabka xogta (halkii ay ka ahaan lahayd qaab-dhismeedyada diritaanka adag), waxaanu ku rakibi doonaa kaydadka weelasha Docker ee mishiinka maxaliga ah ka dibna la falgeli iyaga anagoo adeegsanayna qolofahooda taliska.
PostgreSQL & Cassandra ku habboon xogta YugaByte DB
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
Helitaanka khadka taliska
Aynu ku xidhno xog-ururinta anagoo adeegsanayna qolofka taliska ee API-yada u dhigma.
PostgreSQL
docker exec -it yb-postgres-n1 /home/yugabyte/postgres/bin/psql -p 5433 -U postgres
Cassandra
cqlsh
buugga ku yaal bin
.
Ogsoonow in CQL uu dhiirigeliyay SQL oo uu leeyahay fikrado la mid ah miisaska, safafka, tiirarka iyo tusmooyinka. Si kastaba ha ahaatee, luqadda NoSQL ahaan, waxay ku daraysaa xaddidaadyo gaar ah, kuwaas oo intooda badan aan sidoo kale ku dabooli doono maqaallo kale.
docker exec -it yb-tserver-n1 /home/yugabyte/bin/cqlsh
MongoDB
docker exec -it my-mongo bash
cd bin
mongo
Samaynta miis
Hadda waxaan la falgali karnaa xogta xogta si aan u fulino hawlgallo kala duwan iyadoo la adeegsanayo khadka taliska. Aan ku bilowno sameynta miis lagu keydiyo macluumaadka heesaha ay qoreen fanaaniin kala duwan. Heesahani waxa laga yaabaa inay qayb ka yihiin albamka. Sifooyinka ikhtiyaariga ah ee heesta waa sanadka la sii daayay, qiimaha, nooca iyo qiimeynta. Waxaan u baahanahay inaan ku xisaabtano sifooyin dheeri ah oo mustaqbalka looga baahan karo goobta "tags". Waxay kaydin kartaa xogta qaab-hoosaadka hoose ah oo ah qaabka lammaane-qiimaha muhiimka ah.
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
Samaynta miis Cassandra waxay aad ugu egtahay PostgreSQL. Mid ka mid ah kala duwanaanshaha ugu weyn ayaa ah la'aanta caqabadaha daacadnimada (tusaale NO NOOL), laakiin tani waa mas'uuliyadda codsiga, ma aha xogta NoSQL.. Furaha aasaasiga ahi waxa uu ka kooban yahay furaha qaybinta (Tiirka Farshaxanka ee tusaalaha hoose) iyo tiirar ururin ah (Tiirarka Heesta Tusaalaha hoose). Furaha qaybinta ayaa go'aamisa qaybta/sharcida safka la gelinayo, iyo tiirar ururintu waxay tilmaamayaan sida xogta loogu habayn karo jeexan hadda jira.
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 waxay u habaysaa xogta kaydka xogta (Database) (oo la mid ah Keyspace ee Cassandra), halkaas oo ay ka jiraan Ururinta (la mid ah miisaska) oo ka kooban Dukumentiyo (la mid ah safafka miiska). MongoDB, asal ahaan looma baahna in la qeexo schema bilowga ah. Kooxda "isticmaal database", hoos lagu muujiyey, waxay dedejisaa kaydka macluumaadka ee wicitaanka ugu horreeya oo beddela macnaha xogta xogta cusub ee la abuuray. Xataa ururinta uma baahna in si cad loo abuuro; si toos ah ayaa loo abuuray, si fudud marka aad ku darto dukumeentiga ugu horreeya ururin cusub. Ogsoonow in MongoDB ay u isticmaasho xogta tijaabada ah si caadi ah, sidaa darteed hawlgal kasta oo heer ururin ah iyada oo aan la cayimin xog gaar ah ayaa si toos ah ugu shaqayn doonta.
use myNewDatabase;
Helitaanka macluumaadka ku saabsan miiska
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;
Gelida xogta miiska
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
Hadalka guud INSERT
Cassandra waxay aad ugu egtahay midda PostgreSQL. Si kastaba ha ahaatee, waxaa jira hal farqi weyn oo xagga semantics ah. Cassandra INSERT
dhab ahaantii waa qalliin UPSERT
, halkaas oo qiyamka ugu dambeeya lagu daro safka haddii safku hore u jiray.
Gelida xogta waxay la mid tahay PostgreSQL
INSERT
sare
.
MongoDB
In kasta oo MongoDB ay tahay kaydka NoSQL sida Cassandra, hawl galkeedu wax la mid ah ma laha hab-dhaqanka semantic ee Cassandra. Gudaha MongoDB UPSERT
, taasoo ka dhigaysa mid la mid ah PostgreSQL. Ku darida xogta caadiga ah iyada oo aan _idspecified
waxay sababi doontaa in dukumeenti cusub lagu daro ururinta.
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"
}
}
);
Weydiinta miiska
Waxaa laga yaabaa in farqiga ugu weyn ee u dhexeeya SQL iyo NoSQL xagga dhismaha weydiinta ay tahay luqadda la isticmaalo FROM
ΠΈ WHERE
. SQL waxay ogolaataa muujinta ka dib FROM
dooro miisas badan, oo ku muujin WHERE
waxay noqon kartaa wax kasta oo kakan (oo ay ku jiraan hawlgallada JOIN
miisaska dhexdooda). Si kastaba ha noqotee, NoSQL waxay u egtahay inay ku soo rogto xaddidaad daran FROM
, oo ku shaqeeya kaliya hal miis oo cayiman, iyo gudaha WHERE
, furaha aasaasiga ah waa in had iyo jeer la cayimaa. Tani waxay la xiriirtaa riixitaanka waxqabadka NoSQL ee aan horay uga hadalnay. Rabitaankani wuxuu keenayaa hoos u dhac kasta oo suurtagal ah oo ku yimaada is-dhexgal kasta oo isku-tallaabta ah iyo is-dhexgalka furaha. Waxay keeni kartaa dib u dhac weyn oo ku yimaadda isgaadhsiinta inter-node marka laga jawaabayo codsiga oo sidaas awgeed sida ugu wanaagsan ayaa looga fogaado guud ahaan. Tusaale ahaan, Cassandra waxa ay u baahantahay in la waydiiyo in lagu xadido hawl wadeenada qaarkood (kaliya =, IN, <, >, =>, <=
) furayaasha qaybta, marka laga reebo marka la codsanayo tusaha sare (kaliya = hawlwadeenka ayaa halkan loo ogolyahay).
PostgreSQL
Hoos waxaa ku yaal saddex tusaale oo su'aalo ah oo si fudud loo fulin karo xogta SQL.
- Soo bandhig dhammaan heesaha fanaaniinta;
- Soo bandhig dhammaan heesaha fannaanka ee ku habboon qaybta koowaad ee cinwaanka;
- Soo bandhig dhammaan heesaha uu sameeyay fanaanka erey gaar ah ku leh cinwaanka oo qiimahoodu ka yar yahay 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
Su'aalaha PostgreSQL ee kor ku taxan, kaliya kan ugu horreeya ayaa si aan isbeddel lahayn uga shaqayn doona Cassandra, tan iyo markii hawlwadeenku LIKE
laguma dabaqi karo tiirar ururineed sida SongTitle
. Xaaladdan, kaliya hawlwadeennada ayaa la oggol yahay =
ΠΈ 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
Sida ku cad tusaalooyinkii hore, habka ugu muhiimsan ee su'aalaha loogu abuurayo MongoDB waa music
Tusaalaha hoose), markaa waydiinta ururin badan waa mamnuuc.
db.music.find( {
artist: "No One You Know"
}
);
db.music.find( {
artist: "No One You Know",
songTitle: /Call/
}
);
Akhrinta dhammaan safafka miiska
Akhrinta dhammaan safafka ayaa si fudud u ah xaalad gaar ah oo ku saabsan qaabka weydiinta ee aan horay u eegnay.
PostgreSQL
SELECT *
FROM Music;
Cassandra
Si la mid ah tusaalaha PostgreSQL ee sare.
MongoDB
db.music.find( {} );
Tafatirka xogta shaxda
PostgreSQL
PostgreSQL waxay bixisaa tilmaamo UPDATE
in la beddelo xogta. Fursad ma haysato UPSERT
, markaa bayaankan wuu fashilmi doonaa haddii safku aanu ku jirin kaydka xogta.
UPDATE Music
SET Genre = 'Disco'
WHERE Artist = 'The Acme Band' AND SongTitle = 'Still In Love';
Cassandra
Cassandra ayaa leh UPDATE
oo la mid ah PostgreSQL. UPDATE
wuxuu leeyahay semantics isku mid ah UPSERT
, la mid ah INSERT
.
Si la mid ah tusaalaha PostgreSQL ee sare.
MongoDB
Hawlgalka UPSERT
. Cusbooneysiinta dukumeentiyo badan iyo habdhaqan la mid ah UPSERT
waxaa lagu dabaqi karaa iyadoo la dejinayo calamo dheeri ah oo hawlgalka ah. Tusaale ahaan, tusaalaha hoose, nooca fannaanka gaarka ah ayaa la cusbooneysiiyay iyadoo lagu saleynayo heestiisa.
db.music.update(
{"artist": "The Acme Band"},
{
$set: {
"genre": "Disco"
}
},
{"multi": true, "upsert": true}
);
Ka saarida xogta miiska
PostgreSQL
DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';
Cassandra
Si la mid ah tusaalaha PostgreSQL ee sare.
MongoDB
MongoDB waxay leedahay laba nooc oo hawlgal ah oo lagu tirtirayo dukumeentiyada -
db.music.deleteMany( {
artist: "The Acme Band"
}
);
Tirtirka miiska
PostgreSQL
DROP TABLE Music;
Cassandra
Si la mid ah tusaalaha PostgreSQL ee sare.
MongoDB
db.music.drop();
gunaanad
Doodda ku saabsan kala doorashada SQL iyo NoSQL waxay socotay in ka badan 10 sano. Waxaa jira laba arrimood oo muhiim u ah doodan: database engine architecture (monolithic, transactional SQL vs distributed, non-transactional NoSQL) iyo habka naqshadaynta xogta xogta (qaabaynta xogtaada SQL vs qaabaynta su'aalahaaga NoSQL).
Iyada oo la adeegsanayo kaydka xogta macaamil ganacsi ee la qaybiyay sida YugaByte DB, doodda ku saabsan qaab dhismeedka keydka macluumaadka si fudud ayaa loo dejin karaa. Marka mugga xogtu ay ka sii weynaato waxa lagu qori karo hal noode, qaab-dhismeed si buuxda loo qaybiyay oo taageeraya miisaan qorida toosan oo leh jeexid/dib-u-dheellitir toos ah ayaa noqonaysa lama huraan.
Ka sokow, sida lagu sheegay mid ka mid ah maqaallada
U soo noqoshada doodaha naqshadeynta xogta, waa cadaalad in la yiraahdo labada qaab naqshadeynta (SQL iyo NoSQL) waxay lagama maarmaan u yihiin codsi kasta oo kakan ee adduunka dhabta ah. Habka "qaabaynta xogta" ee SQL waxay u ogolaataa horumariyeyaasha inay si sahlan u buuxiyaan shuruudaha ganacsiga ee isbeddelaya, halka habka NoSQL "qaabaynta su'aasha" ay u oggolaanayso horumariyeyaal isku mid ah inay ku shaqeeyaan xog badan oo leh daahitaan hoose iyo soo-saar sare. Waa sababtaas tan YugaByte DB ay bixiso SQL iyo NoSQL API-yada xudunta guud, halkii ay ka horumarin lahaayeen mid ka mid ah hababka. Intaa waxaa dheer, iyadoo la siinayo waafaqsanaanta luqadaha database-ka caanka ah oo ay ku jiraan PostgreSQL iyo Cassandra, YugaByte DB waxay hubisaa in horumariyayaashu aysan ahayn inay bartaan luqad kale si ay ula shaqeeyaan matoorka xogta oo aad u joogto ah oo baahsan.
Maqaalkan, waxaan ku eegnay sida aasaaska naqshadeynta xogta ay uga duwan yihiin PostgreSQL, Cassandra, iyo MongoDB. Maqaallada mustaqbalka, waxaan u dhex geli doonaa fikradaha naqshadeynta horumarsan sida tusmooyinka, wax kala iibsiga, JOINs, dardaaranka TTL, iyo dukumentiyada JSON.
Waxaan kuu rajaynaynaa nasasho wacan oo sabtida ah waxaanan kugu martiqaadaynaa
Source: www.habr.com