Glosar

Un mic index al cuvintelor pe care le tot folosesc in lectii. Fiecare intrare este o explicatie de un paragraf in limbaj clar. Daca un termen apare intr-o lectie si lectia nu se opreste sa il defineasca, probabil il gasesti aici.

80 termeni

Baze de date

ACID Baze de date
Atomicitate, Consistenta, Izolare, Durabilitate. Cele patru garantii ale unei tranzactii relationale clasice: are loc complet sau deloc, lasa baza de date intr-o stare valida, nu vede lucrari neterminate ale altor tranzactii si, odata confirmata, supravietuieste unui crash.
BASE Baze de date
Basically Available, Soft state, Eventually consistent. Filosofia opusa ACID, comuna in stocarile NoSQL distribuite: sistemul ramane disponibil in timpul partitiilor, starea poate diverge intre replici un timp, iar citirile converg cand clusterul recupereaza.
Columnar storage Baze de date
Stocarea fiecarei coloane a unui tabel contiguu pe disc in loc de fiecare rand. Se plateste enorm pentru interogari analitice care ating cateva coloane din milioane de randuri.
OLAP Baze de date
Online Analytical Processing. Sisteme construite sa proceseze scanari, agregari si join-uri uriase pentru rapoarte si dashboard-uri. De obicei coloane, adesea doar append, si lente la actualizari de un singur rand prin proiectare.
OLTP Baze de date
Online Transaction Processing. Sisteme care gestioneaza multe operatii mici si sensibile la latenta: citeste soldul contului, plaseaza o comanda, actualizeaza un rand. De obicei orientate pe randuri si reglate pentru concurenta.
Polyglot persistence Baze de date
Folosirea a mai multor tipuri de baze de date in acelasi produs pentru ca nicio stocare unica nu se potriveste oricarei sarcini: poate un RDBMS pentru comenzi, un cache key-value pentru sesiuni si un motor de cautare pentru full-text.
Replication Baze de date
Pastrarea a mai multor copii ale acelorasi date pe masini diferite. Iti da durabilitate, scalabilitate la citire si failover; te costa bataia de cap de a tine replicile sincronizate.

Sisteme distribuite

Bulkhead Sisteme distribuite
Izolarea resurselor (pool-uri de thread-uri, conexiuni, cozi) per dependenta, astfel incat o defectiune intr-una sa nu le inunde pe toate. Numit dupa compartimentele navei: o scurgere inunda unul, nu barca.
CAP theorem Sisteme distribuite
Rezultatul lui Brewer: un sistem distribuit cu date partajate poate oferi cel mult doua dintre consistenta, disponibilitate si toleranta la partitionari in timpul unei partitionari de retea. In practica partitionarile se intampla, deci alegi intre consistenta si disponibilitate cand apare una.
Circuit breaker Sisteme distribuite
Un wrapper care urmareste un apel downstream si incepe sa esueze rapid odata ce a fost nesanatos un timp, in loc sa adune retry-uri sortite esecului. Permite sistemului sa elimine sarcina si sa se recupereze in loc sa cascadeze.
Consensus Sisteme distribuite
Problema de a face un grup de noduri nefiabile sa fie de acord asupra unei singure valori sau ordini de evenimente. Algoritmi precum Paxos si Raft o rezolva; sunt in inima oricarui sistem care promite consistenta puternica.
Event-driven architecture Sisteme distribuite
Un design in care serviciile comunica emitand si reactionand la evenimente pe un log comun. Slab cuplat si usor de evoluat, dar dai pe schimb fluxuri clare cerere-raspuns pe o coregrafie pe care trebuie sa o reconstruiesti.
Hot key Sisteme distribuite
O singura cheie care primeste o cota disproportionata de trafic intr-un sistem partitionat. Hot key-urile invalideaza intregul scop al partitionarii prin a duce la limita masina unui shard in timp ce restul stau degeaba.
Idempotency Sisteme distribuite
O proprietate prin care executarea aceleiasi operatii de mai multe ori produce acelasi rezultat ca executarea unei singure date. Esentiala in pipeline-uri si API-uri pentru ca retry-urile, reluarile si livrarile duble sunt regula, nu exceptia.
Idempotent Sisteme distribuite
O operatie al carei efect este acelasi indiferent daca ruleaza o data sau de mai multe ori. Cea mai utila proprietate de proiectat intr-o lume in care retry-urile sunt inevitabile.
Microservices Sisteme distribuite
Un stil arhitectural in care un sistem este impartit in multe servicii mici, livrate independent, care comunica prin retea. Cumpara autonomie si izolare a echipelor; plateste pretul in overhead operational si de proiectare.
PACELC Sisteme distribuite
O extensie a CAP: in timpul unei Partitionari alegi intre Disponibilitate si Consistenta, altfel (in functionare normala) alegi intre Latenta si Consistenta. PACELC descrie compromisul bazei tale de date atat in timpul unui esec cat si intr-o marti obisnuita.
Partitioning Sisteme distribuite
Impartirea datelor in bucati care pot fi stocate, interogate sau procesate independent. In sistemele analitice inseamna adesea partitionare dupa data sau tenant; in streaming inseamna atribuirea evenimentelor unei unitati de paralelism.
Sharding Sisteme distribuite
Impartirea unui set de date logic intre mai multe masini fizice, fiecare detinand doar o felie. Permite sistemului sa creasca peste ce poate retine o singura masina, cu pretul interogarilor cross-shard si al rebalansarii dificile.
Two-phase commit Sisteme distribuite
Un protocol pentru confirmarea unei tranzactii in mai multe sisteme: mai intai toti voteaza prepare, apoi un coordonator le spune tuturor sa faca commit sau abort. Corect in teorie, dureros in practica daca coordonatorul moare la mijloc.

