Molweni, bahlobo. Ngaphambi kokuba siye kwinxalenye yesibini yeeholide zikaMeyi, sabelana nawe ngezinto esiziguqulele ngokulindela ukuqaliswa komlambo omtsha kwikhosi.
Abaphuhlisi bezicelo bachitha ixesha elininzi bethelekisa oovimba beenkcukacha abaninzi bokusebenza ukuze bakhethe eyona iwufaneleyo umsebenzi ocetywayo. Iimfuno zinokubandakanya ukwenziwa kwedatha eyenziwe lula, iziqinisekiso zentengiselwano, ukufunda/ukubhala ukusebenza, ukulinganisa okuthe tye, kunye nokunyamezela iimpazamo. Ngokwesiko, ukhetho luqala ngoluhlu lwedatha, i-SQL okanye i-NoSQL, ekubeni icandelo ngalinye libonisa isethi ecacileyo yorhwebo. Ukusebenza okuphezulu ngokubhekiselele kwi-latency ephantsi kunye ne-throughput ephezulu ngokuqhelekileyo ibonwa njengemfuneko engeyiyo yorhwebo kwaye ngoko ke kubalulekile kuyo nayiphi na isampula yedatha.
Injongo yeli nqaku kukunceda abaphuhlisi besicelo benze ukhetho olufanelekileyo phakathi kwe-SQL kunye ne-NoSQL kumxholo wedatha yesicelo. Siza kujonga i-database ye-SQL enye, i-PostgreSQL, kunye ne-database ye-NoSQL emibini, i-Cassandra kunye ne-MongoDB, ukugubungela iziseko zoyilo lwesiseko sedatha, njengokwenza iitafile, ukuzifaka, ukufunda idatha kwitafile, kunye nokucima. Kwinqaku elilandelayo, siya kuqiniseka ukuba sijonga izalathisi, intengiselwano, iJOIN, imiyalelo ye-TTL, kunye noyilo lwedatha esekwe kwi-JSON.
Yintoni umahluko phakathi kwe-SQL kunye ne-NoSQL?
Oovimba beenkcukacha ze-SQL bandisa ukuguquguquka kwesicelo ngokusebenzisa iziqinisekiso zentengiselwano ze-ACID, kunye nokukwazi kwabo ukubuza idatha besebenzisa i-JOIN ngeendlela ezingalindelekanga phezu kwemifuziselo ekhoyo yobudlelwane obuqhelekileyo.
Ngenxa yokwakhiwa kwe-monolithic / enye-node kunye nokusetyenziswa kwemodeli yokuphindaphinda kwe-master-slave ngenxa yokuphindaphinda, i-database ye-SQL yendabuko ayinayo iimpawu ezimbini ezibalulekileyo - i-linear scalability scalability (okt. Oku kuthetha ukuba isixa sedatha efunyenweyo ayinakudlula ubuninzi bokubhala ngokubhala kwindawo enye. Ukongezelela, enye ilahleko yedatha yesikhashana kufuneka ithathelwe ingqalelo ekunyamezeleni impazamo (kwi-architecture ekwabelwana ngayo). Apha kufuneka ukhumbule ukuba ukuzinikela kwamva nje akukabonakali kwikopi yekhoboka. Uhlaziyo olungelulo ixesha lokuphumla kwakhona kunzima ukufezekisa kuluhlu lwedatha yeSQL.
I-database ye-NoSQL idla ngokusasazwa ngokwendalo, okt. kuzo, idatha ihlulwe yangamacandelo kwaye isasazwe kwiindawo ezininzi. Bafuna i-denormalization. Oku kuthetha ukuba idatha efakiweyo kufuneka ikhutshelwe amaxesha amaninzi ukuphendula izicelo ezithile ozithumelayo. Injongo iyonke kukufumana ukusebenza okuphezulu ngokunciphisa inani leeshadi ezikhoyo ngexesha lokufunda. Oku kuthetha ukuba i-NoSQL ifuna ukuba wenze imodeli yemibuzo yakho, ngelixa i-SQL ifuna ukuba wenze imodeli yedatha yakho.
I-NoSQL igxininise ekufezekiseni ukusebenza okuphezulu kwi-cluster esasazwayo kwaye oku kusisiseko sesiseko se-tradeoffs yoyilo lwesiseko sedatha ebandakanya ukulahleka kwentengiselwano ye-ACID, i-JOINs, kunye nezalathisi zesekondari ezihambelanayo zehlabathi.
Kukho ingxabano yokuba ngelixa ii-database ze-NoSQL zibonelela ngokubhala ngokulinganayo kunye nokunyamezela impazamo ephezulu, ukulahlekelwa kweziqinisekiso zentengiselwano kubenza bangafaneleki kwidatha ebalulekileyo ye-mission.
Itheyibhile ilandelayo ibonisa indlela imodeli yedatha kwi-NoSQL eyahluke ngayo kwi-SQL.
I-SQL kunye ne-NoSQL: Kutheni zombini zifuneka?
Usetyenziso lwehlabathi lokwenyani olunamanani amakhulu abasebenzisi, abanje ngeAmazon.com, Netflix, Uber, kunye ne-Airbnb, banikwe umsebenzi wokwenza imisebenzi entsonkothileyo, enemacala amaninzi. Ngokomzekelo, isicelo se-e-commerce esifana ne-Amazon.com idinga ukugcina i-lightweight, idatha ebaluleke kakhulu njengolwazi lomsebenzisi, iimveliso, ii-odolo, ii-invoyisi, kunye nedatha enzima, engaphantsi kwedatha efana nokuphononongwa kwemveliso, imiyalezo yenkxaso, umsebenzi wabasebenzisi, uphononongo lwabasebenzisi kunye neengcebiso. Ngokwemvelo, ezi zicelo zixhomekeke ubuncinane kwisiseko sedatha enye ye-SQL kunye nedatha ye-NoSQL enye. Kwiinkqubo ezinqamlezayo kunye nehlabathi jikelele, i-database ye-NoSQL isebenza njenge-geo-distributed cache yedatha egcinwe kumthombo othembekileyo wedatha ye-SQL esebenza kwindawo enye.
I-YugaByte DB idibanisa njani iSQL kunye neNoSQL?
Yakhelwe kwi-log-oriented kwi-injini yokugcina edibeneyo, i-auto-sharding, i-sharded i-replication yemvumelwano esasaziweyo kunye ne-ACID yokuhanjiswa kwentengiselwano (iphefumlelwe yi-Google Spanner), i-YugaByte DB yindawo yokuqala yomthombo wedatha evulekileyo yehlabathi ehambelana ngaxeshanye ne-NoSQL (Cassandra & Redis ) kunye I-SQL (i-PostgreSQL). Njengoko kubonisiwe kwitheyibhile engezantsi, i-YCQL, i-YugaByte DB API ehambelana neCassandra, yongeza iikhonsepthi zokuthengiselana okukodwa kunye nezitshixo ezininzi ze-ACID kunye nezalathisi eziziisekondari zehlabathi kwi-NoSQL API, ngaloo ndlela ingenisa ixesha leenkcukacha zedatha ze-NoSQL. Ukongezelela, i-YCQL, i-YugaByte DB API ehambelana ne-PostgreSQL, yongeza iikhonsepthi zokulinganisa umgca wokubhala kunye nokunyamezela impazamo ngokuzenzekelayo kwi-SQL API, ukuzisa i-database ye-SQL esasazwayo kwihlabathi. Ngenxa yokuba i-YugaByte DB iyintengiselwano kwindalo, i-NoSQL API ngoku ingasetyenziswa kumxholo wedatha ebalulekileyo ye-mission.
Njengoko bekutshiwo ngaphambili kwinqaku
- Ukuba umsebenzi wakho oyintloko yimisebenzi emininzi ye-JOIN, ngoko xa ukhetha i-YSQL, qonda ukuba izitshixo zakho zinokusasazwa kwiindawo ezininzi, okukhokelela kwi-latency ephezulu kunye / okanye i-output ephantsi kune-NoSQL.
- Ngaphandle koko, khetha enye yee-API ezimbini ze-NoSQL, ugcine engqondweni ukuba uya kufumana ukusebenza okungcono ngenxa yemibuzo ehanjiswa kwi-node enye ngexesha. I-YugaByte DB inokusebenza njengendawo yogcino-lwazi olusebenzayo lwehlabathi lokwenyani, izicelo ezintsonkothileyo ezifuna ukulawula imisebenzi emininzi ngaxeshanye.
Ilebhu yemodeli yeDatha kwicandelo elilandelayo isekelwe kwi-PostgreSQL kunye ne-Cassandra API ehambelanayo yogcino lwedatha ye-YugaByte DB, ngokuchasene nedatha yendalo. Le ndlela igxininisa ukukhululeka kokusebenzisana kunye nee-API ezimbini ezahlukeneyo (kwiizibuko ezimbini ezihlukeneyo) zeqela ledatha efanayo, ngokuchasene nokusebenzisa amaqela azimeleyo azimeleyo eedatha ezimbini ezahlukeneyo.
Kula macandelo alandelayo, siza kujonga kwilebhu yomfuziselo wedatha ukubonisa iyantlukwano kunye nezinye izinto eziqhelekileyo zogcino-lwazi olugqunyiweyo.
ILabhoratri yoMfanekiso weDatha
Ufakelo lweDatabase
Ukunika ugxininiso kuyilo lwemodeli yedatha (endaweni yoyilo oluntsonkothileyo losasazo), siya kufaka ugcino-lwazi kwizikhongozeli zeDocker kumatshini wasekhaya kwaye emva koko sinxibelelane nazo sisebenzisa oonokrwece belayini yomyalelo.
I-PostgreSQL kunye neCassandra ehambelanayo yeYugaByte 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
Ufikelelo kumgca womyalelo
Masiqhagamshele koovimba beenkcukacha sisebenzisa iqokobhe lomgca womyalelo kwii-API ezihambelanayo.
PostgreSQL
docker exec -it yb-postgres-n1 /home/yugabyte/postgres/bin/psql -p 5433 -U postgres
Cassandra
cqlsh
kwikhathalogu bin
.
Qaphela ukuba i-CQL iphefumlelwe yi-SQL kwaye ineekhonsepthi ezifanayo zeetheyibhile, iirowu, iikholamu kunye nezalathisi. Nangona kunjalo, njengolwimi lwe-NoSQL, yongeza iseti ethile yemida, uninzi lwazo esiya kulugubungela nakwamanye amanqaku.
docker exec -it yb-tserver-n1 /home/yugabyte/bin/cqlsh
MongoDB
docker exec -it my-mongo bash
cd bin
mongo
Ukwenza itafile
Ngoku sinokusebenzisana nedathabheyisi ukwenza imisebenzi eyahlukeneyo usebenzisa umgca womyalelo. Masiqale ngokwenza itheyibhile egcina ulwazi malunga neengoma ezibhalwe ngamagcisa awohlukeneyo. Ezi ngoma zisenokuba yinxalenye yecwecwe. Kwakhona iimpawu ozikhethelayo zengoma ngunyaka wokukhululwa, ixabiso, uhlobo kunye nokukala. Kufuneka siphendule ngeempawu ezongezelelweyo ezinokufuneka kwixesha elizayo ngokusebenzisa indawo "yeethegi". Iyakwazi ukugcina idatha ye-semi-structured ngendlela ye-key-value pairs.
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
Ukwenza itafile eCassandra kufana kakhulu nePostgreSQL. Omnye umahluko ophambili kukunqongophala kwezithintelo zemfezeko (umzekelo, AKUKHO NULL), kodwa olu luxanduva lwesicelo, hayi isiseko sedatha seNoSQL.. Iqhosha eliphambili liquka isitshixo sokwahlula (ikholamu yeMculi kumzekelo ongezantsi) kunye neseti yeekholomu ezidibeneyo (ikholamu yeNgoma kumzekelo ongezantsi). Iqhosha lesahlulelo limisela ukuba yeyiphi isahlulelo / i-shard umqolo omele ubekwe kuwo, kwaye iikholamu ze-clustering zibonisa ukuba idatha kufuneka ihlelwe njani ngaphakathi kwe-shard yangoku.
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
I-MongoDB iququzelela idatha kwi-database (iDatabase) (efana ne-Keyspace e-Cassandra), apho kukho iiNgqokelela (ezifana neetafile) eziqulethe amaxwebhu (afana nemigca kwitafile). KwiMongoDB, akukho mfuneko yokuchaza ischema sokuqala. Iqela "sebenzisa i-database", eboniswe ngezantsi, iqinisekisa isiseko sedatha kwifowuni yokuqala kwaye itshintsha umxholo wesiseko sedatha esitsha. Nkqu ingqokelela ayifuni ukwenziwa ngokucacileyo; yenziwa ngokuzenzekelayo, ngokulula xa usongeza uxwebhu lokuqala kwingqokelela entsha. Qaphela ukuba i-MongoDB isebenzisa i-database yovavanyo ngokungagqibekanga, ngoko ke nawuphi na umsebenzi wezinga lokuqokelela ngaphandle kokuchaza i-database ethile iya kuqhuba kuyo ngokungagqibekanga.
use myNewDatabase;
Ukufumana ulwazi malunga netafile
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;
Ukufaka idatha kwitafile
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
Ukubonakaliswa kukonke INSERT
eCassandra ibonakala ifana kakhulu naleyo kwiPostgreSQL. Nangona kunjalo, kukho umahluko omnye omkhulu kwiisemantics. KwiCassandra INSERT
luqhaqho ngenene UPSERT
, apho amaxabiso okugqibela ongezwa kumqolo ukuba umqolo sele ukhona.
Ukufakwa kwedatha kuyafana nePostgreSQL
INSERT
ephakamileyo
.
MongoDB
Nangona i-MongoDB iyisiseko sedatha ye-NoSQL efana neCassandra, ukusebenza kwayo kokufaka akukho nto idibanisa nokuziphatha kwe-semantic yeCassandra. KwiMongoDB UPSERT
, eyenza ifane nePostgreSQL. Ukongeza idata ehlala ikho ngaphandle _idspecified
izakubangela uxwebhu olutsha ukuba longezwe kwingqokelela.
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"
}
}
);
Umbuzo weTheyibhile
Mhlawumbi owona mahluko ubalulekileyo phakathi kwe-SQL kunye ne-NoSQL malunga nokwakhiwa kwemibuzo lulwimi olusetyenziswayo FROM
ΠΈ WHERE
. I-SQL ivumela emva kokuchazwa FROM
khetha iitafile ezininzi, kunye nokubonisa nge WHERE
inokuba nako nakuphi na ukuntsonkotha (kubandakanya imisebenzi JOIN
phakathi kweetafile). Nangona kunjalo, i-NoSQL ithande ukumisela umda oqatha FROM
, kwaye usebenze kuphela ngetafile enye ekhankanyiweyo, kwaye ngaphakathi WHERE
, iqhosha eliphambili kufuneka lihlale licacisiwe. Oku kunxulumana ne-NoSQL yokusebenza push ebesithetha ngayo ngaphambili. Lo mnqweno ukhokelela ekunciphiseni konke okwenzekayo kuyo nayiphi na i-cross-tabular kunye ne-cross-key interaction. Inokwazisa ukulibaziseka okukhulu kunxibelelwano lwe-inter-node xa uphendula isicelo kwaye ngoko ke kungcono ukuphepheka ngokubanzi. Umzekelo, iCassandra ifuna ukuba imibuzo ikhawulelwe kubasebenzisi abathile (kuphela =, IN, <, >, =>, <=
) kumaqhosha okwahlula, ngaphandle kwaxa ucela isalathisi sesibini (kuphela = ngumqhubi ovunyelweyo apha).
PostgreSQL
Apha ngezantsi kukho imizekelo emithathu yemibuzo enokuthi iqhutywe ngokulula kwisiseko sedatha seSQL.
- Bonisa zonke iingoma zomculi;
- Bonisa zonke iingoma zegcisa elihambelana nenxalenye yokuqala yesihloko;
- Bonisa zonke iingoma zegcisa elinegama elithile kwisihloko kwaye zinexabiso elingaphantsi kwe-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
Kwimibuzo yePostgreSQL edweliswe ngasentla, kuphela eyokuqala eya kusebenza ingatshintshwanga eCassandra, kuba umqhubi LIKE
ayinakusetyenziswa kwiikholam ezidibanisayo ezifana SongTitle
. Kule meko, kuphela abaqhubi abavunyelweyo =
ΠΈ 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
Njengoko kubonisiwe kwimizekelo yangaphambili, eyona ndlela iphambili yokudala imibuzo kwiMongoDB music
kumzekelo ongezantsi), ngoko ke ukubuza ingqokelela ezininzi akuvumelekanga.
db.music.find( {
artist: "No One You Know"
}
);
db.music.find( {
artist: "No One You Know",
songTitle: /Call/
}
);
Ukufunda yonke imiqolo yetafile
Ukufunda yonke imiqolo yinto nje ekhethekileyo yepateni yombuzo ebesiyijongile ngaphambili.
PostgreSQL
SELECT *
FROM Music;
Cassandra
Ngokufana nomzekelo wePostgreSQL ongentla.
MongoDB
db.music.find( {} );
Ukuhlela idatha kwitheyibhile
PostgreSQL
I-PostgreSQL ibonelela ngemiyalelo UPDATE
ukutshintsha idatha. Akanamathuba UPSERT
, ngoko le nkcazo iya kusilela ukuba umqolo awusekho kwisiseko sedatha.
UPDATE Music
SET Genre = 'Disco'
WHERE Artist = 'The Acme Band' AND SongTitle = 'Still In Love';
Cassandra
UCassandra uye UPDATE
iyafana nePostgreSQL. UPDATE
inesemantics efanayo UPSERT
, ezifanayo INSERT
.
Ngokufana nomzekelo wePostgreSQL ongentla.
MongoDB
Ukusebenza UPSERT
. Ukuhlaziya amaxwebhu amaninzi kunye nokuziphatha okufanayo UPSERT
ingasetyenziswa ngokuseta iiflegi ezongezelelweyo zomsebenzi. Ngokomzekelo, kumzekelo ongezantsi, uhlobo lomculi othile luhlaziywa ngokusekelwe kwingoma yakhe.
db.music.update(
{"artist": "The Acme Band"},
{
$set: {
"genre": "Disco"
}
},
{"multi": true, "upsert": true}
);
Ukususa idatha kwitafile
PostgreSQL
DELETE FROM Music
WHERE Artist = 'The Acme Band' AND SongTitle = 'Look Out, World';
Cassandra
Ngokufana nomzekelo wePostgreSQL ongentla.
MongoDB
I-MongoDB ineendidi ezimbini zokusebenza zokucima amaxwebhu -
db.music.deleteMany( {
artist: "The Acme Band"
}
);
Ukucima itafile
PostgreSQL
DROP TABLE Music;
Cassandra
Ngokufana nomzekelo wePostgreSQL ongentla.
MongoDB
db.music.drop();
isiphelo
Ingxoxo-mpikiswano malunga nokukhetha phakathi kwe-SQL kunye ne-NoSQL sele iqhubeka ngaphezu kweminyaka eyi-10. Kukho imiba emibini ephambili kule ngxoxo: uyilo lwe-injini yedatha (monolithic, transactional SQL vs distributed, non-transactional NoSQL) kunye nendlela yoyilo lwesiseko sedatha (umzekelo wedatha yakho kwiSQL vs ukulinganisa imibuzo yakho kwiNoSQL).
Ngokusasazwa kwedatha yentengiselwano efana neYugaByte DB, ingxoxo malunga nokwakhiwa kwedatha inokubekwa lula. Njengoko umthamo wedatha usiba mkhulu kunokuba unokubhalwa kwindawo enye, i-architecture esasazwe ngokupheleleyo exhasa i-linear scalability scalability kunye ne-automatic sharding / rebalancing iba yimfuneko.
Ngaphandle koko, njengoko kuchaziwe kwelinye lamanqaku
Ukubuyela kwingxoxo yoyilo lwesiseko sedatha, kuyafaneleka ukuthetha ukuba zombini iindlela zokuyila (SQL kunye ne-NoSQL) ziyimfuneko kuyo nayiphi na isicelo esinzima sehlabathi langempela. Indlela ye-SQL "yemodeli yedatha" ivumela abaphuhlisi ukuba bahlangabezane neemfuno eziguqukayo zeshishini, ngelixa i-NoSQL "i-query modeling" indlela ivumela abaphuhlisi abafanayo ukuba basebenze kumthamo omkhulu wedatha kunye ne-latency ephantsi kunye ne-throughput ephezulu. Kungenxa yesi sizathu ukuba i-YugaByte DB ibonelela ngeSQL kunye ne-NoSQL APIs kwisiseko esiqhelekileyo, kunokukhuthaza enye yeendlela. Ukongeza, ngokubonelela ngokuhambelana neelwimi zedatha edumileyo kubandakanya iPostgreSQL kunye neCassandra, iYugaByte DB iqinisekisa ukuba abaphuhlisi akufuneki bafunde olunye ulwimi ukuze basebenze nenjini yedatha esasaziweyo, engaguqukiyo kakhulu.
Kweli nqaku, sijonge ukuba isiseko soyilo lwedatha yahluke njani phakathi kwePostgreSQL, Cassandra, kunye neMongoDB. Kumanqaku exesha elizayo, siza kuntywila kwiikhonsepthi zoyilo olukwinqanaba eliphezulu ezifana nezalathiso, intengiselwano, JOINs, imiyalelo ye-TTL, kunye namaxwebhu e-JSON.
Sikunqwenelela ukuphumla okuhle impelaveki kwaye sikumema ukuba
umthombo: www.habr.com