Mahimman Zane-zane na Database - Kwatanta PostgreSQL, Cassandra da MongoDB

Sannu, abokai. Kafin mu tafi kashi na biyu na bukukuwan Mayu, za mu raba tare da ku abubuwan da muka fassara a cikin tsammanin ƙaddamar da sabon rafi a kan hanya. "Relational DBMS".

Mahimman Zane-zane na Database - Kwatanta PostgreSQL, Cassandra da MongoDB

Masu haɓaka aikace-aikacen suna ɗaukar lokaci mai yawa suna kwatanta bayanan aiki da yawa don zaɓar wanda ya fi dacewa da aikin da aka yi niyya. Bukatun na iya haɗawa da sauƙaƙe ƙirar bayanai, garantin ma'amala, karantawa/rubutu aiki, sikeli a kwance, da haƙurin kuskure. A al'adance, zaɓin yana farawa da nau'in bayanan bayanai, SQL ko NoSQL, tunda kowane nau'in yana gabatar da fayyace tsarin ciniki. Babban aiki dangane da ƙarancin latency da babban kayan aiki ana ganin gabaɗaya azaman buƙatun rashin ciniki kuma don haka yana da mahimmanci ga kowane samfurin bayanai.

Manufar wannan labarin shine don taimakawa masu haɓaka aikace-aikacen yin zaɓin da ya dace tsakanin SQL da NoSQL a cikin yanayin ƙirar bayanan aikace-aikacen. Za mu duba bayanan SQL guda daya, wato PostgreSQL, da kuma ma’adanin NoSQL guda biyu, Cassandra da MongoDB, don rufe tushen tsarin zayyana bayanai, kamar samar da teburi, da yawan jama’a, karanta bayanai daga tebur, da goge su. A cikin labarin na gaba, za mu tabbatar da duba fihirisa, ma'amaloli, JOINs, umarnin TTL, da ƙirar tushen bayanai na JSON.

Menene bambanci tsakanin SQL da NoSQL?

Ma'ajin bayanai na SQL yana haɓaka sassaucin aikace-aikacen ta hanyar garantin ma'amala na ACID, da kuma ikon su na neman bayanai ta amfani da JOINs ta hanyoyin da ba'a zata ba a saman samfuran bayanai na yau da kullun na yau da kullun.

Ganin tsarin gine-ginen su na monolithic / kumburi guda ɗaya da kuma amfani da samfurin kwafi na bawa-bawa don sakewa, bayanan SQL na al'ada sun rasa mahimman fasali guda biyu - madaidaicin rubutun layi (watau rarrabawar atomatik a cikin nodes da yawa) da kuma asarar bayanai ta atomatik / sifili. Wannan yana nufin cewa adadin bayanan da aka karɓa ba zai iya wuce iyakar abin da aka rubuta na kulli ɗaya ba. Bugu da kari, dole ne a yi la'akari da wasu asarar bayanai na wucin gadi cikin la'akari da haƙurin kuskure (a cikin tsarin gine-ginen ba tare da wani abu ba). Anan kuna buƙatar tunawa cewa ayyukan kwanan nan ba a bayyana su a cikin kwafin bawa ba. Sabuntawar da ba a rage lokaci ba kuma suna da wahala a samu a cikin bayanan SQL.

Yawancin bayanai na NoSQL ana rarraba su ta yanayi, watau. A cikin su, an rarraba bayanai zuwa sassa kuma an rarraba su a cikin nodes da yawa. Suna buƙatar rashin daidaituwa. Wannan yana nufin cewa bayanan da aka shigar kuma dole ne a kwafi sau da yawa don amsa takamaiman buƙatun da kuka aika. Manufar gaba ɗaya ita ce samun babban aiki ta hanyar rage yawan shards da ake samu yayin karantawa. Wannan yana nuna cewa NoSQL yana buƙatar ku ƙirƙira tambayoyinku, yayin da SQL yana buƙatar ku tsara bayanan ku.

NoSQL yana mai da hankali kan samun babban aiki a cikin gungu da aka rarraba kuma wannan shine tushen dalili don yawancin cinikin ƙirƙira bayanan bayanai waɗanda suka haɗa da asarar ma'amalar ACID, JOINs, da daidaiton ma'auni na biyu na duniya.

