Hacker News

Сайлау һәм диск арасында өч кэш катламы

Сайлау һәм диск арасында өч кэш катламы Бу разведка аның әһәмиятен һәм потенциаль йогынтысын тикшереп, өчкә бүленә. Төп төшенчәләр Бу эчтәлек тикшерә: Фундаменталь принциплар һәм теорияләр Практика ...

1 min read Via frn.sh

Mewayz Team

Editorial Team

Hacker News

Сезнең кушымтагыз <код> СЕЛЕКТ аңлатмасын җибәргәндә, бу сорау әйләнүче дискка, хәтта чимал флеш саклагычка кагылмый - ул өч төрле кэш катламы аша уза, алар сезнең җавапның микросекундларда яки миллисекундларда килеп җитүен тынлык белән билгели. Бу катламнарны аңлау - тырышлык белән масштабланган бизнес-платформа белән реаль дөнья йөге астында торган аерма.

Момент белән нәрсә була SELECT соравы сезнең заявкагызны калдыра?

Сезнең заявкагыз <код> СЕЛЕКТ соравын җибәргән мизгелдә, ул күпчелек төзүчеләр беркайчан да тикшерми торган торбага керә. Мәгълүматлар базасы двигателе I / O барлыкка килгәнче сорау кабул итә, SQLны эчке башкару планына бүлеп, шундук беренче оборона линиясе белән киңәшләшә: сорау нәтиҗәләре кэшы. Күптән түгел охшаш параметрлар белән бер үк сорау башкарылган булса, двигатель кэш нәтиҗәләрен бер биткә дә кагылмыйча кире кайтара ала. Бу кайвакыт сорау кэшы яки нәтиҗә кэшы дип атала, һәм югары укылган, аз язылган эш йөкләрендә - аналитика такталары һәм отчет модуллары кебек - ул дискның күпчелек өлешен тулысынча бетерә ала.

Мондагы критик аңлау - сорау кэшы мәгълүмат мутацияләренә бик сизгер. Төп таблицага каршы теләсә нинди <код> INSERT , UPDATE , яки DELETE төп кэш нәтиҗәләрен юкка чыгара. Шуңа күрә язу авыр транзакцион системалар еш кына сорау кэшын тулысынча сүндерәләр һәм аның урынына тирән катламнарга таяналар.

Буфер бассейны нәрсә ул һәм ни өчен ул сезнең уйлаганча мөһимрәк?

Икенче кэш катламы - һәм җитештерү системаларында иң мөһиме - буфер бассейны (PostgreSQLдагы уртак буфер дип атала, MySQLдагы InnoDB буфер бассейны). Бу база двигателе күптән түгел кертелгән мәгълүмат битләрен тоту өчен куллана торган RAM өлкәсе. Нәтиҗә кэшыннан сорау бирелмәгәндә, двигатель кирәкле мәгълүмат битләренең буфер бассейнда яшәгәннәрен тикшерә, дискны укыганчы.

Буфер бассейны вакытлыча һәм киңлек җирлеге принцибы буенча эшли: күптән түгел кертелгән мәгълүматларга кабат керергә мөмкин, һәм якынлашып килүче мәгълүматлар янында сакланган мәгълүмат тиздән керергә мөмкин. Мәгълүматлар базасы администраторлары буфер бассейн зурлыгын алар кабул иткән иң югары конфигурация карарларының берсе итеп көйлиләр. Бик кечкенә булган буфер бассейны битне даими чыгаруга китерә, ыргыту дигән күренеш тудыра, монда система кэш сагынулары белән идарә итүгә күбрәк вакыт сарыф итә.

Төп төшенчәләр: Күпчелек OLTP эш йөкләрендә яхшы размерлы буфер бассейн барлык укылган мәгълүматларның 95–99% RAMдан бирелә дигән сүз. Эш комплекты - сезнең мәгълүматларның тулы өлеше, еш кына кагыла - гомуми мәгълүмат базасыннан күпкә кечерәк. Сезнең буфер бассейныгызны сезнең эш җыелмасына туры китерү, бөтен мәгълүматлар базасына түгел, ә сез кабул итә алган иң югары кайтару көйләү чарасы.

