Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Навор аз филми "Коиноти махфии мо: Ҳаёти пинҳонии ҳуҷайра"

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

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

Илова бар ин, талаботи танзимгарон, чӣ Русия ва чӣ хориҷӣ меафзояд.

Барои қонеъ кардани эҳтиёҷоти ҷорӣ ва гузоштани замина барои такмили оянда, мо як асосии тиҷорати сармоягузориро дар асоси Tarantool таҳия кардем.

Баъзе статистика. Бизнеси сармоягузории Алфа-Бонк хидматҳои брокериро барои шахсони воқеӣ ва ҳуқуқӣ бо мақсади фароҳам овардани имкони тиҷорат дар бозорҳои гуногуни коғазҳои қиматнок, хизматрасонии депозитарӣ оид ба нигоҳдории коғазҳои қиматнок, хадамоти идоракунии боваринок барои шахсони воқеии дорои сармояи хусусӣ ва калон, хизматрасонӣ оид ба барориши коғазҳои қиматнок ба дигар ширкатҳо пешниҳод менамояд. . Бизнеси сармоягузории Алфа-Бонк беш аз 3 ҳазор иқтибос дар як сонияро дар бар мегирад, ки аз платформаҳои гуногуни савдо зеркашӣ карда мешаванд. Дар давоми рӯзи корӣ дар бозорҳо аз номи бонк ё муштариёни он беш аз 300 ҳазор муомила баста мешавад. Дар платформаҳои беруна ва дохилӣ дар як сония то 5 ҳазор фармоиш иҷро карда мешавад. Ҳамзамон, ҳама муштариёни дохилӣ ва хориҷӣ мехоҳанд мавқеи худро дар вақти воқеӣ бубинанд.

prehistory

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

Илова бар ин, базаи коди системаҳо аллакай хеле кӯҳна шудааст, зеро баъзе маҳсулотҳо дар миёнаҳои солҳои 1990 пайдо шудаанд. Ва дар баъзе минтақаҳо ин раванди рушдро суст кард ва мушкилоти иҷроиш вуҷуд дошт.

Талабот барои ҳалли нав

Корхонаҳо дарк карданд, ки тағироти технологӣ барои рушди минбаъда муҳим аст. Ба мо вазифаҳо дода шуданд:

  1. Ҳама маълумоти тиҷоратиро дар як нигаҳдории зуд ва дар як модели додаҳо ҷамъ кунед.
  2. Мо набояд ин маълумотро гум кунем ё тағир диҳем.
  3. Маълумотро нусхабардорӣ кардан лозим аст, зеро ҳар лаҳза танзимкунанда метавонад омори солҳои қаблиро талаб кунад.
  4. Мо набояд на танҳо баъзе DBMS-и нав ва муосирро биёварем, балки барои ҳалли мушкилоти тиҷорат як платформа эҷод кунем.

Илова бар ин, меъморони мо шартҳои худро муқаррар мекунанд:

  1. Қарори нав бояд дараҷаи корхона бошад, яъне он бояд аллакай дар баъзе ширкатҳои бузург санҷида шавад.
  2. Реҷаи кори ҳалли бояд вазифаи муҳим бошад. Ин маънои онро дорад, ки мо бояд дар як вақт дар якчанд марказҳои додаҳо ҳузур дошта бошем ва оромона аз қатъ шудани як маркази додаҳо наҷот ёбем.
  3. Система бояд ба таври уфуқӣ миқёспазир бошад. Гап дар он аст, ки ҳамаи системаҳои ҳозираи мо танҳо ба таври амудӣ миқёспазиранд ва мо аз сабаби афзоиши пасти қудрати сахтафзор аллакай ба шифт зада истодаем. Аз ин рӯ, лаҳзае фаро расидааст, ки мо бояд системаи ба таври уфуқӣ миқёспазир дошта бошем, то зинда монем.
  4. Аз чумла ба мо гуфтанд, ки халли он бояд арзон бошад.

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

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