Streaming

At-least-once Streaming
O garantie de livrare prin care fiecare eveniment ajunge la consumator cel putin o data, dar posibil de mai multe ori. Mai ieftin de construit decat exactly-once si perfect ok daca downstream-ul tau este idempotent.
CDC Streaming
Change Data Capture. Un model pentru a trimite fiecare insert, update si delete dintr-o baza de date sursa ca o secventa de evenimente pe care sistemele downstream le pot aplica. Cel mai curat mod de a tine warehouse-uri, indecsi de cautare si cache-uri sincronizate cu un OLTP.
Event time Streaming
Momentul in care un eveniment a avut loc cu adevarat in lumea reala, transportat in payload-ul evenimentului. Aproape intotdeauna ce vrei sa calculezi, chiar daca te obliga sa gestionezi sosiri in afara ordinii.
Exactly-once Streaming
O garantie de livrare prin care fiecare eveniment este procesat o singura data end-to-end. Sistemele reale o obtin combinand scrieri idempotente, sink-uri tranzactionale si gestionarea offset-urilor, nu livrand literalmente fiecare mesaj o singura data.
Kappa architecture Streaming
Sora mai curata a lui Lambda: un singur pipeline streaming face totul, iar un job 'replay din log' acopera rolul batch cand trebuie sa recalculezi istoria. Mai simpla, dar doar daca procesorul tau de stream este destul de bun.
Lambda architecture Streaming
Un model cu doua pipeline-uri paralele: un strat batch lent care recalculeaza adevarul de la zero si un strat streaming rapid care serveste rezultate proaspete dar aproximative. Costul este mentinerea aceleiasi logici de doua ori.
Processing time Streaming
Timpul de ceas la care un procesor de stream vede evenimentul. Mai usor de inteles decat event time, dar produce rezultate care depind de viteza sistemului si de cat de intarziate au fost intrarile.
Replay Streaming
Recitirea evenimentelor din log-ul durabil si reprocesarea lor, de obicei pentru ca logica s-a schimbat sau downstream-ul a gresit. Replay-ul este sigur doar daca procesarea ta este idempotenta si efectele colaterale sunt limitate.
Watermark Streaming
Un timestamp care marcheaza 'nu mai asteptam evenimente mai vechi decat acesta' intr-un stream. Watermark-urile permit unui procesor de stream sa inchida ferestre si sa emita rezultate fara sa astepte la nesfarsit intarziatii.

Procesare batch