Операция системасы кэшы RAM белән диск арасындагы бушлыкны ничек тутыра?

Мәгълүматлар базасының буфер бассейны сагынганда да, сорау чын дискны уку өчен билгеләнмәгән. Операция системасы бит кэшын саклый (шулай ук ​​файл системасы кэшы дип атала), ядрә белән идарә ителә торган RAM өлкәсе, буферлар җайланмаларны блоклау өчен укый һәм яза. Мәгълүматлар базасы двигателе буфер бассейнда булмаган битне сорагач, ОС ядрәсе үз контроллерына физик I / O боерыгы биргәнче үз бит кэшын тикшерә.

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

Бу өченче катлам кушымта ясаучылар өчен күпчелек күренми, ләкин мәгълүмат базасы буфер бассейны тәэмин ителмәгән системаларда бик мөһим. ОС бите кэшы барлык процессларда уртак, шуңа күрә ул сезнең кушымта серверы, веб-сервер һәм бер үк хостта эшләүче бүтән программа тәэминаты белән көндәшлек итә. Аерым мәгълүмат базасы серверларында бу конкуренция минималь, һәм OS кэш мәгънәле икенче мөмкинлек буферы бирә. Уртак хостларда яки каты хәтер чикләре булган контейнерларда, OS кэш еш ярдәм итәр өчен бик кечкенә.

Кайсы Кэш катламы практикада иң күп җиңү өчен җаваплы?

Реаль дөнья җитештерү системаларында буфер бассейн эш нәтиҗәләрен киң маржа өстенлек итә. Менә ни өчен һәр катлам куллану очракларында төрлечә өлеш кертә:

  • Сорау нәтиҗәләре кэшы: Уку авыр, күбесенчә статик мәгълүматлар базасында иң зур файда - сорау отчетлары, кэш такталары, җәмәгать эчтәлеге ахыры. Язу авыр таблицаларда файдасыз.
  • Мәгълүматлар базасы буфер бассейны: универсаль эш аты. Everyәрбер производство базасы серверы монда башта көйләнергә тиеш. Очраклы һәм эзлекле керү үрнәкләрен эффектив эшкәртә.
  • ОС бит кэшы: Буфер бассейны ассызыкланганда куркынычсызлык челтәре бирә. Шулай ук зур таблицаларны эзлекле сканерлау вакытында буфер бассейннан кайнар битләрне чыгарып җибәрә.
  • Саклагыч контроллер кэшы (аппарат катламы): Дүртенче, еш игътибарсыз калган катлам - NVMe SSD һәм RAID контроллерлары бортта батарея яки конденсатор резервы белән кэш язалар. Бу fsync яшеренлеге исәбенә язу үткәрүне корбан итмичә ныклыкны саклый.
  • Кушымта катламы кэшы (Редис, Мемкачед): Мәгълүматлар базасы өстендә тулысынча утыра, серияле сорау нәтиҗәләрен яки исәпләнгән объектларны кэшлый, базага бәрелмәс өчен - меңләгән берьюлы кулланучыларга хезмәт күрсәтүче SaaS платформалары өчен идеаль.

Заманча бизнес платформалары масштабта ышанычлылык өчен кэш архитектурасын ничек куллана алалар?

Күп функциональ модульләр буенча эшләүче бизнес өчен - CRM, проект белән идарә итү, электрон сәүдә, аналитика - кэш архитектурасы командалар үсә барган саен платформаның җаваплылыгын билгели. Яхшы катламлы кэш стратегиясе нигезендә төзелгән платформалар дистәләрчә мең кулланучыларга пропорциональ инфраструктура бәясе булмаган хезмәт күрсәтә ала. Ачкыч кэш чикләрен хөрмәт итүче мәгълүматка керү формаларын проектлау: кайнар мәгълүматны кечкенә һәм керү формаларын алдан әйтеп тору, буфер бассейн йөген тарату өчен укылган репликаларны куллану, һәм бер үк вакытта берничә кулланучыга бер үк мәгълүмат бирә торган соңгы нокталар өчен Redis кебек кушымта-катлам кэшын урнаштыру.

Мевайз нәкъ шул фәлсәфәне истә тотып архитектураланган. 138,000 кулланучыдан торган 207 интеграль бизнес-модуль белән, платформаның мәгълүмат катламы шулай ук эшләнгән, күпчелек укулар кэштан бирелә - җавап вакытын тиз саклый һәм инфраструктура чыгымнарын 19 $ / айлык стартер планы яки 49 $ / ай профессиональ дәрәҗәсе белән эшләвегезне алдан әйтеп була.

Еш бирелә торган сораулар

Сорау кэшын сүндерү һәрвакыт мәгълүмат базасының эшләвен яхшыртамы?

alwaysәрвакытта да түгел, ләкин язу авыр эш өчен ул гадәттә. Сорау кэшы эзлеклелекне саклау өчен глобаль мутекс таләп итә, ул югары конструкция астында комачаулый. MySQL 8.0 шуңа күрә сорау кэшын тулысынча бетерде. PostgreSQL беркайчан да урнаштырылган сорау кэшын тормышка ашырмады, аның урынына буфер бассейнга һәм кушымта катламы кэшына таянды. Әгәр сезнең уку-язу дәрәҗәсе зур булса һәм сезнең сорауларыгыз кабатланса, сорау кэшы реаль табыш китерә ала - югыйсә, бу көйләү көчен буфер бассейнга салыгыз.

Буфер бассейнымның дөреслеген ничек белергә?

Сезнең буфер бассейнның сугылу коэффициентын күзәтегез: бассейннан бирелгән бит соравы дискны укуны таләп итүчеләргә каршы. OLTP эш йөгендә 95% -тан түбән хит коэффициенты бассейн күләмен арттыру өчен сигнал. MySQL'да ENGINE INNODB STATUS соравын сорагыз һәм буфер бассейнның сугылу тизлеген карагыз. PostgreSQL'да pg_statio_user_tables күренеше буфер бассейннан хезмәт күрсәткән дисктан укылган өем блокларын фаш итә. Бөтен эш комплектыгызны саклагыз - тулы мәгълүматлар базасы түгел - RAMда яшәүче.

Кэш катламнары һәм күп арендатор SaaS ышанычлылыгы арасында нинди бәйләнеш бар?

Күп фатирлы SaaSда кэш катламнары "шау-шулы күрше" проблемаларын булдырмый, анда бер арендаторның авыр соравы бүтән арендаторлар өчен эшне киметә. Арендатордан хәбәрдар булган кэш TTL нигезендә инвалидлык белән Редиста арендаторга кайнар мәгълүматны саклый, зур счетлардан буфер бассейн басымын кискен киметә. Мәгълүмат базасы дәрәҗәсендәге тоташу җылы буфер бассейны белән берләштерелгән, теләсә нинди хисаптан шартлау активлыгы уртак битләрне кэштан чыгармаска һәм платформада яшеренлек артуына китерә.

<сәгать>

Кэш катламнары мәгълүмат базасы түгел - алар архитектур нигез булып тора, масштабта тиз торучы платформаларны даими инфраструктура янгын сүндерүне таләп итә. Әгәр дә сез бу чынбарлык өчен оптимальләштерелгән платформага мохтаҗ бизнесны төзисез яки эшлисез икән, app.mewayz.com сайтында Mewayzны тикшерегез - 207 модуль, беренче кулланучының йөз меңгә кадәр ышанычлы эшләве өчен төзелгән.