Ман ба шумо намегӯям, ки мо ҳама чизро чӣ гуна санҷида будем ва он чӣ қадар вақт гирифт, ман танҳо ҷамъбаст мекунам: беҳтарин нишондиҳанда дар озмоишҳои сарборӣ тавассути ҳалли прототипи дар асоси Tarantool аз дастаи таҳияи Mail.ru Group нишон дода шудааст. Мо шартнома имзо карда, ба кор шуруъ намудем. Дар он ҷо чор нафар аз Mail.ru Group ва аз Alfa-Bank се таҳиягар, се таҳлилгари система, меъмори ҳалли масъала, соҳиби маҳсулот ва устоди Scrum буданд.

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

Рушд

Аввалин саволе, ки мо ба худ додем, ин буд, ки чӣ гуна маълумотро аз системаҳои кунунии худ ба даст овардан мумкин аст. Мо тасмим гирифтем, ки HTTP барои мо хеле мувофиқ аст, зеро ҳама системаҳои ҷорӣ бо ҳам тавассути фиристодани XML ё JSON тавассути HTTP муошират мекунанд.

Мо сервери HTTP-ро, ки дар Tarantool сохта шудааст, истифода мебарем, зеро ба мо лозим нест, ки сессияҳои SSL-ро қатъ кунем ва иҷрои он барои мо кофӣ аст.

Тавре ки ман аллакай гуфтам, ҳамаи системаҳои мо дар моделҳои гуногуни додаҳо зиндагӣ мекунанд ва ҳангоми воридшавӣ ба мо лозим аст, ки объектро ба моделе, ки худамон тавсиф мекунем, биёрем. Забоне лозим буд, ки барои табдил додани маълумот имкон медод. Мо императив Луаро интихоб кардем. Мо ҳама рамзи табдили маълумотро дар қуттии сандуқ иҷро мекунем - ин ҷои амнест, ки берун аз он рамзи иҷрошаванда намеравад. Барои ин, мо танҳо рамзи лозимиро бор карда, муҳити дорои функсияҳоеро эҷод мекунем, ки ҳеҷ чизро манъ карда наметавонанд.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Пас аз табдилдиҳӣ, маълумот бояд мувофиқат бо модели эҷодкардаи мо тафтиш карда шавад. Мо муддати тӯлонӣ муҳокима кардем, ки модел бояд чӣ гуна бошад ва барои тавсифи он бо кадом забон истифода шавад. Мо Apache Avro-ро интихоб кардем, зеро забон содда аст ва аз ҷониби Tarantool дастгирӣ мешавад. Версияҳои нави модел ва коди фармоишӣ метавонанд дар як рӯз чанд маротиба, ҳатто дар зери сарборӣ ё бидуни, дар ҳар вақти рӯз ба кор андохта шаванд ва ба тағирот хеле зуд мутобиқ шаванд.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Пас аз санҷиш, маълумот бояд захира карда шавад. Мо инро бо истифода аз vshard мекунем (мо нусхаҳои географии пароканда дорем).

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Гузашта аз ин, хосият дар он аст, ки аксари системаҳое, ки ба мо маълумот мефиристанд, парво надоранд, ки мо онро гирифтаем ё не. Аз ин чост, ки мо аз худи аввал навбати таъмирро чорй кардем. Ин чист? Агар объект бо ягон сабаб ба тағир додани маълумот ё санҷиш нагузарад, мо то ҳол гирифтани онро тасдиқ мекунем, аммо дар айни замон объектро дар навбати таъмир нигоҳ медорем. Он пайваста аст ва дар анбори асосии маълумоти тиҷоратӣ ҷойгир аст. Мо фавран интерфейси администраторро барои он навиштем, ченакҳо ва огоҳиҳои гуногун. Дар натиҷа, мо маълумотро аз даст намедиҳем. Ҳатто агар чизе дар манбаъ тағир ёбад, агар модели додаҳо тағир ёбад, мо фавран онро муайян мекунем ва метавонем мутобиқ шавем.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Акнун ба шумо лозим аст, ки чӣ гуна гирифтани маълумоти захирашударо омӯзед. Мо системаҳои худро бодиққат таҳлил кардем ва дидем, ки стеки классикии Java ва Oracle ҳатман як навъ ORM-ро дар бар мегирад, ки маълумотро аз релятсионӣ ба объект табдил медиҳад. Пас чаро фавран объектҳоро ба системаҳо дар шакли график надиҳед? Ҳамин тавр, мо бо хушнудӣ GraphQL-ро қабул кардем, ки ба ҳама ниёзҳои мо ҷавобгӯ буд. Он ба шумо имкон медиҳад, ки маълумотро дар шакли графикҳо қабул кунед ва танҳо он чизеро, ки ҳоло ба шумо лозим аст, кашед. Шумо ҳатто метавонед API-ро бо чандирии хеле зиёд версия кунед.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Қариб дарҳол мо фаҳмидем, ки маълумоте, ки мо истихроҷ мекунем, кофӣ нест. Мо функсияҳоеро офаридаем, ки онҳоро бо объектҳои модел пайваст кардан мумкин аст - аслан майдонҳои ҳисобшуда. Ин аст, ки мо ба майдон функсияи муайянеро замима мекунем, ки масалан, нархи миёнаи нархномаро ҳисоб мекунад. Ва истеъмолкунандаи беруна, ки маълумотро талаб мекунад, ҳатто намедонад, ки ин майдони ҳисобшуда аст.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Системаи аутентификатсия ҷорӣ карда шуд.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Сипас мо пай бурдем, ки дар қарори мо якчанд нақшҳо кристалл шудаанд. Нақш як навъ агрегатори функсияҳо мебошад. Одатан, нақшҳо профилҳои гуногуни истифодаи таҷҳизот доранд:

  • T-Connect: пайвастҳои воридотӣ, CPU маҳдуд, истеъмоли хотираи кам, бидуни шаҳрвандӣ.
  • IB-Core: маълумотеро, ки тавассути протоколи Tarantool мегирад, табдил медиҳад, яъне бо ҷадвалҳо кор мекунад. Он инчунин ҳолатро нигоҳ намедорад ва миқёспазир аст.
  • Нигоҳдорӣ: танҳо маълумотро нигоҳ медорад, ҳеҷ гуна мантиқро истифода намебарад. Ин нақш соддатарин интерфейсҳоро амалӣ мекунад. Ба шарофати vshard миқёспазир.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Яъне, бо истифода аз нақшҳо, мо қисмҳои гуногуни кластерро аз ҳамдигар ҷудо кардем, ки онҳоро новобаста аз ҳамдигар васеъ кардан мумкин аст.

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