Akwai gardama cewa yayin da bayanan NoSQL ke ba da madaidaiciyar rubutun rubutu da juriya mai girma, asarar garantin ma'amala ya sa ba su dace da mahimman bayanai na manufa ba.

Tebur mai zuwa yana nuna yadda ƙirar bayanai a NoSQL ta bambanta da SQL.

Mahimman Zane-zane na Database - Kwatanta PostgreSQL, Cassandra da MongoDB

SQL da NoSQL: Me yasa ake buƙatar duka biyun?

Aikace-aikace na ainihi tare da adadi mai yawa na masu amfani, irin su Amazon.com, Netflix, Uber, da Airbnb, suna da alhakin yin ayyuka masu rikitarwa, masu yawa. Misali, aikace-aikacen kasuwancin e-commerce kamar Amazon.com yana buƙatar adana nauyi, mahimman bayanai masu mahimmanci kamar bayanan mai amfani, samfura, umarni, daftari, tare da nauyi, ƙarancin bayanai masu mahimmanci kamar bita na samfur, saƙonnin goyan baya, ayyukan mai amfani, sake dubawa masu amfani da shawarwari. A zahiri, waɗannan aikace-aikacen sun dogara da aƙalla bayanan SQL guda ɗaya tare da aƙalla mahimman bayanai na NoSQL ɗaya. A cikin tsarin yanki da na duniya, bayanan NoSQL yana aiki azaman cache da aka rarraba ta geo don bayanan da aka adana a cikin amintaccen tushen SQL database da ke gudana a cikin yanki guda.

Ta yaya YugaByte DB ke haɗa SQL da NoSQL?

An gina shi akan injin ɗin ajiya mai haɗaɗɗiyar log-oriented, auto-sharding, sharded rarraba yarjejeniya kwafi da ACID rarraba ma'amaloli (wahayi daga Google Spanner), YugaByte DB shine farkon buɗaɗɗen bayanai na duniya wanda ke dacewa da NoSQL (Cassandra & Redis) da kuma SQL (PostgreSQL). Kamar yadda aka nuna a teburin da ke ƙasa, YCQL, YugaByte DB API mai jituwa tare da Cassandra, yana ƙara ra'ayoyin ma'amaloli guda ɗaya da maɓalli na ACID da fihirisa na biyu na duniya zuwa NoSQL API, don haka ya haifar da zamanin ma'amalar bayanan NoSQL. Bugu da ƙari, YCQL, YugaByte DB API mai jituwa tare da PostgreSQL, yana ƙara ra'ayoyin madaidaicin rubutun layi da juriya ta atomatik ga SQL API, yana kawo rarraba bayanai na SQL ga duniya. Saboda YugaByte DB ma'amala ne a cikin yanayi, ana iya amfani da NoSQL API a cikin mahallin mahimman bayanai na manufa.

Mahimman Zane-zane na Database - Kwatanta PostgreSQL, Cassandra da MongoDB

Kamar yadda aka fada a baya a cikin labarin "Gabatar da YSQL: API ɗin SQL Mai Haɗin Rarraba PostgreSQL don YugaByte DB", zaɓi tsakanin SQL ko NoSQL a cikin YugaByte DB ya dogara gaba ɗaya akan halayen aikin da ke ƙasa:

  • Idan babban aikin ku shine ayyukan JOIN masu maɓalli da yawa, sannan lokacin zabar YSQL, ku fahimci cewa ana iya rarraba maɓallan ku a cikin nodes masu yawa, yana haifar da latency da/ko ƙasan kayan aiki fiye da NoSQL.
  • In ba haka ba, zaɓi ɗayan API ɗin NoSQL guda biyu, la'akari da cewa za ku sami kyakkyawan aiki sakamakon tambayoyin da aka yi aiki daga kumburi ɗaya lokaci guda. YugaByte DB na iya zama azaman bayanan aiki guda ɗaya don ainihin duniya, aikace-aikace masu rikitarwa waɗanda ke buƙatar sarrafa nauyin ayyuka da yawa a lokaci guda.

