Hacker News

Rukunin Cache guda uku Tsakanin Zaɓi da Disk

Rukunin Cache guda uku Tsakanin Zaɓi da Disk Wannan binciken ya shiga uku, yana nazarin mahimmancinsa da tasirinsa. Muhimmin Ka'idodin Rufe Wannan abun ciki yana bincika: Ka'idoji da ka'idoji masu mahimmanci Aiki...

10 min read Via frn.sh

Mewayz Team

Editorial Team

Hacker News

Lokacin da aikace-aikacenku ya harba bayanin SELECT, wannan tambayar kusan ba ta taɓa faifai mai juyi ba ko ma daɗaɗɗen ma'ajiyar filasha - tana ratsa maɓalli guda uku daban-daban waɗanda ke tantance ko amsawar ku ta zo a cikin microseconds ko millise seconds. Fahimtar waɗannan yadudduka shine bambanci tsakanin dandamalin kasuwanci wanda ke yin ma'auni ba tare da wahala ba da kuma wanda ke kangewa ƙarƙashin nauyin gaske na duniya.

Menene Ya Faru Lokacin da Zaɓin Tambaya Ya Bar Aikace-aikacenku?

Lokacin da aikace-aikacenku ya aika tambayar SELECT, yana shiga cikin bututun mafi yawan masu haɓakawa ba sa bincika. Injin adana bayanai yana katse buƙatar kafin kowane I/O ya faru, yana rarraba SQL cikin tsarin aiwatarwa na ciki kuma nan da nan yana tuntuɓar layinsa na farko na tsaro: cache sakamakon tambaya. Idan an aiwatar da tambaya iri ɗaya tare da sigogi iri ɗaya kwanan nan, injin na iya dawo da saitin sakamakon da aka adana ba tare da taɓa shafi ɗaya na bayanai ba. Wannan wani lokaci ana kiransa dacache cacheko kuma sakamakon cache, kuma akan babban karatu, ƙananan ayyukan aiki - kamar dashboards na nazari da tsarin bayar da rahoto - yana iya kawar da yawancin faifan karantawa gaba ɗaya.

Mahimmin fahimtar anan shine cewa cache ɗin tambaya yana da matukar kulawa ga maye gurbin bayanai. Duk wani SA, UPDATE, ko SHARE akan teburin da ke ƙasa yana lalata sakamakon da aka adana. Wannan shine dalilin da ya sa tsarin tsarin ma'amala mai nauyi yakan kashe cache ɗin tambaya gaba ɗaya kuma ya dogara ga zurfafan yadudduka maimakon.

Mene ne Babban Tafkin Buffer kuma Me yasa Yayi Mahimmanci fiye da yadda kuke tunani?

Layin cache na biyu - kuma mafi mahimmanci a cikin tsarin samarwa - shinePool pool(wanda ake kira buffer share in PostgreSQL, InnoDB buffer pool a MySQL). Wannan yanki ne na RAM da injin bayanan ke amfani da shi don riƙe shafukan bayanan da aka shiga kwanan nan. Lokacin da ba za a iya ba da tambaya daga ma'ajin sakamako ba, injin yana bincika ko shafukan da ake buƙata sun riga sun kasance a cikin ma'ajin ajiya kafin ba da kowane karatun diski.

Wurin ajiya yana aiki akan ƙa'idar wuri na ɗan lokaci da sarari: bayanan da aka samu kwanan nan ana iya sake samun damar shiga, kuma bayanan da aka adana kusa da bayanan da aka samu ana iya samun damar shiga nan ba da jimawa ba. Masu gudanar da bayanai suna daidaita girman wurin buffer a matsayin ɗaya daga cikin mafi girman yanke shawara na daidaitawa da suke yankewa. Tafkin buffer wanda ya yi ƙanƙanta yana haifar da korar shafi akai-akai, yana haifar da wani abin al'ajabi da ake kira thrashing, inda tsarin ke ba da ƙarin lokacin sarrafa cache ya ɓace fiye da aiwatar da tambayoyin.