санҷиши

Аз оғози лоиҳа мо тасмим гирифтем, ки кӯшиш кунем, ки коркарди санҷиширо амалӣ кунем. Мо санҷишҳои воҳидҳоро дар Луа бо истифода аз чаҳорчӯбаи tarantool/tap ва санҷишҳои ҳамгироӣ дар Python бо истифода аз чаҳорчӯбаи pytest менависем. Ҳамзамон, мо ҳам таҳиягарон ва ҳам таҳлилгаронро барои навиштани санҷишҳои ҳамгироӣ ҷалб мекунем.

Мо чӣ гуна таҳияи санҷишро истифода мебарем?

Агар мо хоҳем, ки ягон хусусияти нав дошта бошем, мо кӯшиш мекунем, ки аввал барои он санҷиш нависем. Вақте ки мо хатоеро кашф мекунем, мо боварӣ ҳосил мекунем, ки аввал санҷиш менависем ва танҳо баъд онро ислоҳ мекунем. Дар аввал чунин кор кардан душвор аст, аз ҷониби кормандон нофаҳмӣ, ҳатто саботаж вуҷуд дорад: "Биёед, ҳоло онро зуд ислоҳ кунем, ягон чизи нав кунем ва баъд онро бо санҷишҳо фаро гирем." Танҳо ин «баъдтар» қариб ҳеҷ гоҳ намеояд.

Аз ин рӯ, шумо бояд аввал худро маҷбур кунед, ки санҷишҳо нависед ва аз дигарон талаб кунед. Ба ман бовар кунед, рушди озмоишӣ ҳатто дар муддати кӯтоҳ фоида меорад. Шумо эҳсос хоҳед кард, ки ҳаёти шумо осонтар шудааст. Мо ҳис мекунем, ки 99% код ҳоло бо санҷишҳо фаро гирифта шудааст. Ин хеле зиёд ба назар мерасад, аммо мо ягон мушкилот надорем: санҷишҳо дар ҳар як супориш гузаронида мешаванд.