Avro Procesare batch
Un format binar orientat pe randuri cu o schema incorporata in fiecare fisier. Proiectat pentru sarcini de streaming cu multe scrieri si scheme in evolutie, unde citesti inregistrari intregi, nu coloane individuale.
Backfill Procesare batch
Rerularea unui pipeline pe un interval istoric pentru a corecta un bug, a recupera dintr-o pana sau a adauga o coloana. Ar trebui sa fie sigur de facut oricand, ceea ce este intregul scop al proiectarii pipeline-urilor ca idempotente.
Broadcast join Procesare batch
Un join in care partea mica este trimisa integral catre fiecare executor, iar partea mare ramane pe loc. Evita complet shuffle-ul si transforma un join lent intr-un lookup local rapid, cand o parte incape in memorie.
Bucketing Procesare batch
Pre-hash-uirea unui tabel pe disc intr-un numar fix de fisiere pe baza unei chei. Doua tabele bucket-uite cu chei corespondente pot fi join-uite fara shuffle, iar un tabel bucket-uit poate fi filtrat fara a scana tot.
ELT Procesare batch
Extract, Load, Transform. Varianta moderna: descarca datele brute intr-un warehouse puternic, apoi le transforma pe loc cu SQL. Posibila pentru ca warehouse-urile au devenit destul de ieftine si rapide pentru a fi si motorul de calcul.
ETL Procesare batch
Extract, Transform, Load. Forma clasica a unui pipeline de date: extrage datele dintr-o sursa, le transforma pe un strat de calcul separat, apoi impinge rezultatul intr-o destinatie gata pentru consum.
Lazy evaluation Procesare batch
Un model de executie in care transformarile sunt inregistrate ca un plan si rulate doar cand o actiune le forteaza. Spark il foloseste pentru a combina mai multi pasi intr-un singur job optimizat in loc sa materializeze fiecare intermediar.
Medallion architecture Procesare batch
O structura pe trei niveluri pentru un data lake: bronze pentru datele brute aterizate, silver pentru cele curatate si conformate, gold pentru agregari gata pentru business. Util ca schema de pornire; nu o religie.
ORC Procesare batch
Optimized Row Columnar. Un format de stocare coloana din lumea Hadoop, similar in spirit cu Parquet dar cu statistici incorporate mai puternice si pushdown mai bun al predicatelor. Mai obisnuit in data lake-uri vechi de tip Hive.
Parquet Procesare batch
Un format de stocare coloana pentru analytics: datele sunt asezate cate o coloana o data, asa ca o interogare citeste doar coloanele de care are nevoie. Formatul implicit al aproape oricarui lakehouse modern.
Shuffle Procesare batch
Pasul costisitor in care un job distribuit rearanjeaza datele in retea astfel incat randurile care trebuie procesate impreuna sa ajunga pe aceeasi masina. Join-urile, group-by-urile si repartitionarile il declanseaza.
Skew Procesare batch
Cand o partitie contine mult mai multe randuri decat celelalte, asa ca un singur executor termina mult dupa restul. Cauza clasica a unui job Spark care arata 99% completat si ramane acolo o ora.

Infrastructura si cloud

Blue-green deploy Infrastructura si cloud
Un model de deployment cu doua medii identice, blue si green. Traficul merge catre unul in timp ce celalalt primeste versiunea noua; comutarea load balancer-ului este deploy-ul, iar revenirea este doar comutarea inapoi.
Caching Infrastructura si cloud
Pastrarea unei copii a datelor scumpe de calculat mai aproape de consumator, astfel incat urmatoarea citire sa fie rapida. Usor de adaugat, greu de invalidat; faimosul citat despre invalidarea cache-ului ca fiind una dintre cele doua cele mai grele probleme din CS nu este o gluma.
Canary deploy Infrastructura si cloud
Lansarea unei versiuni noi mai intai catre o mica felie de trafic si urmarirea metricilor ei. Daca canarul supravietuieste, extinzi; daca moare, faci rollback inainte ca majoritatea utilizatorilor sa observe.
Lakehouse Infrastructura si cloud
Un strat de stocare care pune un format de tabel tranzactional precum Delta, Iceberg sau Hudi peste stocarea ieftina de obiecte, asa ca obtii ACID si time travel de tip warehouse fara pretul de warehouse.
Multi-region Infrastructura si cloud
Rularea aceluiasi sistem in doua sau mai multe regiuni geografice pentru rezistenta sau latenta. Activ-pasiv (o regiune serveste, cealalta asteapta) sau activ-activ (ambele servesc simultan, cu toata complexitatea de consistenta pe care o implica).
Rate limit Infrastructura si cloud
O limita la cate cereri poate trimite un client pe unitate de timp. Te protejeaza de abuz si de un client cu bug care decide brusc sa faca retry la nesfarsit.

Observabilitate si fiabilitate