Maɓalli Maɓalli: A yawancin ayyukan OLTP, babban wurin ajiya mai girma yana nufin 95-99% na duk bayanan da aka karanta ana amfani dasu daga RAM. Saitin aiki - ɓangarorin bayananku waɗanda a zahiri suna taɓawa akai-akai - galibi suna da ƙanƙanta fiye da jimlar girman bayanai. Ƙimar wurin ajiyar ajiyar ku don dacewa da saitin aikinku, ba duka bayananku ba, shine mataki mafi girman dawowar matakin da zaku iya ɗauka.

Ta yaya Ma'ajiyar Operating System Ke Cika Rata Tsakanin RAM da Disk?

Ko da lokacin da wurin ajiyar bayanai ya ɓace, tambaya ba a riga an ƙaddara don karanta diski na gaskiya ba. Tsarin aiki yana kula da cacheshafi(wanda ake kira cache filesystem), yanki na RAM mai sarrafa kernel wanda ke karantawa da rubutawa don toshe na'urori. Lokacin da injin adana bayanai ya buƙaci shafi da ba ya cikin wurin ajiyarsa, OS kernel yana bincika cache ɗin shafinsa kafin ya ba da umarnin I/O na zahiri ga mai sarrafa ajiya.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Wannan Layer na uku ba a iya gani ga masu haɓaka aikace-aikacen amma yana da matuƙar mahimmanci akan tsarin da aka samar da wuraren adana bayanai. Ana raba cache shafi na OS a duk matakai, don haka yana gasa tare da uwar garken aikace-aikacenku, sabar yanar gizo, da duk wata software da ke gudana akan mai masaukin baki ɗaya. A kan sabar bayanan da aka keɓe, wannan gasa ba ta da yawa, kuma cache na OS yana ba da ma'ana mai ma'ana ta biyu. Akan runduna da aka raba ko kwantena tare da ƙayyadaddun ƙayyadaddun ƙwaƙwalwar ajiya, cache ɗin OS akai-akai ya yi ƙanƙanta don taimakawa.

Wanne Layer Cache ne ke da alhakin Mafi Kyawawan Nasara a Ayyuka?

A cikin tsarin samar da kayan aiki na zahiri, wurin shakatawa yana mamaye sakamakon aiki ta gefe mai faɗi. Anan ne dalilin da yasa kowane Layer ke ba da gudummawa daban-daban a duk lokuta masu amfani:

  • Ma'ajiyar sakamakon tambaya: Mafi girman fa'ida akan mai karatu mai nauyi, galibi madaidaitan bayanai - tambayoyin bayar da rahoto, dashboards cache, wuraren ƙarshen abun ciki na jama'a. Mara amfani akan teburi masu nauyi.
  • Database buffer pool: Dokin aiki na duniya. Ya kamata a fara kunna kowane sabar bayanan samarwa anan da farko. Yana sarrafa tsarin isa ga bazuwar da jeri da kyau.
  • Cache shafi na OS: Yana ba da hanyar tsaro lokacin da wurin tafki bai kai girman girmansa ba. Hakanan yana taimakawa sosai yayin zazzage manyan teburi waɗanda in ba haka ba za su fitar da zafafan shafuka daga tafkin buffer.
  • Ma'aji mai sarrafa ma'ajiya (Layin hardware): Layer na huɗu, sau da yawa ba a kula da shi - NVMe SSDs da masu kula da RAID suna kula da rubutun caches tare da madadin baturi ko capacitor. Wannan yana ba da kariya ga dorewa ba tare da sadaukar da kayan aikin rubutu ba a cikin kuɗin fsync latency.
  • Aikace-aikace-Layer cache (Redis, Memcached): Yana zaune a saman bayanan gabaɗaya, yana adana sakamakon tambayoyin da aka ƙirƙira ko ƙididdige abubuwa don guje wa buga bayanan kwata-kwata - manufa don dandamalin SaaS masu haya da yawa waɗanda ke hidima ga dubban masu amfani a lokaci guda.

Ta Yaya Dabarun Kasuwancin Zamani Za Su Yi Amfani da Cache Architecture don Dogara a Sikeli?