Бо вуҷуди ин, чизе, ки мо аз ҳама дӯст медорем, санҷиши сарборӣ аст; мо онро муҳимтарин мешуморем ва онро мунтазам иҷро мекунем.

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

Мо хеле ғамгин будем. Мо ба сарбории сервер назар мекунем, аммо маълум мешавад, ки онҳо бекоранд.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Мо таҳиягаронро даъват мекунем ва онҳо ба мо, одамоне, ки аз ҷаҳони Java омадаанд, мефаҳмонанд, ки Tarantool як ришта аст. Он метавонад танҳо аз ҷониби як ядрои протсессори зери сарборӣ самаранок истифода шавад. Сипас, мо шумораи максималии имконпазири мисолҳои Tarantool-ро дар ҳар як сервер ҷойгир кардем, сарборро фаъол кардем ва аллакай дар як сония 14,5 ҳазор транзаксия гирифтем.

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

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

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Баръакс, дар серверҳои нигаҳдорӣ, сарбории протсессор зиёд шуд, аммо нисбат ба серверҳое, ки пайвастҳоро коркард мекунанд, хеле сусттар аст.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Ва истеъмоли хотира дар таносуби мустақим ба миқдори маълумоти боршуда афзоиш ёфт.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем

Хизматрасониҳо

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

Хидматҳо танҳо қисмҳои хурди код нестанд, ки дар баъзе соҳаҳо амал мекунанд. Онҳо метавонанд сохторҳои хеле калон ва мураккаб бошанд, ки як ҷузъи кластер мебошанд, маълумоти истинодро тафтиш мекунанд, мантиқи тиҷоратро иҷро мекунанд ва посухҳоро бармегардонанд. Мо инчунин схемаи хидматро ба GraphQL содир мекунем ва истеъмолкунанда нуқтаи дастрасии универсалиро ба маълумот бо интроспекция дар тамоми модел мегирад. Ин хеле қулай аст.

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

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

Системаҳои кӯҳна

На ҳама системаҳои кӯҳнаи мо метавонанд ба мо тавассути HTTP занг зананд ва GraphQL-ро истифода баранд, гарчанде ки онҳо протоколро дастгирӣ мекунанд. Аз ин рӯ, мо механизмеро офаридаем, ки имкон медиҳад маълумот дар ин системаҳо такрор карда шавад.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Агар чизе барои мо тағир ёбад, триггерҳои беназир дар нақши нигаҳдорӣ оғоз мешаванд ва паём бо тағирот дар навбати коркард ба итмом мерасад. Он ба системаи беруна бо истифода аз нақши алоҳидаи репликатор фиристода мешавад. Ин нақш ҳолатро нигоҳ намедорад.

Такмилҳои нав

Тавре ки шумо дар хотир доред, мо аз нуқтаи назари тиҷорат сабти асинхронӣ мекардем. Аммо баъд онҳо фаҳмиданд, ки ин кофӣ нест, зеро як синфи системаҳо вуҷуд доранд, ки бояд фавран дар бораи ҳолати амалиёт посух гиранд. Ҳамин тавр, мо GraphQL-и худро васеъ кардем ва мутатсия илова кардем. Онҳо ба таври органикӣ ба парадигмаи мавҷудаи кор бо додаҳо мувофиқат мекунанд. Барои мо, ин як нуқтаи ягонаи хондан ва навиштан барои синфи дигари системаҳост.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Мо инчунин фаҳмидем, ки танҳо хидматҳо барои мо кофӣ нестанд, зеро гузоришҳои хеле вазнин мавҷуданд, ки бояд дар як рӯз, ҳафта, моҳ як маротиба сохта шаванд. Ин метавонад вақти зиёдро талаб кунад ва гузоришҳо ҳатто метавонанд ҳалқаи чорабиниҳои Tarantool-ро маҳкам кунанд. Аз ин рӯ, мо нақшҳои алоҳида эҷод кардем: нақшакаш ва даванда. Давандагон давлатро нигоҳ намедоранд. Онҳо вазифаҳои вазнинеро иҷро мекунанд, ки мо онҳоро дар парвоз ҳисоб карда наметавонем. Ва нақши нақшакаш ҷадвали оғози ин вазифаҳоро, ки дар конфигуратсия тавсиф шудааст, назорат мекунад. Худи вазифаҳо дар ҳамон ҷо бо маълумоти тиҷоратӣ нигоҳ дошта мешаванд. Вақте ки вақти мувофиқ фаро мерасад, нақшакаш супоришро гирифта, ба ягон даванда медиҳад, ки онро ҳисоб мекунад ва натиҷаро захира мекунад.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
На ҳама вазифаҳоро аз рӯи ҷадвал иҷро кардан лозим аст. Баъзе гузоришҳоро мувофиқи талабот хондан лозим аст. Ҳамин ки ин талабот фаро мерасад, дар қуттии қум супориш сохта мешавад ва барои иҷро ба даванда фиристода мешавад. Пас аз чанд вақт, корбар посухи асинхронӣ мегирад, ки ҳама чиз ҳисоб карда шудааст ва гузориш омода аст.

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем
Дар аввал, мо ба парадигмаи нигоҳ доштани ҳама маълумот, версияи он ва нест накардани он риоя мекардем. Аммо дар зиндагӣ, гоҳ-гоҳ ба шумо лозим меояд, ки чизеро, асосан баъзе маълумоти хом ё миёнаро нест кунед. Дар асоси ба охир расидани мӯҳлати истифода, мо механизми тоза кардани нигоҳдорӣ аз маълумоти кӯҳнаро таъсис додем.

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

