
Ang paggamit ng mobile phone ay naging sentro ng ating digital na buhay: ngayon, Ginugugol natin ang halos 80% ng ating oras online habang hawak ang ating smartphoneAng malaking pagbabagong ito sa mga gawi ng mga mamimili ay nagtulak sa mga kumpanya na ganap na pag-isipang muli ang kanilang modelo ng negosyo at kung paano sila bumubuo ng mga digital na produkto. Hindi na sapat ang pagkakaroon ng isang mahusay na app o isang matibay na backend: ngayon ay mahalagang unahin ang mobility, performance, at karanasan ng gumagamit anumang oras, kahit saan.
Malaking bahagi ng pagsisikap na iyon ay nakatuon sa kung paano namin iniimbak, pinamamahalaan, at ginagamit ang datos na nabuo ng mga gumagamit Kapag nakikipag-ugnayan ang mga user sa aming mga mobile application, bawat pag-click, bawat booking, bawat mensahe, o bawat ticket ay bumubuo ng impormasyong dapat ligtas na nakaimbak, magagamit, at naka-synchronize sa lahat ng device. Dito pumapasok ang mga SQL at NoSQL database, kasama ang isang bagong henerasyon ng mga tool at app para sa pamamahala ng mga ito habang naglalakbay.
Ang hamon ng pamamahala ng data sa mga mobile na kapaligiran
Kapag sinisiyasat natin ang mundo ng mga database management app, agad nating nahaharap ang isang katotohanan: ang pinakakaraniwang mga mobile platform (iOS, Android o kahit Windows Phone) May dala silang mga tool na idinisenyo upang magdisenyo at magpatakbo ng mga application, ngunit ang kanilang mga katutubong solusyon sa imbakan ay hindi palaging umuunlad sa parehong bilis ng merkado at mga inaasahan ng gumagamit.
May katulad na nangyayari sa mga hybrid na teknolohiya batay sa HTML5, tulad ng Apache Cordova o PhoneGap, at mga framework tulad ng ionic 3Ang kanilang mga lokal na sistema ng imbakan—kadalasang limitado sa SQLite o mga simpleng mekanismo ng persistence—ay pinipilit ang mga developer na mapanatili ang napakaaktibong pamamahala ng data, manu-manong pagdidisenyo ng synchronization, pagkontrol ng bersyon, at mga proseso ng paglutas ng conflict. Ito ay isinasalin sa mas maraming komplikasyon at mas maraming oras sa pag-develop upang makamit ang isang bagay na ipinagwawalang-bahala ng user: na ang kanilang data ay naroon at gumagana nang tama.
Bukod pa rito, ang kilos ng mga gumagamit ay lubhang nagbago. Ngayon, maghintay ka lang. Masiyahan sa app kahit walang koneksyon sa internetGusto niya itong buksan sa eroplano, sa subway, o sa gitna ng mga bundok at patuloy na i-access at baguhin ang impormasyon na parang walang problema. Ang tradisyonal na pamamaraan sa teknolohiya ng mobile ay ang pagsubaybay sa katayuan ng network at pag-activate o pag-deactivate ng mga function depende sa kung mayroong koneksyon o wala, pagpapakita ng mga mensahe ng error o pag-block ng mga aksyon kapag hindi namin makontak ang server.
Kung iisipin mo, mainam sana kung may teknolohiyang halos kapareho ng ginagamit ng... mga serbisyo sa backend at mga database sa server-sidena nagtatago sa lahat ng kasalimuotan ng koneksyon ng device at nag-aalok ng pare-parehong modelo ng data online at offline. Dito talaga namumukod-tangi ang ilang solusyon sa NoSQL, at sa partikular, kung saan nag-aalok ang Couchbase ng isang napaka-interesante na panukala sa Couchbase Mobile.
Couchbase Mobile: walang aberyang pag-synchronize ng data
Tumugon ang Couchbase sa hamong ito sa pamamagitan ng paglulunsad Couchbase Mobile, isang hanay ng mga tool na idinisenyo upang mapanatiling naka-synchronize ang impormasyon sa pagitan ng mga mobile device at server sa isang simple, awtomatiko, at higit na transparent na paraan para sa developer.
Ang mobile device ay nagpapatakbo ng isang pinaliit ngunit napaka-kakayahang bersyon ng database engine, na tinatawag na Couchbase LiteBagama't tinatawag itong "Lite," hindi ito isang limitadong solusyon: pinapayagan ka nitong magsagawa ng mga tipikal na operasyon ng CRUD (Create, Read, Update, Delete), gumamit ng mga advanced view at index, at magpatakbo pa ng mga proseso ng MapReduce. Sa madaling salita, halos lahat ng kailangan mo ay nasa iyo na. ang kapangyarihan ng isang kumpletong NoSQL database sa iyong palad.
Ang mga operasyon ay direktang isinasagawa sa lokal na nakaimbak na dataset, paggamit nang husto sa lakas ng pagproseso ng mga modernong mobile phone at tabletIto ay may mahalagang epekto para sa karanasan ng gumagamit: ang app ay maaaring magpakita, mag-filter, mag-uri-uri, o magbago ng data agad-agad, nang hindi kinakailangang maghintay para sa tugon ng server o magpakita ng walang katapusang mga icon na "naglo-load". Ang gumagamit ay may napapanahong kopya ng kanilang impormasyon sa device, at ang persepsyon ng pagiging fluid ay lubos na bumubuti.
Upang mapanatili ang pagkakapare-pareho sa pagitan ng nangyayari sa mobile device at kung ano ang nangyayari sa server, umaasa ang Couchbase sa isa pa nitong produkto, Gateway ng Pag-syncAng bahaging ito ay gumaganap bilang tagapamagitan sa pagitan ng iba't ibang client device at ng central Couchbase Server, at responsable sa pamamahala ng pag-synchronize ng dokumento, mga pahintulot, at mga channel ng pamamahagi ng data.
Paano i-synchronize ang impormasyon gamit ang Sync Gateway
Ang pag-synchronize sa Couchbase Mobile ay inayos ng mga tinukoy na patakaran sa mga channel at awtorisasyon bawat dokumentoSa pagsasagawa, nangangahulugan ito na maaari nating magpasya kung aling subset ng impormasyon ang dapat makarating sa bawat device batay sa seguridad, pagiging miyembro, o pamantayan sa segmentasyon, na maiiwasan ang pagpapadala ng hindi kinakailangang data.
Sa isang banda, nakakamit ng pamamaraang ito ang bawasan ang trapiko ng mobile dataNapakahalaga nito para sa wallet ng gumagamit at para sa pagganap ng app; at, sa kabilang banda, tinitiyak nito na ang bawat device ay makakatanggap lamang ng impormasyong aktuwal na para rito. Ang bawat dokumento ay naka-link sa isang user o grupo ng mga user, at tinitiyak ng mga patakaran ng Sync Gateway na walang device ang makakakita ng data na hindi dapat nito makita.
Isa pa sa mga kalakasan ng arkitekturang ito ay ang cross-platform na oryentasyonAng Couchbase Lite ay natural na magagamit para sa iOS, Android, at .NET, at maaari ring isama sa mga hybrid platform tulad ng PhoneGap (Apache Cordova) o mga cross-platform framework tulad ng Mag-flutterBukod pa rito, posibleng gamitin ang Couchbase Lite nang walang Sync Gateway, na gumagana lamang gamit ang lokal na data ng device, na lubhang kapaki-pakinabang sa mga app na hindi nangangailangan ng pag-synchronize sa isang sentralisadong backend.
Sa mga kasong iyon, maaaring piliin ng developer ang Couchbase Lite sa halip na gumamit ng SQLite o iba pang mas simpleng solusyon sa imbakan na kadalasang nabibigo kapag lumalaki ang functionality, data volume, o query complexity ng application. Ang pagkakaroon ng isang mature na NoSQL engine on-premises ay nagbubukas ng pinto sa mas flexible na data model at isang hindi gaanong nakakagambalang ebolusyon ng produkto.
Mga halimbawa ng paggamit ng mga database sa mga mobile application
Para mas maunawaan ang mga bentahe ng ganitong uri ng mga kagamitan, makakatulong na isipin ang isang totoong senaryo sa buhay. Mag-isip ng isang Isang travel app na nagse-sentralisa sa lahat ng iyong mga tiket, booking sa hotel, at tiket sa eroplano.Makatuwiran na gugustuhin mong ma-access ang impormasyong iyon habang nasa paliparan ka, nasa tren, o kahit pagdating sa iyong destinasyon, kadalasan nang walang matatag na koneksyon ng data.
Gamit ang isang solusyon tulad ng Couchbase Mobile, maaaring magkaroon ang gumagamit Lahat ng impormasyon sa paglalakbay mo ay available nang hindi mo na kailangang mag-onlineMaaaring ipakita ng app ang impormasyon ng mga flight, iskedyul ng tren, reserbasyon sa hotel, ruta ng lungsod, at mga itineraryo ng pamamasyal. At hindi lang ito basta naghahanap ng mga bagay-bagay: maaari mo ring markahan ang mga natapos na flight, mga lugar na binisita, o mga nakanselang reserbasyon, lahat nang hindi umaasa sa saklaw ng network. Kapag nakakonekta muli ang iyong device, awtomatikong magsi-sync ang mga pagbabago at walang anumang interbensyon.
Isa pang napaka-ilustratibong senaryo ay ang mga aplikasyon na may mga punto ng interes (POI) na ipinamahagi ayon sa heograpiyaKung papalitan natin ang mga POI ng Pokémon o PokeStations, mas magiging pamilyar ang halimbawa: sa ganitong uri ng mga laro o app sa geolocation, kailangan nating ipakita sa user kung anong mga elemento ang malapit, paano ang mga ito ina-update, at kung anong mga aksyon ang maaari nilang gawin sa mga ito, kadalasan nang hindi kinakailangang umasa sa isang tawag sa server bawat segundo.
Ang tradisyonal na paraan upang malutas ito ay karaniwang kinabibilangan ng mga mekanismo ng botohan o aktibong pakikinigSa mga sitwasyong ito, pana-panahong humihingi ng impormasyon ang kliyente o nagpapanatili ng mga bukas na koneksyon upang makatanggap ng mga update. Ang pamamaraang ito ay nangangailangan ng mas kumplikadong arkitektura, mas malaking pagkonsumo ng mapagkukunan ng server, at mas maselang programming. Sa pamamagitan ng paggamit ng Sync Gateway at isang mobile NoSQL engine, ang workload na ito ay itinatalaga sa solusyon sa synchronization, na binabawasan ang dami ng custom code na kailangang isulat ng development team.
Ang mga bentahe ng modelong ito ay marami: Malaking pagpapabuti sa karanasan ng gumagamit, nabawasang paggamit ng mobile data, mga sinerhiya sa pagitan ng mga backend at mobile team, at availability sa maraming platformBagama't hindi pangunahing komersyal na produkto ng Couchbase ang Couchbase Mobile, nag-aalok ito ng napakalinaw na mga bentahe para sa ilang partikular na uri ng proyekto na nakatuon sa karanasan ng gumagamit sa mobile at mahusay na pag-access sa data.
Mga tagapamahala ng SQL ng Enterprise para sa mga mahihirap na kapaligiran
Kapag lumipat tayo sa mas tradisyonal na aspeto ng mundo ng database, ang mga solusyon sa SQL ay nananatiling pundamental, lalo na sa mga konteksto ng enterprise. Sa aspetong ito, ang mga edisyon ng Enterprise at Enterprise Plus ng PostgreSQL, MySQL at SQL Server Nag-aalok ang mga ito ng mga advanced na kakayahan sa availability, performance, scalability, at proteksyon ng data na mahalaga para sa mga serbisyong dapat palaging gumagana.
Sa kaso ng PostgreSQL Enterprise PlusIsinama ang mga partikular na pagpapabuti na nakatuon sa mataas na availability at performance. Pinag-uusapan natin ang mga service level agreement (SLA) na ginagarantiyahan ang isang 99,99% na kakayahang magamitHalos walang downtime, na-optimize na mga configuration ng hardware at software, at matatalinong caching system na idinisenyo para sa mga workload ng transaksyon na maraming binabasa. Kasama rin dito ang opsyon na maaaring i-configure ang data caching at hanggang 35 araw na pagpapanatili ng log, na mahalaga para sa pag-audit, traceability, at pagbawi ng insidente.
Sa mundo ng MySQL Enterprise PlusAng pamamaraan ay magkatulad. Ang edisyong ito ay nagbibigay din ng SLA ng 99,99% na kakayahang magamitMinimal na maintenance habang downtime at na-optimize na mga configuration upang ma-maximize ang performance ng pinagbabatayan na hardware. Isinasama nito ang mga intelligent data caching system para sa mga read-intensive transactional workload, nag-aalok ng mga configurable cache, 35 araw na log retention, at, pinakamahalaga, mga advanced na tampok ng failover tulad ng failover at orchestrated recovery, na nagbabawas sa epekto ng mga malulubhang insidente.
Para sa bahagi nito, SQL Server Enterprise Plus Nakatuon din ito sa patuloy na pagkakaroon at pagtugon sa mga pagkakamali. Nag-aalok ito ng mga SLA ng 99,99% na kakayahang magamit, dalawang pamilya ng mga virtual machine (na-optimize para sa performance o para sa memory), isang nako-configure na data cache upang ma-maximize ang performance ng mga masinsinang pagbasa at mga advanced na mekanismo ng failover, kabilang ang failover at awtomatikong orkestasyon upang mapanatiling tumatakbo ang serbisyo kahit na sa kaganapan ng mga malalaking pagkawala ng serbisyo.
Ano ang isang sistema ng pamamahala ng database (DBMS)?
Bago tayo magpatuloy, mahalagang tandaan muna natin kung ano talaga ang ibig nating sabihin sa sistema ng pamamahala ng database o DBMSIto ang sistemang software na nagbibigay-daan sa iyong lumikha, pamahalaan, at pangasiwaan ang mga database, na tumutukoy sa mga kinakailangang istruktura upang mag-imbak, magtanong, at baguhin ang impormasyon sa pinakamabisang paraan na posible.
Sa kasalukuyan, mayroong napakaraming uri ng mga DBMS, na karaniwang inuuri ayon sa kung paano nila iniimbak at inaayos ang datos. Ang dalawang pangunahing pamilya ay ang mga sistema ng pamamahala ng relasyon (SQL) at mga sistema ng pamamahala ng database na hindi nauugnay (NoSQL)Ang bawat kategorya ay tumutugon sa iba't ibang pangangailangan at mga pattern ng paggamit, at ang naaangkop na pagpili ay nakasalalay sa parehong modelo ng data at sa dami ng impormasyon, sa mga query na isasagawa at sa mga kinakailangan sa pagkakaroon.
Mga pangunahing sistema ng pamamahala ng relational database (SQL)
Ang mga relational database management system ay umiral na simula pa noong dekada 70 at, bagama't malaki na ang kanilang umunlad, nananatili pa rin ang mga ito... ang de facto na pamantayan sa maraming aplikasyon sa negosyo, pananalapi, at korporasyonAng modelo nito ay batay sa mga talahanayan na nauugnay sa isa't isa sa pamamagitan ng mga susi, kung saan ang bawat talahanayan ay nangongolekta ng isang hanay ng mga talaan (mga hilera) na may mga katangian (mga haligi).
MySQL
MySQL Ito marahil ang pinakakilalang relational database management system sa web environment at isa sa mga pinakamalinaw na halimbawa pagdating sa SQL. Ito ay isang multithreaded at multiuser DBMS, na karaniwan sa mga website at application na binuo gamit ang open-source software.
Ito ay ipinamamahagi sa ilalim ng lisensya. GNU GPLGayunpaman, simula nang makuha ito ng Oracle, inaalok din ang mga lisensyang pangkomersyo na nakatuon sa kapaligiran ng negosyo at pagsasama sa mga produktong pagmamay-ari. Kabilang sa mga pangunahing bentahe nito ay... kadalian ng paggamit, mahusay na pagganap, at pagiging simple ng pag-install at pagsasaayos, ang suporta nito sa maraming platform at ang pagiging tugma nito sa mga secure na koneksyon sa pamamagitan ng SSL.
Sa kabaligtaran, isa sa mga tradisyonal na kahinaan nito ay ang kakayahang sumukat sa napakalaking mga databaseBagama't bumuti ito sa paglipas ng panahon at may mga advanced na pamamaraan at configuration, sa ilang mga sitwasyon na may mataas na volume o high-concurrency, maaaring hindi ito kasing episyente ng ibang mga opsyon na partikular na idinisenyo para sa mabibigat na workload.
MariaDB
MariaDB Nagmula ito bilang isang fork ng MySQL nang makuha ng Oracle ang kontrol sa huli, na may layuning mapanatili ang isang ganap na open-source na pilosopiya. Ito ay higit na tugma sa MySQL at, bukod pa rito, Nagdaragdag ito ng mga karagdagang storage engine, mga pagpapabuti sa scalability, at mga extension na idinisenyo upang maisama sa mga modelo ng NoSQL..
Kabilang sa mga pinakanatatanging katangian nito ay matatagpuan natin ang Nadagdagang magagamit na mga storage engine, seguridad at bilis sa mga transaksyonKabilang sa mga bentahe ang mas mahusay na scalability sa ilang mga configuration at mga tampok na may kaugnayan sa paggamit nito sa mga NoSQL database. Ang mga disbentaha ay hindi gaanong mahalaga, bagama't maaaring may mga maliliit na hindi pagkakatugma sa panahon ng mga proseso ng paglipat sa pagitan ng MariaDB at MySQL at paminsan-minsang mga pagkaantala sa paglabas ng mga ganap na matatag na bersyon.
SQLite
SQLite Ito ay isang espesyal na kaso sa loob ng mundo ng SQL. Higit pa sa isang tradisyonal na server-side DBMS, ito ay isang library na nakasulat sa C na nagpapatupad ng isang integrated relational database engine. walang kinakailangang server o kumplikadong configurationKaya naman napakapopular nito sa desktop, mobile, at mga naka-embed na application.
Ang lakas nito napakaliit na sukat, sumusunod sa mga katangian ng ACID (Atomicity, Consistency, Insulation at Durability) na ginagarantiyahan ang katatagan ng transaksyon, at nag-aalok ng mahusay na kadalian sa pagdadala at pagganap sa mga katamtamang sitwasyon. Ito ay mainam para sa mga app na nangangailangan ng magaan na database na madaling i-deploy at gumagana halos kahit saan.
Ang pangunahing limitasyon nito ay, muli, ang kakayahang sumukatAng SQLite ay hindi idinisenyo upang humawak ng napakalaking database o isang napakalaking bilang ng sabay-sabay na koneksyon. Sa mga lubhang mahirap o distributed na kapaligiran, maaaring hindi ito sapat at mangailangan ng pag-upgrade sa isang mas malakas na database server.
PostgreSQL
PostgreSQL Ito ay isang object-relational DBMS, na inilabas sa ilalim ng lisensyang parang BSD, na nakilala bilang isa sa pinakamatatag, matatag, at advanced na mga sistema ng pamamahala ng database sa open-source ecosystem. Pinagsasama nito ang mga napakalakas na tampok, tulad ng... kontrol ng multiversion concurrency (MVCC)na nagbibigay-daan sa pamamahala ng maraming sabay-sabay na transaksyon nang hindi hinaharangan ang mga pagbasa, pati na rin ang mahusay na kakayahang umangkop sa mga wikang programming na maaaring magamit upang palawigin ito.
Ito ay multiplatform at may mga tampok na mga komprehensibong kagamitan sa administrasyon, tulad ng pgAdminna nagpapadali kapwa sa pang-araw-araw na gawain at sa pamamahala ng mga kumplikadong kapaligiran. Namumukod-tangi ito dahil sa tibay, kahusayan, at katatagan nito, lalo na pagdating sa paghawak ng malalaking dami ng datos at mga kumplikadong query.
Bilang isang disbentaha, maaari itong maging Maaaring mas mabagal o mas mabigat ito sa mga sitwasyong may maliliit na database. kung saan ang kasalimuotan ng arkitektura nito ay hindi lubos na nagagamit. Ito ay malinaw na na-optimize para sa malawakang kapaligiran, at ang kapangyarihang iyon ay may kaakibat na kapalit sa pagiging simple at kagaanan.
Microsoft SQL Server
Microsoft SQL Server Ito ang nangungunang relational database management system sa ecosystem ng Microsoft. Batay sa wikang Transact-SQL, kaya nitong gawing available ang malalaking dami ng data sa maraming user nang sabay-sabay, na may malaking pokus sa enterprise environment.
Kabilang sa mga bentaha nito ang Direktang at eksklusibong suporta, kakayahang sumukat, katatagan, at seguridad ng MicrosoftNag-aalok ito ng kakayahang kanselahin ang mga query sa isang kontroladong paraan at isang malakas na graphical administration environment na ginagawang madali ang paggamit ng mga DDL at DML command, kahit para sa mga user na hindi gaanong bihasa. Bagama't orihinal na magagamit lamang ito para sa Windows, magagamit din ito sa Linux at sa mga Docker container sa loob ng ilang panahon ngayon.
Ang pangunahing sagabal ay ang gastos ng mga lisensyaMayroong libreng edisyon (Express), ngunit sa mga propesyonal na kapaligiran, karaniwan ang paggamit ng mga bayad na bersyon tulad ng Standard, Developer, Enterprise o SQL Azure (ang cloud na bersyon), na nangangailangan ng malaking pamumuhunan.
database ng oracle
Orakulo Sa loob ng mga dekada, ito ang nangungunang sistema ng pamamahala ng database sa mundo ng korporasyon, na kilala bilang isa sa mga pinakakumpleto at matatag na sistema sa merkado. Nag-aalok ito ng advanced na suporta sa transaksyon at isang mataas na katatagan, kakayahang sumukat at suporta sa multi-platform at mayroon itong malawak na ekosistema ng mga kagamitan at solusyon sa paligid nito.
Ang kahinaan nito, tulad ng SQL Server, ay ang presyoBagama't mayroong libreng bersyon (Express Edition o XE), ang mga pinakakaraniwang ginagamit na opsyon sa mga enterprise environment ay bayad: Standard Edition, Standard Edition One, Standard Edition 2, Personal Edition, Lite Edition, at Enterprise Edition, bawat isa ay may iba't ibang tampok at limitasyon. Ang pagpili ay karaniwang nakadepende sa performance, availability, at mga kinakailangan sa badyet ng organisasyon.
Mga sistema ng pamamahala ng database ng NoSQL para sa mataas na volume at mataas na availability
Kabaligtaran ng tradisyonal na modelo ng relasyon, ang Mga database ng NoSQL Lumitaw ang mga ito upang matugunan ang mga pangangailangan kung saan ang mga matibay at nakabatay sa talahanayan na mga istruktura ay hindi angkop, o kung saan ang pahalang na scalability ay isang prayoridad. Sa pangkalahatan, ang mga database ng NoSQL:
Hindi nila kailangan ng mga nakapirming iskema tulad ng mga relational table, Hindi nila laging mahigpit na ginagarantiyahan ang lahat ng mga katangian ng ACID. (pumipili sila ng ibang mga modelo ng consistency) at mahusay na nakakapag-scale sa mga distributed architecture, kung saan pinoproseso ang malalaking volume ng data at kinakailangan ang mataas na availability.
Ang mga ito ay lalong kapaki-pakinabang sa mga kapaligirang heograpikal na nakakalat, na may mga serbisyong Dapat silang laging aktibo at humawak ng napakaraming impormasyontulad ng mga social network, malalaking sistema ng pag-log, real-time analytics, o mga application na may milyun-milyong sabay-sabay na gumagamit.
MongoDB
MongoDB Isa ito sa pinakasikat na NoSQL database management system sa buong mundo. Ito ay nakasentro sa dokumento at nag-iimbak ng datos sa mga istrukturang BSON (isang binary na representasyon ng JSON). dynamic schema, na lubos na nagpapadali sa integrasyon at ebolusyon ng modelo ng datos sa paglipas ng panahon.
Ginagamit ito ng mga nangungunang kumpanya tulad ng Google, Facebook, eBay, Cisco, at Adobe, salamat sa mga tampok tulad ng advanced na pag-index, pagkopya, load balancingKabilang sa mga pangunahing tampok nito ang file-based storage, flexible ad hoc queries, horizontal scalability, at open-source na katangian nito. Pinapayagan nito ang pagdaragdag ng mga node upang ipamahagi ang workload at dami ng data, na nagpapanatili ng operasyon ng serbisyo sa malawakang saklaw.
Ang pangunahing disbentaha nito ay lumilitaw kapag kinakailangan ang mga ito mga kumplikado at lubos na pare-parehong transaksyon sa maraming dokumentoBagama't isinasama na ng MongoDB ang mas kumpletong suporta sa transaksyon, hindi pa rin ito ang pinakaangkop na opsyon para sa mga aplikasyon kung saan kritikal ang mahigpit na integridad sa relasyon.
Redis
Redis Ito ay isang NoSQL database management system na nakatuon sa mga istrukturang key-value at lubos na nakatuon sa in-memory performance. Maaari natin itong isipin bilang isang napakalaking vector kung saan nakaimbak ang mga string, hash, listahan at iba pang uri ng datosna may napakababang oras ng pagtugon.
Ang pangunahing gamit nito ay ang pamamahala ng caching at sessionGinagamit din ito para sa pagpila, mga magaan na sistema ng pagmemensahe, at iba pang mga high-speed na pattern. Kabilang sa pinakamahalagang katangian nito ang maaaring i-configure na atomicity at persistence, mataas na bilis ng pagpapatakbo, kadalian ng paggamit, at cross-platform compatibility.
Dahil nakatutok ito sa pagtatrabaho sa memorya, hindi ang Redis ang mainam na solusyon. pangunahing database para sa lahat ng mga kaso ng paggamitGayunpaman, akmang-akma ito bilang pandagdag sa mga modernong arkitektura, na lubos na nagpapabuti sa pagganap ng mga web at mobile application.
Cassandra
Apache Cassandra Ito ay isa pang kilalang NoSQL manager, batay din sa key-value model, ngunit nakatuon sa mga kapaligirang malawakang nasusukat at naipapamahagiGinagamit ng mga kumpanyang tulad ng Facebook, Twitter, Instagram, Spotify, at Netflix ang Cassandra upang pamahalaan ang napakalaking dami ng data na nakakalat sa maraming data center.
Mayroon itong sariling wika ng pagtatanong, CQL (Cassandra Query Language)Ito ay sintaktikong katulad ng SQL ngunit inangkop sa panloob nitong modelo. Kabilang sa mga bentahe nito ang cross-platform compatibility, linear at horizontal scaling habang idinaragdag ang mga node, ang peer-to-peer architecture nito (nang walang iisang sentral na punto), at ang oryentasyon nito patungo sa mga highly distributed environment.
Ginagawang mainam ito ng disenyong ito para sa mga aplikasyon na hindi kayang bayaran ang downtime o pagkawala ng availabilityNgunit nangangailangan din ito ng mahusay na pag-unawa sa mga partikularidad nito upang wastong maimodelo ang datos at makamit ang pinakamataas na pagganap.
Bukod sa mga nabanggit, marami pang ibang malawakang ginagamit na NoSQL DBMS, mula sa mga graph database hanggang sa mga wide column store, na sumasaklaw sa mga partikular na pangangailangan sa analytics, mga rekomendasyon, mga social network, o mga search engine.
Paano pumili ng tamang database manager para sa iyong mobile app
Dahil sa dami ng mga pagpipilian sa mesa, natural lang na magtaka kung paano pipiliin ang Isang angkop na DBMS para sa isang aplikasyon na kailangang pamahalaan ang SQL at/o NoSQL sa isang mobile na kapaligiranWalang iisang sagot, ngunit may ilang pangunahing konsiderasyon na dapat maingat na suriin bago gumawa ng desisyon.
Ang unang bagay ay ang pag-aaral nang detalyado anong uri ng datos ang iyong iimbak at paano mo ito kailangang pamahalaan: kung ang modelo ay lubos na nakabalangkas at may kaugnayan o, sa kabaligtaran, nababaluktot at nagbabago; kung kinakailangan ba ang matibay na integridad sa transaksyon o maaaring tanggapin ang tuluyang pagkakapare-pareho; kung ang mga tanong ay napakakumplikado o medyo simple ngunit madalas.
Mahalaga rin na pahalagahan ang dami ng impormasyon, uri ng mga query, at pattern ng pag-accessAng isang maliit na internal app na may kaunting user ay hindi katulad ng isang pandaigdigang serbisyo na may milyun-milyong konektadong device. Dito pumapasok ang parehong tradisyonal na SQL database (MySQL, PostgreSQL, SQL Server, Oracle, atbp.) at NoSQL database (MongoDB, Redis, Cassandra, atbp.), kasama ang mga partikular na solusyon sa synchronization at lokal na storage tulad ng Couchbase Mobile o SQLite sa client side.
Panghuli, mahalagang isaalang-alang ang Pamumuhunang pang-ekonomiya, karanasan ng pangkat, at mga pangangailangan sa kadaliang kumilos at offlineMinsan, ang isang open source na produkto na may napaka-aktibong komunidad at mga mature na tool ang magiging pinakamahusay na opsyon; sa ibang pagkakataon, ang isang enterprise service na may 99,99% SLA, opisyal na suporta, at mga advanced na high availability at failover feature ay mahalaga.
Ang masusing pag-unawa sa mga salik na ito ay nagbibigay-daan para sa matalinong kombinasyon ng mga sistema ng pamamahala ng database ng SQL at NoSQL, kasama ang mga teknolohiyang tulad ng Couchbase Mobile, upang bumuo ng mga mobile application na nag-aalok ng mabilis, maaasahan, at magagamit na karanasan sa anumang konteksto, mula sa isang simpleng offline na query hanggang sa pag-synchronize ng milyun-milyong data point sa pagitan ng mga server at device na nakakalat sa buong mundo. Ibahagi ang gabay na ito upang mas maraming tao ang matuto tungkol sa paksa.