Dashboard Observabilitate si fiabilitate
O vedere selectata a metricilor unui serviciu: cateva SLI-uri, rate de erori, volume de cereri, dependente cheie. Dashboard-urile bune arata starea de sanatate, cele rele arata fiecare metrica pe care ai expus-o vreodata.
Error budget Observabilitate si fiabilitate
Complementul unui SLO: daca tintesti 99,9% ai 0,1% de cheltuit pe incidente si lansari riscante. Cand bugetul s-a terminat, opresti livrarea de functionalitati si platesti datoria de fiabilitate.
On-call Observabilitate si fiabilitate
O rotatie in care inginerii isi asuma responsabilitatea de a raspunde la alertele din productie intr-o fereastra definita. Regula de baza: daca l-ai scris, porti pagerul cand se strica.
Postmortem Observabilitate si fiabilitate
Un raport fara vinovati dupa un incident: cronologie, cauza radacina, factori contributori, actiuni de remediere. Scopul este sa faci sistemul mai sigur, nu sa gasesti pe cineva la care sa tipi.
Runbook Observabilitate si fiabilitate
Un document scurt si prescriptiv care ii spune inginerului on-call exact ce sa faca atunci cand se declanseaza o alerta specifica. Cu cat suna mai plictisitor si copy-paste la 3 dimineata, cu atat mai bine.
SLA Observabilitate si fiabilitate
Service Level Agreement. Promisiunea contractuala fata de client privind fiabilitatea, de obicei cu bani atasati daca nu o respecti. Intotdeauna mai larga decat SLO-ul tintit intern.
SLI Observabilitate si fiabilitate
Service Level Indicator. Masuratoarea reala care alimenteaza SLO-ul tau: o latenta de cerere, o rata de succes, o prospetime. Lucrul pe care il pui pe un dashboard si pe care setezi alerte.
SLO Observabilitate si fiabilitate
Service Level Objective. Tinta interna pentru fiabilitatea unui serviciu, precum '99,9% din cererile de citire sub 200 ms in 30 de zile'. Parghia cu care iti directionezi efectiv munca de inginerie.

Finante si investitii

