Hacker News

Ba couches misato ya Cache Entre Select na Disk

Ba couches misato ya Cache Entre Select na Disk Bolukiluki oyo ekoti na kati ya misato, kotalaka ntina na yango mpe bopusi na yango oyo ekoki kozala. Makanisi ya ntina oyo etalisami Contenu oyo ezali ko explorer: Mitinda mpe makanisi ya moboko Practice ya...

11 min read Via frn.sh

Mewayz Team

Editorial Team

Hacker News

Ntango application na yo ezo tirer déclaration SELECT, query wana esimbaka presque jamais disque tournant to même stockage ya flash brut — elekaka na ba couches misato ekeseni ya cache oyo e déterminer na kimia soki réponse na yo ekomi na microsecondes to millisecondes. Kososola ba couches oyo ezali bokeseni kati na plateforme ya mombongo oyo e échelle sans effort mpe oyo e boucle na se ya charge ya mokili ya solo.

Nini Esalemaka na Moment oyo Query ya SELECT etiki Application na yo?

Ntango oyo application na yo etindi motuna SELECT, ekoti na pipeline oyo ba développeurs mingi ba inspectaka jamais. Moteur ya base de données e intercepter demande avant E/S nionso esalama, e parser SQL na plan ya exécution interne mpe mbala moko e consulter ligne ya défense na yango ya liboso : cache ya résultat ya requête. Soki requête identique na ba paramètres identiques esalemaki kala mingi te, moteur ekoki kozongisa ensemble ya résultat cache sans kosimba page moko ya ba données. Yango babengaka yango tango mosusu cache ya mituna to cache ya mbano, mpe na ba charges ya mosala ya botangi mingi, ya kokoma moke — lokola ba tableaux de bord ya analyse mpe ba modules ya rapport — ekoki kosilisa mingi ya botangi ya disque mobimba.

Insight critique awa ezali que cache ya requête ezali très sensible na ba mutations ya ba données. INSERT, UPDATE, to DELETE nyonso oyo ezali kotelemela tableau ya se ezali kosala ete ba résultats ya cache oyo etali yango ezala na ntina te. Yango wana ba systèmes ya transaction oyo ezali na bokomi mingi mbala mingi e désactiver cache ya requête mobimba mpe etie motema na ba couches ya mozindo na esika na yango.

Piscine ya tampon ezali nini mpe mpo na nini ezali na ntina mingi koleka ndenge ozali kokanisa?

Couche ya mibale ya cache — mpe na ntembe te oyo ezali na ntina mingi na ba systèmes ya production — ezali pool ya tampon (ebengami tampon ya kokabola na PostgreSQL, pool ya tampon ya InnoDB na MySQL). Oyo ezali etuka ya RAM oyo moteur ya base de données esalela mpo na kokanga ba pages ya ba données oyo euti kozuama. Tango motuna moko ekoki kopesama te uta na cache ya mbano, moteur etalaka soki nkasa ya ba données oyo esengeli ezali déjà kofanda na pool ya tampon avant ya kobimisa disque nionso oyo etangami.

Piscine ya tampon esalaka na principe ya localité temporelle pe spatiale : ba données oyo ezuami kala mingi te ekoki kozuama lisusu, pe ba données oyo ebombami pene ya ba données oyo ezuami ekoki kozuama kala mingi te. Ba administrateurs ya base de données ba tune taille ya pool ya tampon lokola moko ya ba décisions ya configuration ya levier ya likolo oyo bazuaka. Piscine ya tampon oyo ezali moke mingi esalaka ete babengani nkasa ntango nyonso, ebimisaka phénomène oyo babengi thrashing, esika système elekisaka tango mingi na ko gérer ba misses ya cache koleka kosala ba requêtes.

Bososoli ya ntina: Na ba charges ya mosala mingi ya OLTP, pool ya tampon ya taille malamu elakisi 95–99% ya ba lectures nionso ya ba données esalemaka na RAM. Ensemble ya mosala — sous-ensemble ya ba données na yo oyo ba requêtes esimbaka vraiment mbala na mbala — mbala mingi ezalaka moke mosika koleka taille totale ya base de données. Kobongisa bonene ya pool ya tampon na yo mpo na kokokana na ensemble na yo ya mosala, kasi ensemble ya ba données na yo mobimba te, ezali action moko ya tuning ya retour ya likolo oyo okoki kosala.