Don kasuwancin da ke aiki a cikin nau'ikan ayyuka da yawa - CRM, gudanar da ayyuka, kasuwancin e-commerce, nazari - gine-ginen cache kai tsaye yana ƙayyade martanin dandamali yayin da ƙungiyoyi ke girma. Matakan da aka gina akan tsarin ma'auni mai kyau na iya yin hidima ga dubun dubatar masu amfani a lokaci guda ba tare da farashin kayayyakin more rayuwa ba. Makullin shine ƙirƙira tsarin samun damar bayanai waɗanda ke mutunta iyakokin cache: adana ƙananan bayanai masu zafi da hanyoyin samun damar da za a iya tsinkaya, ta yin amfani da kwafin karantawa don rarraba kaya mai buffer, da sanya cache-Layer na aikace-aikace kamar Redis a gaban bayanan bayanai don wuraren ƙarshen waɗanda ke ba da bayanai iri ɗaya ga masu amfani da yawa lokaci guda.

An tsara Mewayz da ainihin wannan falsafar a zuciyarsa. Tare da haɗaɗɗun samfuran kasuwanci 207 da ke da iko akan masu amfani da 138,000, an ƙera Layer ɗin bayanan dandamali ta yadda yawancin karatun ana amfani da su daga cache - kiyaye lokutan amsa cikin sauri da farashin kayan more rayuwa ko kuna gudana akan shirin farawa na $19/wata ko $49/wata ƙwararrun matakin.

Tambayoyin da ake yawan yi

Shin kashe cache ɗin tambaya koyaushe yana haɓaka aikin bayanai?

Ba koyaushe ba, amma don yawan aiki mai nauyi yakan yi. Ma'ajiyar tambaya tana buƙatar ɓangarorin duniya don kiyaye daidaito, wanda ya zama ƙugiya a ƙarƙashin babban haɗin gwiwa. MySQL 8.0 ya cire cache ɗin tambaya gaba ɗaya saboda wannan dalili. PostgreSQL bai taɓa aiwatar da ginanniyar cache na tambaya ba, yana dogara a maimakon wurin ma'ajin buffer da caching-Layer caching. Idan rabon karatun ku-da-rubutu yana da girma kuma tambayoyinku suna maimaituwa sosai, cache na tambaya na iya sadar da fa'ida ta gaske - in ba haka ba, saka hannun jarin ƙoƙarin kunnawa a cikin tafkin buffer.

Ta yaya zan iya sanin ko tafkin buffer dina yana da girman daidai?

Kula da rabon buffer pool ɗin ku: yawan buƙatun shafi da aka yi aiki daga tafkin tare da waɗanda ke buƙatar karanta diski. Matsakaicin bugun ƙasa da kashi 95% akan aikin OLTP sigina ce don ƙara girman tafkin. A cikin MySQL, tambaya NUNA ENGINE INNODB MATSAYI kuma duba ƙimar buffer pool. A cikin PostgreSQL, kallon pg_statio_user_tables yana fallasa tarin tubalan da ake karantawa daga faifai tare da aiki daga wurin buffer. Nufin kiyaye duk saitin aikinku - ba cikakken saitin bayananku ba - mazaunin RAM.

Menene alakar dake tsakanin cache layers da amincin SaaS masu yawan haya?

A cikin SaaS masu yawan haya, maƙallan cache suna hana matsalolin "makwabci mai hayaniya" inda nauyin tambayar mai haya ɗaya ya ƙasƙantar da aiki ga duk sauran masu haya. Fanewar aikace-aikacen mai haya tare da rashin inganci na tushen TTL yana adana bayanan mai zafi a cikin Redis, yana rage matsananciyar matsa lamba daga manyan asusu. Haɗin haɗin matakin matakin tushen bayanai tare da wurin tafki mai dumi yana tabbatar da cewa fashe ayyukan daga kowane asusu ɗaya baya fitar da shafukan da aka raba daga cache kuma yana haifar da latency spikes a fadin dandalin.


Matsakaicin ma'auni ba ƙananan bayanai ba ne - su ne tushen gine-ginen da ke raba dandamali waɗanda ke da sauri a ma'auni daga waɗanda ke buƙatar ci gaba da kashe gobara. Idan kuna gina ko gudanar da kasuwancin da ke buƙatar dandamali wanda aka riga aka inganta don waɗannan haƙiƙanin, bincike Mewayz a app.mewayz.com — 207 kayayyaki, dandamali guda ɗaya, wanda aka gina don aiwatarwa cikin dogaro daga mai amfani na farko zuwa dubu ɗari zuwa dubu ɗari.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Related Guide

HR Management Guide →

Manage your team effectively: employee profiles, leave management, payroll, and performance reviews.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime