Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Дар хотира маҷмӯи мафҳумҳо барои нигоҳ доштани маълумот аст, вақте ки онҳо дар RAM-и барнома нигоҳ дошта мешаванд ва диск барои нусхабардорӣ истифода мешавад. Дар равишҳои классикӣ маълумот дар диск нигоҳ дошта мешавад ва хотира дар кэш нигоҳ дошта мешавад. Масалан, замимаи веб бо пуштибонии коркарди додаҳо онро ба нигаҳдорӣ дархост мекунад: онро қабул мекунад, табдил медиҳад ва маълумоти зиёд тавассути шабака интиқол дода мешавад. Дар In-Memory, ҳисобҳо ба маълумот - ба нигоҳдорӣ фиристода мешаванд, ки дар он ҷо коркард карда мешаванд ва шабака камтар бор карда мешавад.

Бо шарофати меъмории худ, In-Memory дастрасии маълумотро якчанд маротиба ва баъзан ҳатто фармоишҳои бузургтарро тезтар мекунад. Масалан, таҳлилгарони бонк мехоҳанд дар як барномаи таҳлилӣ ҳисоботро дар бораи қарзҳои дар соли гузашта додашударо бо динамикаи рӯз бубинанд. Ин раванд дар DBMS классикӣ дақиқаҳоро мегирад, аммо бо In-Memory он қариб дарҳол пайдо мешавад. Сабаб дар он аст, ки равиш ба шумо имкон медиҳад, ки маълумоти бештарро кэш кунед ва он дар RAM "дар даст" нигоҳ дошта мешавад. Ба барнома лозим нест, ки маълумотро аз диски сахт талаб кунад, ки дастрасии он бо суръати шабака ва диск маҳдуд аст.

Бо In-Memory боз кадом имкониятҳо мавҷуданд ва ин чӣ гуна равиш аст? Владимир Плигин - муҳандис дар GridGain. Ин маводи барраси барои таҳиягарони веб-барномаҳо, ки бо In-Memory кор накардаанд ва мехоҳанд кӯшиш кунанд, ё ба тамоюлҳои муосири таҳияи нармафзор ва тарроҳии меъморӣ таваҷҷӯҳ доранд, муфид хоҳад буд.

эрод гирифтан. Мақола ба стенограммаи гузориши Владимир дар #GetIT Conf асос ёфтааст. Қабл аз ҷорӣ кардани изолятсия, мо мунтазам вохӯриҳо ва конфронсҳоро барои таҳиягарон дар Маскав ва Санкт-Петербург баргузор мекардем: мо тамоюлҳо, масъалаҳои кунунии рушд, мушкилот ва роҳҳои ҳалли онҳоро баррасӣ кардем. Ҳоло баргузор кардани конфронс ғайриимкон аст, аммо вақти он расидааст, ки маводҳои муфиди гузаштаро мубодила кунем.

Дар хотира кӣ ва чӣ тавр истифода мебарад

Дар хотира аксар вақт дар он ҷо истифода мешавад, ки муоширати зуди корбар ё коркарди миқдори зиёди маълумот талаб карда мешавад.

  • Бонкҳо Масалан, барои кам кардани таъхирҳо ҳангоми истифодаи барномаҳо ё таҳлили муштарӣ пеш аз додани қарз, дар хотира истифода баред.
  • Fintech In-Memory -ро барои беҳтар кардани иҷрои хидматҳо ва барномаҳо барои бонкҳо, ки коркард ва таҳлили додаҳоро аутсорсинг мекунанд, истифода мебарад. 
  • Ширкатҳои суғурта: барои ҳисоб кардани хатарҳо, масалан, тавассути таҳлили маълумоти муштариён дар тӯли якчанд сол.
  • Ширкатҳои логистикӣ. Онҳо бисёр маълумотро коркард мекунанд, масалан, барои ҳисоб кардани маршрутҳои оптималии интиқоли бор ва пассажир бо ҳазорҳо параметрҳо ва пайгирӣ кардани ҳолати интиқол.
  • Хурдафурӯшӣ. Қарорҳои In-Memory барои зудтар хизмат расонидан ба мизоҷон ва коркарди ҳаҷми зиёди иттилоот: интиқолҳо, ҳисобномаҳо, транзаксияҳо, мавҷудияти ҳазорон молҳо дар анборҳо ва омода кардани ҳисоботи таҳлилӣ кӯмак мекунанд.
  • В IoT Дар хотира пойгоҳи додаҳои анъанавиро иваз мекунад.
  • Дорусозӣ ширкатҳо истифода In-Memory, масалан, барои мураттаб кардани таркиби таркиби маводи мухаддир. 

Ман ба шумо чанд мисолеро мегӯям, ки чӣ тавр мизоҷони мо ҳалли In-Memory-ро истифода мебаранд ва чӣ гуна шумо метавонед онҳоро худатон амалӣ созед.

Дар хотира ҳамчун нигаҳдории асосӣ

Яке аз мизоҷони мо як таъминкунандаи бузурги таҷҳизоти илмии тиббӣ аз ИМА мебошад. Онҳо ҳалли In-Memory -ро ҳамчун нигаҳдории асосии маълумот истифода мебаранд. Ҳама маълумотҳо дар диск нигоҳ дошта мешаванд ва зермаҷмӯи маълумоте, ки фаъолона истифода мешаванд, дар RAM нигоҳ дошта мешаванд. Усулҳои дастрасии нигаҳдорӣ стандартӣ мебошанд - GDBC (Generic Database Connector) ва забони дархости SQL.

Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Дар маҷмӯъ, ин маълумот дар дохили хотира (IMDB) ё нигаҳдории хотираи марказӣ номида мешавад. Ин синфи қарорҳо номҳои зиёд доранд, инҳо ягона нестанд. 

Хусусиятҳои IMDB:

  • Маълумоте, ки дар In-Memory нигоҳ дошта мешавад ва тавассути SQL дастрас мешавад, ҳамон тавре ки дар дигар равишҳост. Онҳо ҳамоҳанг шудаанд, танҳо тарзи муаррифӣ, тарзи муроҷиат ба онҳо гуногун аст. Муомилот байни маълумот кор мекунад.

  • IMDB нисбат ба пойгоҳи додаҳои релятсионӣ тезтар аст, зеро гирифтани маълумот аз RAM назар ба диск тезтар аст. 
  • Алгоритмҳои оптимизатсияи дохилӣ дастурҳои камтар доранд.
  • IMDBs барои идоракунии маълумот, рӯйдодҳо ва транзаксияҳо дар барномаҳо мувофиқанд.

IMDB қисман ACID: Atomicity, Consistency ва Изолятсияро дастгирӣ мекунанд. Аммо онҳо "устуворӣ" -ро дастгирӣ намекунанд - вақте ки барқ ​​​​хомӯш мешавад, ҳама маълумот гум мешавад. Барои ҳалли мушкилот, шумо метавонед аксҳоро истифода баред - "тасвири" пойгоҳи додаҳо, ки ба нусхабардории пойгоҳи додаҳо дар диски сахт монанд аст ё транзаксияҳоро (журналҳоро) барои барқарор кардани маълумот пас аз бозоғозӣ сабт кунед.

Барои эҷод кардани барномаҳои ба хатогиҳо тобовар

Биёед меъмории классикии веб-барномаи ба хато тобоварро тасаввур кунем. Ин чунин кор мекунад: ҳама дархостҳо аз ҷониби баланси веб байни серверҳо тақсим карда мешаванд. Ин система устувор аст, зеро серверҳо якдигарро такрор мекунанд ва дар ҳолати рӯй додани ҳодисаҳо нусхабардорӣ мекунанд.

Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Мувозинат ҳамаи дархостҳоро аз як сессия ба таври қатъӣ ба як сервер равона мекунад. Ин як механизми сеанси чӯб аст: ҳар як сессия бо сервере алоқаманд аст, ки дар он ба таври маҳаллӣ нигоҳ дошта мешавад ва коркард мешавад. 

Вақте ки яке аз серверҳо ноком мешавад, чӣ мешавад?

Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Ба хидмат таъсир намерасонад, зеро меъморӣ такрор мешавад. Аммо мо як қисми сеансҳои сервери мурдаро аз даст медиҳем. Ва дар айни замон, корбароне, ки ба ин сессияҳо вобастаанд. Масалан, муштарӣ фармоиш медиҳад ва ногаҳон ӯро аз офис берун мекунад. Вақте ки ӯ дубора ворид мешавад ва мефаҳмад, ки ҳама чиз бояд дубора анҷом дода шавад, ӯ бадбахт мешавад.

Барномаи веб барои дастгирии шумораи зиёди корбарон лозим аст ва суст нашавад, то онҳо бароҳат кор кунанд. Аммо агар рад карда шавад, бо ҳар як дархости минбаъда вақти муошират бо мағозаи сеанс зиёд мешавад. Ин таъхири миёнаи корбарони дигарро зиёд мекунад. Аммо онҳо намехоҳанд, ки бештар аз он ки одат карда буданд, интизор шаванд.

Ин мушкилотро метавон мисли муштарии дигари мо, як провайдери бузурги PASS аз ИМА ҳал кард. Он In-Memory-ро барои кластер сессияҳои веб истифода мебарад. Барои ин, он онҳоро на ба таври маҳаллӣ, балки мутамарказ - дар кластери In-Memory нигоҳ медорад. Дар ин ҳолат, сессияҳо хеле зудтар дастрас мешаванд, зеро онҳо аллакай дар RAM ҳастанд.

Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Вақте ки сервер суқут мекунад, мувозинат дархостҳоро аз сервери вайроншуда ба серверҳои дигар мефиристад, ба монанди меъмории классикӣ. Аммо як фарқияти муҳим вуҷуд дорад: сессияҳо дар кластери In-Memory нигоҳ дошта мешаванд ва серверҳо ба ҷаласаҳои сервери афтода дастрасӣ доранд.

Ин меъморӣ таҳаммулпазирии хатогиҳои тамоми системаро афзоиш медиҳад. Гузашта аз ин, аз механизми сеанси чӯб тамоман даст кашидан мумкин аст.

Коркарди таҳлилии транзаксионии гибридӣ (HTAP)

Одатан, системаҳои транзаксионӣ ва таҳлилӣ ҷудо нигоҳ дошта мешаванд. Вақте ки онҳо аз ҳам ҷудо мешаванд, пойгоҳи асосӣ зери сарборӣ меояд. Барои коркарди аналитикӣ маълумот ба нусхабардорӣ нусхабардорӣ карда мешавад, то коркарди аналитикӣ ба равандҳои транзаксионӣ халал нарасонад. Аммо нусхабардорӣ бо ақибмонӣ сурат мегирад — бе таъхир такрор кардан ғайриимкон аст. Агар мо ин корро синхронй кунем, он хам базаи асосиро суст мекунад ва мо ягон бурд намегирем.

Дар HTAP ҳама чиз ба таври дигар кор мекунад - ҳамон як анбори додаҳо барои сарбории транзаксионӣ аз барномаҳо ва барои дархостҳои таҳлилӣ, ки барои анҷом додани он муддати тӯлонӣ лозим аст, истифода мешавад. Вақте ки маълумот дар хотираи оперативӣ ҷойгир аст, дархостҳои аналитикӣ зудтар иҷро мешаванд ва сервер бо пойгоҳи додаҳо камтар бор карда мешавад (ба ҳисоби миёна).

Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Равиши гибридӣ девори байни коркарди транзаксия ва таҳлилро вайрон мекунад. Агар мо дар як анбори аналитика анҷом диҳем, пас дархостҳои аналитикӣ аз рӯи маълумот аз RAM оғоз карда мешаванд. Онҳо хеле дақиқтар, тафсиртар ва мувофиқтаранд.

Интегратсияи ҳалли In-Memory

Роҳи (нисбатан) оддӣ - ҳама чизро аз сифр инкишоф диҳед. Мо маълумотро дар диск нигоҳ медорем ва маълумоти гармро дар хотира нигоҳ медорем. Ин кӯмак мекунад, ки серверро аз бозоғозӣ ё қатъ шудани сервер наҷот диҳад.

Дар ин ҷо ду сенарияи асосӣ вуҷуд дорад, вақте ки маълумот дар диск нигоҳ дошта мешавад. Дар аввал, мо мехоҳем аз садамаҳо ё бозоғозкунии мунтазами кластер ё қисмҳо наҷот ёбем - мо мехоҳем онро ҳамчун пойгоҳи додаҳои оддӣ истифода барем. Дар сенарияи дуюм, вақте ки маълумот аз ҳад зиёд аст, як қисми он дар хотира аст.

Агар ҳама чизро аз сифр сохтан ғайриимкон бошад, он метавонад In-Memory -ро ба як хотираи қаблӣ ворид кардан мумкин аст. меъмории мавҷуда. Аммо на ҳама ҳалли In-Memory барои ин мувофиқанд. Се шарти ҳатмӣ вуҷуд дорад. Ҳалли In-Memory бояд инҳоро дастгирӣ кунад:

  • роҳи стандартии пайвастшавӣ ба пойгоҳи додаҳо, ки дар зери он ҷойгир аст (масалан, MySQL);
  • забони дархости стандартӣ, то аз нав навиштан ва тағир додани мантиқи ҳамкорӣ бо нигаҳдорӣ;
  • транзаксионалӣ - нигоҳ доштани семантикаи мутақобила.

Агар ҳар се шарт иҷро шавад, интегратсия имконпазир аст. Мо Шабакаи маълумотро дар хотира байни барнома ва базаи маълумот ҷойгир мекунем. Акнун дархостҳои навиштан ба пойгоҳи додаҳои аслӣ ва дархостҳои хондан ба пойгоҳи додаҳои аслӣ вогузор карда мешаванд, агар маълумот дар кэш набошад.

Меъмории хотира барои хидматҳои веб: асосҳо ва принсипҳои технология

Агар дастрасии зуд ба маълумот ва коркарди он барои шумо муҳим бошад, масалан, барои таҳлили тиҷорат, шумо метавонед дар бораи татбиқи In-Memory фикр кунед. Ва барои татбиқ, шумо метавонед ҳарду усулро ҳангоми тарҳрезии меъмории нав истифода баред.

Манбаъ: will.com

Илова Эзоҳ