Talaan ng mga Nilalaman:
Kahulugan - Ano ang ibig sabihin ng NoSQL?
Ang NoSQL ay isang klase ng mga sistema ng pamamahala ng database (DBMS) na hindi sumusunod sa lahat ng mga patakaran ng isang relational DBMS at hindi maaaring gumamit ng tradisyonal na SQL upang maghanap ng data. Ang term ay medyo nakaliligaw kapag binibigyang kahulugan bilang "Walang SQL, " at karamihan ay isalin ito bilang "Hindi Lamang SQL, " dahil ang ganitong uri ng database ay hindi pangkalahatang kapalit ngunit, sa halip, isang pantulong na karagdagan sa mga RDBMS at SQL.
Ang mga system na nakabase sa NoSQL ay karaniwang ginagamit sa napakalaking database, na partikular na madaling kapitan ng mga problema sa pagganap na sanhi ng mga limitasyon ng SQL at ang relational model ng mga database. Marami ang nag-iisip ng NoSQL bilang ang modernong database na pinili na kaliskis sa mga kinakailangan sa Web. Ang ilan sa mga kilalang pagpapatupad ng NoSQL ay ang database ng Cassandra ng Facebook, BigTable ng Google at ang SimpleDB ng Amazon at Dynamo.
Ipinapaliwanag ng Techopedia ang NoSQL
Ang isang database ng NoSQL ay hindi kinakailangang sundin ang mahigpit na mga patakaran na namamahala sa mga transaksyon sa mga database ng relational. Ang mga paglabag na panuntunan na ito ay kilala ng acronym ACID (Atomicity, Consistency, Integrity, Durability). Halimbawa, ang mga database ng NoSQL ay hindi gumagamit ng mga nakapirming istruktura ng schema at sumali ang SQL.
Sa isang tradisyunal na RDBMS, ang pangunahing operasyon ay binabasa at nagsusulat. Maaaring mai-scale ang mga pamasahe sa pamamagitan ng pagtitiklop ng data sa maraming mga makina, sa gayon ang mga kahilingan sa pagbabasa ng pag-load. Gayunpaman, nakakaapekto ito sa mga nagsusulat dahil dapat mapanatili ang pagkakapareho ng data. Ang mga nakasulat lamang ay maaaring mai-scale sa pamamagitan ng pagkahati sa data. Nakakaapekto ito sa mga nabasa, dahil ang ipinamamahagi na sumali ay karaniwang mabagal at mahirap ipatupad. Bilang karagdagan, upang mapanatili ang mga katangian ng ACID, ang mga database ay dapat i-lock ang data. Nangangahulugan ito na kapag binuksan ng isang gumagamit ang isang item ng data, walang ibang gumagamit ang dapat gumawa ng mga pagbabago sa parehong item. Ang paghihigpit na ito ay may malubhang implikasyon sa pagganap.
Ang mga limitasyong ito ay hindi naging isang malaking problema sa nakaraan. Gayunpaman, sa pagdating ng social networking at malaking data, ang isang napakalaking database na lumitaw ay pinilit na magsilbi sa sampu-sampung, o daan-daang, ng milyun-milyong mga kliyente sa buong mundo na may maraming libong nagbabasa at nagsusulat bawat minuto. Hindi lamang natutugunan ng mga tradisyonal na RDBMS ang pangangailangang ito sapagkat maaari lamang silang "masukat, " o dagdagan ang mga mapagkukunan sa isang sentral na server. Ang isang pagpapatupad ng NoSQL, sa kabilang banda, ay maaaring "masukat, " o ipamahagi ang pagkarga ng database sa higit pang mga server.
Ang mga database ng NoSQL ay nakatuon sa mga partikular na klase ng mga problema - mula sa pagiging mas nababaluktot tungkol sa nakaimbak na data (mga tindahan ng dokumento), sa pag-target ng mga kaso ng paggamit, tulad ng mga relasyon (mga database ng graph) at mga pinagsama-samang data (mga database ng haligi) o pinapasimple lamang ang ideya ng isang database hanggang sa isang bagay na nag-iimbak ng isang halaga (mga tindahan ng key / halaga).
Nag-aalok ang mga database ng NoSQL ng mga bentahe ng mabilis na scalability, mas mahusay na pagganap, at isang mas simpleng istraktura kumpara sa mga RDBMS. Gayunpaman, nagdurusa rin sila sa pagiging medyo bago at hindi pa nagagawang teknolohiya, at hindi nila maibibigay ang mayamang pag-uulat at pag-andar ng analytical ng RDBMS.