, oyo ezali

Ndenge nini Cache ya Système d’exploitation etondisaka esika oyo ezali kati na RAM mpe Disque?

Ata soki pool ya tampon ya base de données yango moko ezangi, requête ezali nanu destiné te pona botangi ya disque ya solo. Système d’exploitation ebatelaka cache ya lokasa (oyo babengaka mpe cache ya système ya ba fichiers), etuka ya RAM oyo ekambami na noyau oyo e tamponsaka botangi mpe bokomi mpo na kokanga ba dispositif. Tango moteur ya base de données esengi lokasa oyo ezali te na pool ya tampon na yango, noyau ya OS etalaka cache ya lokasa na yango moko yambo ya kobimisa commande ya E/S physique na contrôleur ya bobateli.

💡 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 →

Couche oyo ya misato ezali mingi mingi invisible na ba développeurs ya application kasi profondément important na ba systèmes esika pool ya tampon ya base de données ezali sous-provisionnement. Cache ya lokasa ya OS ekabolami na ba processus nionso, yango wana ezali kobunda na serveur ya application na yo, serveur web, mpe logiciel mosusu nionso oyo ezali kosala na hôte moko. Na ba serveurs ya base de données dédiées, concurrence oyo ezali moke, mpe cache ya OS epesaka tampon ya deuxième chance ya tina. Na ba hôtes to ba récipients oyo bakabolaka oyo ezali na ndelo ya mémoire ya makasi, mbala mingi cache ya OS ezalaka moke mingi mpo na kosalisa.

Couche nini ya Cache ezali responsable ya ba gagner ya performance mingi na pratique?

Na ba systèmes ya production ya mokili ya solo, pool ya tampon e dominaka ba résultats ya performance na marge ya monene. Tala ntina oyo couche moko na moko esalisaka na ndenge ekeseni na kati ya makambo ya bosaleli:

  • Cache ya mbano ya mituna: Litomba ya likolo na ba ensembles ya ba données oyo etangami mingi, mingi mingi ya statique — ba requêtes ya kopesa lapolo, ba tableaux de bord oyo ekangami na cache, ba points d’arrêt ya contenus public. Ezali na ntina te na ba tableaux oyo ezali na kilo ya kokoma.
  • Esika ya tampon ya base ya ba données: Cheval ya mosala ya mokili mobimba. Serveur nionso ya base de données ya production esengeli ezala liboso awa. Ezali kosimba ba modèles ya accès aléatoire mpe ya sequence na ndenge ya malamu.
  • Cache ya lokasa ya OS: Epesaka monyama ya bokengi tango pool ya tampon ezali na bonene moke. Lisusu esalisaka mingi na tango ya ba scans oyo elandi ya ba tableaux ya minene oyo soki te elingaki kobengana ba pages ya moto na pool ya tampon.
  • Cache ya contrôleur ya stockage (couche ya matériel): Couche ya minei, oyo mbala mingi emonanaka te — Ba SSD ya NVMe na ba contrôleurs RAID ebatelaka ba caches ya kokoma na kati ya bord na sauvegarde ya pile to ya condensateur. Yango ebatelaka bowumeli kozanga ko sacrifier débit ya kokoma na dépense ya latence ya fsync.
  • Cache ya couche ya application (Redis, Memcached): Efandi likolo ya base de données mobimba, e cacher ba résultats ya requête sérialisé to ba objets calculé mpo na koboya kobeta base de données ata muke te — idéal pona ba plateformes SaaS multi-locataires oyo esalelaka ba nkoto ya ba usagers concurrents.

Ndenge nini ba plateformes ya mombongo ya mikolo oyo ekoki kosalela architecture ya cache mpo na bondimi na échelle?