Lab ɗin ƙirar bayanan da ke cikin sashe na gaba ya dogara ne akan PostgreSQL da Cassandra API masu dacewa da bayanan bayanai na YugaByte DB, sabanin tushen bayanai na asali. Wannan tsarin yana jaddada sauƙi na mu'amala da API guda biyu daban-daban (a kan tashoshin jiragen ruwa daban-daban guda biyu) na gungu na bayanai iri ɗaya, sabanin yin amfani da gungu masu zaman kansu na mabambantan bayanai guda biyu.
A cikin ɓangarorin masu zuwa, za mu kalli ɗakin binciken ƙirar bayanai don kwatanta bambance-bambance da wasu abubuwan gama gari na bayanan da aka rufe.

Laboratory Modeling Data

Shigar da bayanai

Idan aka ba da fifiko kan ƙirar ƙirar bayanai (maimakon haɗaɗɗun gine-ginen turawa), za mu shigar da bayanan bayanai a cikin kwantena Docker akan injin gida sannan mu yi hulɗa tare da su ta amfani da bawowin layin umarni daban-daban.

PostgreSQL & Cassandra sun dace da bayanan 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

Shiga layin umarni

Bari mu haɗa zuwa bayanan bayanai ta amfani da harsashin layin umarni don APIs masu dacewa.

PostgreSQL

psql harsashi ne na layin umarni don hulɗa tare da PostgreSQL. Don sauƙin amfani, YugaByte DB yana zuwa tare da psql daidai a cikin babban fayil ɗin bin.

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

Cassandra

cqlsh harsashi ne na layin umarni don yin hulɗa tare da Cassandra da madaidaitan bayanan bayanai ta hanyar CQL (Cassandra Query Language). Don sauƙin amfani, YugaByte DB ya zo tare da cqlsh a cikin kasida bin.
Lura cewa CQL ya sami wahayi daga SQL kuma yana da irin wannan ra'ayi na tebur, layuka, ginshiƙai da fihirisa. Koyaya, a matsayin yaren NoSQL, yana ƙara ƙayyadaddun ƙayyadaddun ƙayyadaddun su, yawancin waɗanda kuma za mu rufe su a cikin wasu labaran.

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

MongoDB

mongo harsashi ne na layin umarni don hulɗa tare da MongoDB. Ana iya samun shi a cikin kundin adireshi na shigarwar MongoDB.

docker exec -it my-mongo bash 
cd bin
mongo

Ƙirƙiri tebur

Yanzu za mu iya yin hulɗa tare da bayanan bayanai don yin ayyuka daban-daban ta amfani da layin umarni. Bari mu fara da ƙirƙirar tebur mai adana bayanai game da waƙoƙin da masu fasaha daban-daban suka rubuta. Waɗannan waƙoƙin ƙila su kasance ɓangare na kundi. Hakanan halayen zaɓi na waƙa sune shekarar fitarwa, farashi, nau'i da ƙima. Muna buƙatar yin lissafin ƙarin halayen da za a iya buƙata a nan gaba ta filin "tags". Yana iya adana bayanan da aka ƙera a cikin nau'i na maɓalli-darajar nau'i-nau'i.

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

Ƙirƙirar tebur a Cassandra yayi kama da PostgreSQL. Ɗaya daga cikin manyan bambance-bambancen shine rashin ƙuntatawa na gaskiya (misali BA NULL), amma wannan shine alhakin aikace-aikacen, ba NoSQL database ba.. Maɓalli na farko ya ƙunshi maɓallin ɓangarori (shafin ƙwararrun mawaƙa a cikin misalin da ke ƙasa) da saitin ginshiƙai masu tari (shafin SongTitle a misalin da ke ƙasa). Maɓallin ɓangaren yana ƙayyade wane bangare/shard ya kamata a sanya jere a ciki, kuma ginshiƙan tari suna nuna yadda ya kamata a tsara bayanan a cikin shard na yanzu.

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 yana tsara bayanai cikin rumbun adana bayanai (Database) (kamar Keyspace a Cassandra), inda akwai Tarin (mai kama da teburi) waɗanda ke ɗauke da Takardu (mai kama da layuka a cikin tebur). A cikin MongoDB, ainihin babu buƙatar ayyana tsarin farko. Tawaga "amfani da database", wanda aka nuna a ƙasa, yana ɗaukar bayanan bayanan akan kiran farko kuma yana canza mahallin sabon bayanan da aka ƙirƙira. Ko tarin ba ya buƙatar ƙirƙirar su a sarari; ana ƙirƙira su ta atomatik, kawai lokacin da kuka ƙara daftarin aiki na farko zuwa sabon tarin. Lura cewa MongoDB yana amfani da bayanan gwajin ta tsohuwa, don haka duk wani aiki na matakin tattarawa ba tare da ƙayyadadden takamaiman bayanai ba zai gudana akan sa ta tsohuwa.

