Crezi că este posibil ca volumul de trafic să conteze în toată ecuația?
Comparăm traficul emag.ro de blackfriday vs devforum.ro? Pentru că într-o situație contează fiecare MB de RAM, în cealaltă nu.
Crezi că este posibil ca volumul de trafic să conteze în toată ecuația?
Comparăm traficul emag.ro de blackfriday vs devforum.ro? Pentru că într-o situație contează fiecare MB de RAM, în cealaltă nu.
Cel mai mare bottleneck e baza de date, nu backend-ul in 99% din cazuri.
Consumul de RAM e relativ, s-ar putea să ai un consum mare la cold start cu Java sau .Net dar după ce rulează o zi o să scadă chiar sub nivelul pe care l-ai obține fără ORM. Memoria tot trebuie alocată pentru VM dar nu va fi folosită constant de structurile de date fiindcă se face GC și optimizare.
A fost lansat PostgreSQL 15.
Printre noutati:
Chiar, cum ati face ceva similar MERGE in ORM? Cu ce cost de performanta?
Daca trimite interogari ineficiente, putem spune ca e baza de date de vina pentru bottleneck?
Cateva exemple ce-mi vin in minte:
Rar am auzit de situații în care te încurca performanta unui ORM (unde de fapt devii și-au făcut propriul engine și server de DB! Optimizat pentru INSERT la volume foarte, foarte mari de date).
ORM-urile sunt folosite de multe ori și greșit. Noi ne-am uitat după primul an de Django ce prostii am făcut cu un an în urmă și ne-am crucit. Sunt multe optimizări pe care poți să le faci in cod ce folosește ORM. Decât să reinventezi roata ca sa faci un subset de ORM, folosește ORM-ul existent, invata-l bine și cenzurează ce faci! Și întotdeauna poți face raw query in ORM, in locurile unde e nevoie.
Iar evitat JOIN-uri că e mai performant cu mai multe query-uri join-uite in cod Python nu suna să aibă vreun sens. Care e logica?
Poate Python nu e limbajul potrivit daca rulezi pe Rspberry Pi cu volume măricele de date (și spun asta ca fan Python).
Daca stocai logurile in baza de date, nu e vina ORM-ului, de vina sunt arhitectura si toolul nepotrivit. Exista tooluri speciale pentru loguri care iti permit agregare, indexare, sters loguri mai vechi automat etc. Orice DB este un tool nepotrivit, vb din experienta proprie.
findAll();
si filter()
peste tot
ca de obicei discuția a deraiat… hai să fiu și eu off topic și să zic că de ce aș învăța un ORM cînd știu cum am construit bada de date și relațiile dintre obiecte/tabele?!
on topic, adaugă suport pt ambele (mysql și postgresql)
Ce beneficii i-ar aduce asta in afara de multe batai de cap?