Mpo na ba entreprises oyo ezali kosala na ba modules fonctionnels ebele — CRM, gestion ya projet, e-commerce, analyse — architecture ya cache e déterminaka directement réponse ya plateforme tango ba équipes ezali kokola. Ba plateformes oyo etongami na stratégie ya cache oyo ezali na couches malamu ekoki ko servir ba dizaines de milliers ya ba usagers concurrents sans coût proportionnel ya infrastructure. Fungola ezali kosala ba modèles ya accès ya ba données oyo e respecter ba frontières ya cache : kobatela ba données ya moto mike pe ba modèles ya accès prévisible, kosalela ba répliques ya kotanga pona kokabola charge ya pool ya tampon, pe ko positionner cache ya couche ya application lokola Redis liboso ya base de données pona ba points d'arrêt oyo esalelaka ba données identiques na ba usagers ebele na mbala moko.

Mewayz azali architecté na exactement philosophie oyo na makanisi. Na 207 modules d’affaires intégrés oyo ezali kopesa nguya na basaleli koleka 138.000, couche ya ba données ya plateforme esalemi na ndenge ete majorité énorme ya ba lectures e servir à partir ya cache — kobatela ba temps ya réponse mbangu mpe ba coûts ya infrastructure prévisible soki ozali kosala na plan ya démarrage ya $19/sanza to niveau professionnel ya $49/sanza.

Mituna oyo batunaka mingi

Ko désactiver cache ya requête ebongisaka tango nionso performance ya base de données?

Ntango nyonso te, kasi mpo na mikumba ya mosala oyo ezali na kilo ya kokoma esalaka mingimingi. Cache ya requête esengaka mutex mondial mpo na kobatela boyokani, oyo ekomi goulet d'étranglement na se ya concurrence ya likolo. MySQL 8.0 elongolaki cache ya requête mobimba mpo na ntina oyo. PostgreSQL esalelaki ata moke te cache ya requête intégré, ko se fier na esika na yango na pool ya tampon mpe caching ya couche ya application. Soki ratio na yo ya kotanga na kokoma ezali likolo mpe mituna na yo ezali kozongela mingi, cache ya mituna ekoki kopesa matomba ya solo — soki te, tia makasi wana ya kobongola na pool ya tampon.

Ndenge nini nakoyeba soki pool ya tampon na ngai ezali na bonene ya malamu?

Bolandela ratio ya hit ya pool ya tampon na yo: pourcentage ya ba demandes ya page oyo esalemi uta na pool contre oyo esengaka disque etangama. Ratio ya hit na se ya 95% na charge ya mosala ya OLTP ezali signal ya komatisaka taille ya pool. Na MySQL, tuna SHOW ENGINE INNODB STATUS mpe tala taux ya hit ya pool ya tampon. Na PostgreSQL, botali pg_statio_user_tables emonisaka ba blocs ya tas oyo etangami uta na disque koleka oyo esalemi uta na pool ya tampon. Boluka kobatela ensemble na yo mobimba ya mosala — ensemble ya ba données na yo mobimba te — efandi na RAM.

Boyokani nini ezali kati na ba couches ya cache mpe bondimi ya SaaS ya ba locataires ebele?

Na SaaS ya ba locataires ebele, ba couches ya cache epekisaka ba problèmes ya "voisine ya makelele" esika charge ya requête ya locataire moko ekitisaka performance pona ba locataires nionso misusu. Caching ya application oyo eyebi locataire na invalidation basée na TTL ebatelaka ba données ya moto ya locataire moko na Redis, ekitisaka makasi pression ya pool ya tampon oyo ewutaka na ba comptes ya minene. Bosangisi ya boyokani na nivo ya base de données esangani na pool ya tampon ya molunge esalaka ete mosala ya bopanzani uta na compte moko nyonso elongolaka te nkasa ya kokabola uta na cache mpe esalaka ba spikes ya latence na plateforme mobimba.


na yango

Ba couches ya cache ezali ba trivia ya base de données te — ezali fondation architecturale oyo ekabolaka ba plateformes oyo etikalaka mbangu na échelle na oyo esengaka bopemi moto ya infrastructure ntango nyonso. Soki ozali kotonga to kotambwisa mombongo oyo esengeli na plateforme oyo esi e optimisé mpo na ba réalités oyo, explore Mewayz na app.mewayz.com — 207 modules, plateforme moko cohérente, oyo etongami mpo na kosala na bondimi kobanda na mosaleli na yo ya liboso kino na nkoto nkama na yo.