Distributed Database vs Centralized Database
Ang Centralized database ay isang database kung saan iniimbak at pinapanatili ang data sa isang lokasyon. Ito ang tradisyonal na diskarte para sa pag-iimbak ng data sa malalaking negosyo. Ang distributed database ay isang database kung saan iniimbak ang data sa mga storage device na hindi matatagpuan sa parehong pisikal na lokasyon ngunit ang database ay kinokontrol gamit ang isang central Database Management System (DBMS).
Ano ang Centralized Database?
Sa isang sentralisadong database, ang lahat ng data ng isang organisasyon ay nakaimbak sa isang lugar gaya ng isang mainframe computer o isang server. Ina-access ng mga user sa malalayong lokasyon ang data sa pamamagitan ng Wide Area Network (WAN) gamit ang mga application program na ibinigay para ma-access ang data. Ang sentralisadong database (ang mainframe o ang server) ay dapat na matugunan ang lahat ng mga kahilingan na dumarating sa system, samakatuwid ay madaling maging isang bottleneck. Ngunit dahil ang lahat ng data ay naninirahan sa iisang lugar, mas madaling mapanatili at i-back up ang data. Higit pa rito, mas madaling mapanatili ang integridad ng data, dahil kapag naimbak na ang data sa isang sentralisadong database, hindi na available ang lumang data sa ibang mga lugar.
Ano ang Distributed Database?
Sa isang distributed database, ang data ay iniimbak sa mga storage device na matatagpuan sa iba't ibang pisikal na lokasyon. Hindi sila naka-attach sa isang karaniwang CPU ngunit ang database ay kinokontrol ng isang sentral na DBMS. Ina-access ng mga user ang data sa isang distributed database sa pamamagitan ng pag-access sa WAN. Upang panatilihing napapanahon ang isang distributed database, ginagamit nito ang mga proseso ng pagtitiklop at pagdoble. Tinutukoy ng proseso ng pagtitiklop ang mga pagbabago sa naipamahagi na database at inilalapat ang mga pagbabagong iyon upang matiyak na pareho ang hitsura ng lahat ng ibinahagi na database. Depende sa bilang ng mga naipamahagi na database, ang prosesong ito ay maaaring maging napaka-kumplikado at matagal. Tinutukoy ng proseso ng pagdoble ang isang database bilang master database at kino-duplicate ang database na iyon. Ang prosesong ito ay hindi kumplikado bilang proseso ng pagtitiklop ngunit tinitiyak na ang lahat ng mga ipinamamahaging database ay may parehong data.
Ano ang pagkakaiba ng Distributed Database at Centralized Database?
Habang pinapanatili ng isang sentralisadong database ang data nito sa mga storage device na nasa iisang lokasyon na nakakonekta sa isang CPU, pinapanatili ng isang distributed database system ang data nito sa mga storage device na posibleng matatagpuan sa iba't ibang heograpikal na lokasyon at pinamamahalaan gamit ang isang central DBMS. Ang isang sentralisadong database ay mas madaling mapanatili at panatilihing na-update dahil ang lahat ng data ay naka-imbak sa isang solong lokasyon. Higit pa rito, mas madaling mapanatili ang integridad ng data at maiwasan ang pangangailangan para sa pagdoble ng data. Ngunit, ang lahat ng mga kahilingang dumarating upang ma-access ang data ay pinoproseso ng isang entity gaya ng isang mainframe, at samakatuwid ay madali itong maging bottleneck. Ngunit sa mga distributed database, maiiwasan ang bottleneck na ito dahil ang mga database ay parallelized na ginagawang balanse ang load sa pagitan ng ilang mga server. Ngunit ang pagpapanatiling napapanahon ang data sa distributed database system ay nangangailangan ng karagdagang trabaho, samakatuwid ay nagpapataas ng gastos sa pagpapanatili at pagiging kumplikado at nangangailangan din ng karagdagang software para sa layuning ito. Higit pa rito, ang pagdidisenyo ng mga database para sa isang distributed database ay mas kumplikado kaysa sa parehong para sa isang sentralisadong database.