Pwodwi baz done pèfòmans se biznis seri, men poukisa pa gen yon ti kras plezi eksplore rezo yo ak kompleksite li yo? 😉 Isit la se yon istwa byen fanatik nou prezante nan Chapter 1 nan . Database Performance at Scale, yon liv gratis Open Access Database pèfòmans nan Scale Database pèfòmans nan Scale Tèm teknik yo kouvri isit la yo espand sou tout nan liv la. Men, sa a se yon sèl ak inik fwa nou pale sou pafwa Patrick. Pèmèt batay li yo pote ou kèk lekti valè, konfòtiz nan pwòp prédicaments pèfòmans baz done ou ... ak ka kèk chèk tou. *** nan Apre yo peye travay li nan yon konpayi FAANG MAANG (MANGA?) , Patrick te deside fè aksyon sou tèt li ak fonde yon magazen nèk sou entènèt dedye pou komès pi renmen l 'nan mitan tèt li yo, feedoras jòn. Obsève ke yon sèten baz baz NoSQL te dènyèman tendans sou paj la nan tèt la nan Hacker Nouvèl, Patrick chwazi li pou piki backend l '. Apre kèk eksperyans ak nivo a gratis nan ofri a, Patrick te deside antre nan yon kontra yon ane ak yon founisè gwo cloud yo jwenn yon rabè enpòtan sou NoSQL databas-as-a-servis ofri li yo. Avèk pwovizyon pwovizyon kapasite pou sèvi ak jiska 1,000 kliyan chak sekondè, piki teknoloji a te pare ak magazen an louvri ou vityèl yo nan kliyan yo. Pou dezavantaj Patrick a, mwens pase 10 kliyan vizite sit la chak jou. An menm tan an, cluster a databas nouvo brilliant te kontinye kouri, alimèt pa yon afliyans konstan de lajan soti nan kat kredi l 'ak espere pou potansyèl li yo dwe eksplike. Patrick’s Diary of Lessons Learned, Part I Diary Patrick a nan lekti aprann, pati I Lekse yo te kòmanse imedyatman: Malgre ke kèk baz done reklame yo kòm universal, pifò nan yo pèfòmans pi bon pou kalite travay sèten yo. Analiz la anvan chwazi yon baz done pou bezwen pwòp ou dwe gen ladan estime karakteristik yo nan travay travay pwòp ou: Èske li ka gen yon flux predictable, konstante nan demann (pou egzanp, ajou yo pran soti nan lòt sistèm nan yon peryòd)? Èske varyans la se segondè ak difisil yo prezante, ak sistèm la se ki enkyetid pou yon peryòd tan potansyèlman long, ak kout nan aktivite? Database-as-a-services souvan pèmèt ou chwazi ant pwovizyon pase ak sou-pwodwi achitekti. Malgre ke premye a se pi koute-efikas, li gen yon kantite pri san yo pa gen pwoblèm ki jan travay baz la se reyèlman. Sa a dezyèm koute plis pou chak demann, men ou sèlman peye pou sa ou sèvi ak. Jwenn ou tan yo evalye chwa ou ak evite angaje nan kontra long (senk si enkyete pa yon rabè) anvan ou wè ke konfigirasyon an ap travay pou ou nan yon fason ki durab. Premye Spike 17 Mas te parèt tankou yon jou trè siksè. Patrick te kontan jwenn yon anpil nan lòd nouvo kòmanse soti nan bonè matin. Men, kòm kantite kliyan aktif te ogmante sou midi, Patrick a te kòmanse detwi. Sa a te estrikti korelasyon ak pousantaj la nan ap resevwa apèl soti nan kliyan enkyete rapòte ke yo pa kapab kontinye ak lòd yo. Apre yon ti sesyon brainstorming ak tèt li ak yon motè rechèch sou entènèt, Patrick te konprann, nan desizyon l ', ke li manke nenpòt zouti observabilite sou kouvèti (ak trè chè) databas li yo. Pandan yon tan apre frantically mete Grafana ak navigasyon metrik, Patrick te wè ke malgre ke kantite requests entèdi kontinye ogmante, pousantaj siksè yo te limite nan yon sèten nivo, byen anba trafik la espere jodi a. "Provisioned pwodiksyon frape ankò," Patrick grenn nan tèt li, pandan y ap kouri nan dè milye de "pwodiksyon depase" mesaj erè ki te kòmanse parèt alantou 11am. Patrick’s Diary of Lessons Learned, Part II Diary Patrick a nan lekti yo aprann, pati II Isit la se sa Patrick aprann: Si chaj travay ou se sensiblite a piki, prepare pou li ak eseye arsitekte klavye ou yo dwe kapab reziste nan yon chaj temporarily elevated. Database-as-a-services solisyon anjeneral pèmèt konfigirasyon pwopoze a nan yon fason dinamik, ki vle di ke prag la nan demand yo aksepte ka kounye a ogmante temporarily nan yon nivo ki te konfigirasyon anvan. Oswa, respektivman, yo pèmèt li yo diminye temporarily fè solisyon an yon ti kras plis ekonomi-efikas. Toujou espere piki. Menm si travay ou se absoliman konstwi, yon erè aparèy tanperati oswa yon atak DDoS surprenant ka lakòz yon ogmantasyon dramatik nan demann envantè. Observabilite se kle nan sistèm distribiye. Li pèmèt devlopè yo retrospektivman rechèch yon rezo. Li tou bay alèt tan reyèl lè yon senaryo rezo posib detekte, ki pèmèt moun reponn byen vit ak touye anpeche yon rezo pi gwo pase, oswa omwen minimize enpak la negatif sou klavye a. Premye pèdi Patrick pa menm te kapab retire soti nan traume a nan pèdi pifò nan revni potansyèl li yo nan jou a sèlman nan tout ane a pandan ki fedoras yo jòn te gen nenpòt kalite demann, lè lèt la te rive. Li gen ladan yon rant enkyete soti nan yon kliyan pwobableman, ki te avèk siksè kontwole ak lòd li ak peye pou li (ak yon kouvèti nan operatè a pwosesis peman kòm yon dokiman), men kounye a se pa kapab wè nenpòt detay sou lòd l ' - epi li toujou ap tann pou livrezon! Pa gen okenn plis enkyetid, Patrick browse baz done a. Pou etonan li, li te jwenn pa gen okenn pèt nan lòd la tou. Pou konplètite, Patrick tou mete panse pwòp tèt li yo nan pratik pa browse nan katab snapshot backup la. Li te rete vye granmoun, kòm youn nan desizyon yo prensipal ekzekitif Patrick te pou sove tan ak lajan pa planifye pa gen okenn pwosesis backup peryòd. Pa studye modèl la konsistans nan baz done chwa li yo, Patrick te konprann ke gen konsans pou fè ant garanti konsistans, pèfòmans, ak disponiblite. Pa konfigirasyon kesyon yo, yon ka tou mande linearizabilityFootnote7 nan pri a nan diminye pase, oswa diminye garanti konsistans ak ogmante pèfòmans dapre. Kapasite pèfòmans pi wo te yon non-brainer pou Patrick yon kèk jou de sa, men finalman done kliyan te ateris sou yon sèl sèvè san yo pa gen okenn replik distribiye nan sistèm la. Yon fwa sèvè sa a te fè mal - ki se ki ka aparèy la etonan souvan, espesyalman nan yon gwo kantite - done yo te disparèt. Patrick’s Diary of Lessons Learned, Part III Diary Patrick a nan lekti yo aprann, pati III Yon lòt lekti gen ladan: Backups yo esansyèl nan yon anviwònman distribiye, ak pa gen yon bagay tankou mete règleman backup "tou vit." Sistèm kache, ak backups yo gen yo restaure pi plis done enpòtan posib. Tout sistèm baz done gen yon sèten modèl konsistans, epi li esansyèl yo konsidere sa a lè konsepsyon pwojè ou. Gen ka kompromis yo fè. Nan kèk ka itilize (pens sistem finansye), konsistans se kle a. Nan lòt moun, posib konsistans se akseptab, si li kenbe sistèm la trè disponib ak responsiv. Spike nan yon lòt fwa Men yo te pase ak orè a dorman Patrick te menm kòmanse montre senk nan estabilizasyon. Avèk backups regilye, yon modèl konsistans redesigned, ak yon reminder mete nan kalandriye l 'pou 16 mas la pou ogmante kouch la nan jere trafik la ogmante, li te santi modere san danje. Si sèlman li te konnen ke yon videyo senk-sekondè nan yon chat kle kòm yon leprechaun te kounye a vin viral nan Malezi ... ki, konsidere zòn tan, te pase alantou 2am Patrick's tan, ruine efò yo estabilize son anvan rele. Nan yon pwen, suite a observabilite te fè travay li yo ak te lanse yon alantou byen bonè, pèmèt yon repons rapid. Nan lòt pwen, malgre ke Patrick te reponn nan tan, baz done yo rarman kapab skalere imedyatman, ak sistèm chwa l 'pa gen okenn eksepsyon nan sa a. Pike a nan concurrence te trè wo ak konsantre, kòm milye de adolesan Malezi te apresye yo achte chape vèt yo vèt yo nan pwosedi pou tendans sou entènèt la toujou chanje. Patrick te kapab observe yon enstitiasyon reyèl nan , ki li vaguèlman sonje soti nan tan l 'nan inivèsite. Avèk yon fòmil bèl-konkrèt, L = λW, kanpe a ka senplike nan faktè sa a ke concurrentite se menm jan ak latans tan pase. Lwa nan ti kras Pou moun ki gen pwoblèm ak memwa fòmil la, panse inite yo. Konkurans se jis yon nimewo, latans ka medye nan segonn, pandan y ap pase a se anjeneral eksprime nan 1/s. Lè sa a, li se rezonab ke pou inite yo korespondan, konkonkurans ta dwe jwenn pa multipli latans (sekond) pa pase a (1/s). Ou se akeyi! Tip nan: Tip nan: Throughput depann sou lojisyèl la ak natirèlman gen limit li yo (pou egzanp, ou pa ka espere yon kondwi NVMe achte nan 2023 yo sèvi ak done yo pou ou nan terabytes pou chak sekondè, menm si nou kouri doulè nou an pou sa a asirans dwe invalide nan tan kap vini an!) Yon fwa limite a te frape, ou ka trete li kòm konstante nan fòmil la. Lè sa a, li se klè ke kòm konvansyon ogmante, menm jan ak latèz. Pou itilizatè final yo - adolesan Malezi nan senaryo sa a - sa vle di latèz la ap finalman ale atravè baryè a magik pou peryòd la anviwònman an mwayèn nan kèk sekondè. Yon fwa sa a rive, itilizatè yo jwenn trè fr Patrick’s Diary of Lessons Learned, Part IV Diary Patrick a nan lekti aprann, pati IV Lekti yo ap kontinye: Yon piki inattant se pa evidan, epi konplèksyon cluster la ta ka pa byen vit pou mitigasyon efè yo negatif nan konvansyon egzèsis. Espere databas la fè fas ak li byen se pa sansib, men pa tout databas se kapab fè sa. Si posib, limite konvansyon nan sistèm ou kòm byen vit ke posib. Pou egzanp, si databas la pa janm touche dirèkteman pa kliyan (ki se yon ide trè bon pou plizyè rezon) men li se aksè nan yon seri microservices anba kontwòl ou, asire w ke microservices yo tou konnen limit yo konvansyon ak adheres nan yo. Pèmèt ou konsidere ke Lwa a nan Little egziste - li se yon konesans fondamantal pou nenpòt moun ki enterese nan sistèm distribiye. Cite li souvan tou fè ou parèt eksepsyonèlman entelijan nan mitan kolèj yo. Backup grèv tounen Apre re-dizajine pwojè l 'mwen ankò yo pran an konvansyon konvansyon espere ak enkyetid nan konvansyon, Patrick te kontan pou biznis fedora li yo finalman vin ramen rentable. Malgre ke 17 mas la pwochen pa te ale menm jan bon jan li te espere. Patrick te pase pi fò nan jou a jwi Grafana tablo, ki te kontinye asire l 'ke trafik la se anba kontwòl ak kapab manipile chaj la nan kliyan, ak yon sante marye sekirite. Men, Lè sa a, tablo yo te detann, bonm men ke disk yo te vin gravman overused. Sa a te sanble konplètman deyò nan kote a akòz konvansyon an observe. Pandan ke li ap chèche pou sous posib nan anomali sa a, Patrick te observe, pou horror l ', ke pwosesis la backup planifye kounye a ak chaj la chak ane... Patrick’s Diary of Lessons Learned, Part V Diary Patrick a nan lekti aprann, pati V Konklizyon nan konsèp: Sistèm baz done yo pa gen okenn tan vye granmoun, menm san yo pa mande itilizatè ki rive. Operasyon manman souvan rive epi ou ta dwe konsidere yo paske yo se yon sous enteryè nan concurcurrency ak konsomasyon resous. Kèlkeswa posib, planifye opsyon manm pou tan ak presyon ki ba espere sou sistèm an. Si sistèm jesyon baz done ou sipòte nenpòt kalite bon jan kalite konfigirasyon sèvis, li se yon bon ide yo rechèch kapasite sa yo. Pou egzanp, li ta ka posib mete yon gwo priorite pou requests itilizatè sou operasyon rechèch regilye, espesyalman pandan èdtan piki. Respektivman, peryòd ki gen aktivite ki ba-user-induced ka itilize pou akselere aktivite background. Nan mond lan nan baz done, sistèm ki itilize yon varyant nan LSM twal pou depo anba a bezwen fè yon ti kras kompresyon (yon kalite yon operasyon rechèch sou done) yo kenbe pèfòmans la lekti / ekri previzibl ak estab. nan fen an. Piotr Sarna nan se yon enjenyè lojisyèl ki enteresan nan pwojè sous louvri ak lang yo Rust ak C++. Li te anvan devlope yon sistèm dosye distribiye sous louvri ak te gen yon kout avyon ak kernel la Linux pandan yon apwòch nan Samsung Electronics. Li se tou yon kontribitè long ak mantalye nan ScyllaDB, osi byen ke libSQL. Piotr te gradye nan Inivèsite a nan Varsovye ak yon MSc nan Syans òdinatè. Li se co-autore nan liv yo "Database Performance at Scale" ak "Writing for Developers: Blogs that Get Read." Petèt