use myNewDatabase;

Samun bayanai game da tebur
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;

Shigar da bayanai a cikin tebur
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

Gabaɗaya magana INSERT a Cassandra yayi kama da na PostgreSQL. Koyaya, akwai babban bambanci guda ɗaya a cikin ilimin tauhidi. In Cassandra INSERT aiki ne a zahiri UPSERT, inda ake ƙara ƙimar ƙarshe zuwa jere idan layin ya riga ya wanzu.

Shigar da bayanai yayi kama da PostgreSQL INSERT mafi girma

.

MongoDB

Ko da yake MongoDB rumbun adana bayanai ne na NoSQL kamar Cassandra, aikin shigar da shi ba shi da wani abu da ya dace da dabi'ar tasu ta Cassandra. A cikin MongoDB saka () ba shi da damar UPSERT, wanda ya sa ya zama kama da PostgreSQL. Ƙara tsoho bayanai ba tare da _idspecified zai sa a ƙara sabon daftarin aiki a cikin tarin.

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

Tambayar Tebur

Wataƙila mafi girman bambanci tsakanin SQL da NoSQL dangane da ginin tambaya shine harshen da ake amfani da shi FROM и WHERE. SQL yana ba da damar bayan magana FROM zaɓi teburi da yawa, da magana da WHERE na iya zama na kowane rikitarwa (ciki har da ayyuka JOIN tsakanin tebur). Koyaya, NoSQL yana ƙoƙarin sanya iyaka mai ƙarfi akan FROM, kuma aiki kawai tare da takamaiman tebur guda ɗaya, kuma a ciki WHERE, dole ne a bayyana maɓalli na farko koyaushe. Wannan yana da alaƙa da tura aikin NoSQL da muka yi magana akai a baya. Wannan sha'awar tana haifar da kowane ragi mai yuwuwa a cikin kowane ma'amala ta giciye da maɓalli. Zai iya gabatar da babban jinkiri a cikin sadarwar kuɗaɗe yayin amsa buƙatu don haka ya fi kyau a guje shi gabaɗaya. Misali, Cassandra na buƙatar tambayoyin da za a iyakance ga wasu masu aiki (kawai =, IN, <, >, =>, <=) akan maɓallan ɓangarori, sai dai lokacin da ake buƙatar fihirisar sakandare (kawai = afareta ne kawai aka yarda a nan).

PostgreSQL

A ƙasa akwai misalan tambayoyin guda uku waɗanda za a iya aiwatar da su cikin sauƙi ta hanyar bayanan SQL.

  • Nuna duk waƙoƙin mai zane;
  • Nuna duk waƙoƙin mai zane wanda ya dace da sashin farko na take;
  • Nuna duk waƙoƙin mai zane wanda ke da takamaiman kalma a cikin take kuma yana da farashi ƙasa da 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

Daga cikin tambayoyin PostgreSQL da aka jera a sama, na farko kawai zai yi aiki ba canzawa a Cassandra, tunda ma'aikacin. LIKE ba za a iya amfani da gungu-gungu kamar SongTitle. A wannan yanayin, masu aiki ne kawai aka yarda = и 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

Kamar yadda aka nuna a cikin misalan da suka gabata, babbar hanyar ƙirƙirar tambayoyi a MongoDB ita ce db.collection.find(). Wannan hanyar a bayyane ta ƙunshi sunan tarin (music a cikin misalin da ke ƙasa), don haka an haramta tambayar tarin tarin yawa.

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

Karanta duk layuka na tebur

Karatun duk layuka wani lamari ne na musamman na tsarin tambayar da muka duba a baya.

PostgreSQL

SELECT * 
FROM Music;

Cassandra

Mai kama da misalin PostgreSQL a sama.

MongoDB

db.music.find( {} );

Gyara bayanai a cikin tebur

PostgreSQL

PostgreSQL yana ba da umarni UPDATE don canja bayanai. Ba ta da dama UPSERT, don haka wannan bayanin zai gaza idan layin baya cikin ma'ajin bayanai.

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