Чӣ гуна мо асоси тиҷорати сармоягузории Алфа-Банкро дар асоси Tarantool сохтем

хулоса

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

Инчунин дар хотир доред, ки мушкилоти мавҷуда дар равандҳои тиҷоратӣ наметавонанд бо истифода аз DBMS нав, ҳатто як хеле самаранок ҳал карда шаванд. Ман чиро дар назар дорам? Дар оғози лоиҳаи мо мо дар байни муштариён таассуроте ба вуҷуд овардем, ки ҳоло мо як пойгоҳи нави зудро меорем ва мо зиндагӣ хоҳем кард! Равандҳо тезтар мешаванд, ҳама чиз хуб мешавад. Дар асл, технология мушкилотеро, ки равандҳои тиҷорат доранд, ҳал намекунад, зеро равандҳои бизнес одамонанд. Ва шумо бояд бо одамон кор кунед, на технология.

Рушди ба санҷиш асосёфта метавонад дар марҳилаҳои аввал дардовар ва вақтро талаб кунад. Аммо таъсири мусбати он ҳатто дар муддати кӯтоҳ мушоҳида мешавад, вақте ки ба шумо барои гузаронидани санҷиши регрессионӣ ҳеҷ кор кардан лозим нест.

Гузаронидани санҷиши сарборӣ дар ҳама марҳилаҳои рушд ниҳоят муҳим аст. Камбудиеро дар меъморӣ ҳар қадар зудтар мушоҳида кунед, ислоҳ кардани он ҳамон қадар осонтар мешавад, ки дар оянда вақти зиёдро сарфа мекунад.

Дар Луа ҳеҷ бадӣ нест. Ҳар кас метавонад дар он навиштанро ёд гирад: таҳиягари Java, таҳиягари JavaScript, таҳиягари Python, фронт ё қафо. Ҳатто таҳлилгарони мо дар ин бора менависанд.

Вақте ки мо дар бораи он, ки мо SQL надорем, одамонро ба даҳшат меорад. "Чӣ гуна шумо бе SQL маълумот мегиред? Оё ин имконпазир аст? Албатта. Дар системаи синфи OLTP, SQL лозим нест. Алтернатива дар шакли як навъ забон вуҷуд дорад, ки шуморо фавран ба намуди ба ҳуҷҷат нигаронидашуда бармегардонад. Масалан, GraphQL. Ва алтернатива дар шакли компютерҳои тақсимшуда вуҷуд дорад.

Агар шумо фаҳмед, ки ба шумо миқёс лозим аст, пас ҳалли худро дар Tarantool тавре тарроҳӣ кунед, ки он метавонад дар баробари даҳҳо мисолҳои Tarantool кор кунад. Агар шумо ин корро накунед, он дертар душвор ва дардовар хоҳад буд, зеро Tarantool метавонад танҳо як ядрои протсессорро самаранок истифода барад.

Манбаъ: will.com

Илова Эзоҳ