Asset allocation Finante si investitii
Cum imparti portofoliul intre categorii majore precum actiuni, obligatiuni si numerar. Decenii de dovezi spun ca aceasta singura decizie determina cea mai mare parte din riscul si randamentul tau pe termen lung, mult mai mult decat ce fonduri specifice alegi.
Capital gains tax Finante si investitii
Impozit pe profitul cand vinzi un activ cu mai mult decat l-ai cumparat. In Italia majoritatea castigurilor financiare sunt impozitate cu 26%, cu o cota mai blanda de 12,5% pentru titluri de stat si cateva cazuri speciale.
Compound interest Finante si investitii
Dobanda obtinuta nu doar pe capitalul initial, ci si pe dobanda deja acumulata. Pe decenii este diferenta dintre crestere liniara si exponentiala si este intregul motor al investitiilor pe termen lung.
Diversification Finante si investitii
Distribuirea banilor pe multe active, astfel incat niciunul singur sa nu te poata distruge. Diversificarea reduce riscul fara a scadea randamentul asteptat; este celebru numita singurul pranz gratuit din finante.
Dollar-cost averaging Finante si investitii
Investirea unei sume fixe la intervale regulate indiferent de ceea ce face piata. Netezeste pretul mediu de intrare si, mai important, elimina dorinta de a face market timing. In Italia este exact ceea ce face un PAC, Piano di Accumulo Capitale.
Emergency fund Finante si investitii
Economii lichide, de obicei trei pana la sase luni de cheltuieli, pastrate in numerar sau aproape numerar pentru socuri neprevazute. Plictisitoare in mod intentionat: exista pentru ca un cazan defect sau un loc de munca pierdut sa nu te oblige sa vinzi investitii in cel mai prost moment posibil.
ETF Finante si investitii
Exchange-Traded Fund. Un fond care detine un cos de active (adesea un intreg indice) si se tranzactioneaza pe bursa ca o singura actiune. Ieftin, transparent si caramida de baza a unui portofoliu rezonabil.
Expense ratio Finante si investitii
Alt nume pentru TER la fonduri domiciliate in SUA: procentul din activele fondului consumat anual de costurile de management. Mai jos este aproape intotdeauna mai bine.
FIRE Finante si investitii
Financial Independence, Retire Early. O miscare si o problema de matematica: economiseste agresiv, investeste in fonduri indexate cu cost mic si opreste-te cand portofoliul iti poate sustine cheltuielile pentru totdeauna. Niveluri diferite (lean, regular, fat) descriu stilul de viata pe care il vizezi.
Fondo pensione Finante si investitii
Vehicul italian de pensie suplimentara. Contributiile sunt deductibile pana la un plafon anual, cresterea este impozitata cu o cota mai blanda decat investitiile obisnuite, iar platile pot fi un amestec de capital si renta.
Inflation Finante si investitii
Cresterea generala a preturilor in timp, ceea ce inseamna ca acelasi euro cumpara anul viitor mai putin decat anul acesta. O inflatie moderata este normala si asteptata; pericolul este lichiditatea care sta nemiscata in timp ce preturile continua sa se miste.
Lump sum Finante si investitii
Investirea unei sume dintr-o data in loc sa o esalonezi. De obicei castiga in medie fata de DCA pentru ca pietele cresc mai des decat scad, dar se simte mai rau cand timing-ul nu este norocos.
Nominal return Finante si investitii
Cresterea procentuala pe care o vezi pe extrasul de cont, inainte de ajustarea pentru inflatie. Utila pentru a compara produse in aceeasi moneda si perioada; inselatoare luata singura.
Opportunity cost Finante si investitii
Valoarea celei mai bune alternative la care renunti facand o alegere. Lichiditatile care stau in contul curent nu 'costa' nimic vizibil, dar randamentul pe care l-ar fi putut obtine intr-un ETF este costul lor de oportunitate.
Real return Finante si investitii
Cresterea banilor tai dupa ce scazi inflatia. Singurul randament care conteaza pentru planificarea pe termen lung, pentru ca 7% nominal intr-un an cu inflatie de 5% este, in termeni reali, o eroare de rotunjire.
Rebalancing Finante si investitii
Vinderea unei portiuni din ce a crescut si cumpararea unei portiuni din ce a ramas in urma, pentru ca portofoliul sa ramana aproape de alocatia tinta. Un obicei plictisitor care impune in tacere disciplina 'vinde sus, cumpara jos'.
Safe Withdrawal Rate Finante si investitii
Procentul din portofoliu pe care il poti retrage in fiecare an, ajustat pentru inflatie, fara sa il epuizezi pe o pensionare lunga. Faimoasa 'regula de 4%' vine din datele SUA; pentru investitorii europeni 3%-3,5% este mai cinstit.
Savings rate Finante si investitii
Fractiunea din venitul tau net pe care nu o cheltuiesti. Cea mai mare parghie din finantele personale: dublarea ei iti poate reduce aproximativ la jumatate timpul pana la independenta financiara, indiferent de randamentele portofoliului.
TER Finante si investitii
Total Expense Ratio. Comisionul anual al unui ETF sau fond, exprimat ca procent din active. Un TER de 1% fata de 0,2% pe acelasi randament, capitalizat pe 30 de ani de cariera, face o diferenta de sase cifre.
TFR Finante si investitii
Trattamento di Fine Rapporto. O parte din salariul angajatului italian pe care angajatorul o retine si o plateste la finalul contractului. Il poti lasa la companie sau il poti muta intr-un fondo pensione, cu rezultate fiscale foarte diferite pe decenii.
Volatility Finante si investitii
Cat de mult oscileaza pretul unui activ, masurat de obicei ca deviatia standard a randamentelor. Volatilitatea este risc pentru detinatorii pe termen scurt si zgomot pentru cei pe termen lung; smecheria este sa stii care esti tu.

Machine learning

Cross-validation Machine learning
Impartirea datelor de antrenament in fold-uri, antrenarea pe unele si testarea pe celelalte, apoi rotirea. Ofera o estimare mai cinstita a performantei modelului decat o singura impartire train/test.
Feature engineering Machine learning
Transformarea datelor brute in inputurile pe care modelul le poate folosi efectiv: raporturi, date descompuse, categorii codate ca numere. Adesea partea care decide daca un model este bun, indiferent cat de sofisticat este algoritmul.
Overfitting Machine learning
Cand un model memoreaza atat de bine datele de antrenament incat esueaza pe orice este nou. Ca un student care recita fiecare examen trecut, dar pica la o intrebare noua.
Train/test split Machine learning
Pastrarea unei portiuni din date fara sa o lasi modelul sa o vada in timpul antrenamentului, ca sa poti verifica apoi cum se comporta pe exemple cu adevarat nevazute. Apararea minima pentru a nu te pacali singur.
Caută