Cassandra

Cassandra ya da UPDATE kama da PostgreSQL. UPDATE yana da ma'ana guda ɗaya UPSERT, kama INSERT.

Mai kama da misalin PostgreSQL a sama.

MongoDB
Ayyuka sabunta () a MongoDB na iya sabunta takaddun da ke akwai gaba ɗaya ko sabunta wasu filayen kawai. Ta hanyar tsoho, yana sabunta takarda ɗaya kawai tare da nakasassu UPSERT. Ana sabunta takardu da yawa da halaye iri ɗaya UPSERT ana iya amfani da su ta hanyar saita ƙarin tutoci don aiki. Alal misali, a cikin misalin da ke ƙasa, an sabunta nau'in wani mawaƙa na musamman bisa ga waƙarsa.

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

Cire bayanai daga tebur

PostgreSQL

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

Cassandra

Mai kama da misalin PostgreSQL a sama.

MongoDB

MongoDB yana da nau'ikan ayyuka guda biyu don share takardu - shareOne() /share Yawancin() и Cire (). Dukansu nau'ikan suna share takardu amma suna dawo da sakamako daban-daban.

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

Share tebur

PostgreSQL

DROP TABLE Music;

Cassandra

Mai kama da misalin PostgreSQL a sama.

MongoDB

db.music.drop();

ƙarshe

Muhawarar zabar tsakanin SQL da NoSQL ta shafe fiye da shekaru 10 ana tafka muhawara. Akwai manyan abubuwa guda biyu ga wannan muhawarar: tsarin injiniyan bayanai (monolithic, dealal SQL vs rarraba, NoSQL mara ma'amala) da tsarin ƙirar bayanai (samuwar bayanan ku a cikin SQL vs yin ƙirar tambayoyinku a NoSQL).

Tare da bayanan ma'amala da aka rarraba kamar YugaByte DB, muhawara game da gine-ginen bayanai za a iya ajiye su cikin sauƙi. Yayin da kundin bayanai ya fi girma fiye da abin da za a iya rubutawa zuwa kulli ɗaya, cikakken tsarin gine-ginen da aka rarraba wanda ke goyan bayan rubutattun layi tare da sharding/sake daidaitawa ta atomatik ya zama dole.

Bayan haka, kamar yadda aka bayyana a cikin ɗayan labarin Google Cloud,Ma'amala, da ƙarfi m architectures yanzu more ,amfani da samar da ingantacciyar ci gaba agility fiye da wadanda ba mu'amala, , ƙarshe m architectures.

Idan muka dawo kan tattaunawar ƙirƙira bayanan bayanai, yana da kyau a faɗi cewa duka hanyoyin ƙira (SQL da NoSQL) suna da mahimmanci ga kowane hadadden aikace-aikacen duniyar gaske. Hanyar SQL ta "daidaita bayanan bayanai" tana ba masu haɓaka damar samun sauƙin biyan buƙatun kasuwanci, yayin da tsarin NoSQL "ƙirar ƙirar tambaya" yana ba masu haɓaka iri ɗaya damar yin aiki akan babban kundin bayanai tare da ƙarancin latency da babban kayan aiki. Don haka ne YugaByte DB ke samar da SQL da NoSQL APIs a cikin mahimmin mahimmanci, maimakon haɓaka ɗayan hanyoyin. Bugu da ƙari, ta hanyar samar da dacewa tare da shahararrun harsunan bayanai da suka haɗa da PostgreSQL da Cassandra, YugaByte DB yana tabbatar da cewa masu haɓakawa ba dole ba ne su koyi wani yare don yin aiki tare da injunan bayanai da aka rarraba, mai daidaituwa sosai.

A cikin wannan labarin, mun kalli yadda tushen ƙirar bayanai ya bambanta tsakanin PostgreSQL, Cassandra, da MongoDB. A cikin labarai na gaba, za mu nutse cikin dabarun ƙira na ci gaba kamar fihirisa, ma'amaloli, JOINs, umarnin TTL, da takaddun JSON.

Muna muku fatan alheri na karshen mako kuma muna gayyatar ku zuwa webinar kyauta, wanda zai gudana a ranar 14 ga Mayu.

source: www.habr.com

Add a comment