Wpis z mikrobloga

@budyn: Nie jestem architektem baz danych, niestety. Szukam więc rzeczowych argumentów i opracowań dlaczego warto iść jedną a nie drugą ścieżką i w jakich sytuacjach. To co znalazłem na Stack Overflow wiele mi nie daje - różne opinie.

Sam uważałem, że wszystko co związane z danymi, powinniśmy zwalać na bazę DANYCH. Jednak u mnie w zespole panuje nieco inne przekonanie. Nie byłem w stanie podać żadnych konkretnych faktów dlaczego lepiej zrzucić
@Ancro:
- przesyłasz mniej danych przede wszystkim
- nad bazą danych pracują dziesiątki/setki inżynierów więc po prostu #!$%@?
- jeśli krzyżowanie = joinowanie to już w ogóle po co to robić wiele zapytań do bazy jak można w 1; to ma sens jako taki w bazach NoSQL gdzie dane są często płaskie
- Java jest wolniejsza niż bazy danych, które zazwyczaj pisane są w C/C++
@Ancro: Zwyczajowo tyle ile się da zrzuca się na bazę, ale kontrargumentem jest rozsmarowanie domeny aka logiki biznesowej po wielu warstwach i językach, co skutkuje niestrawnym spagetti. Jeżeli to nie będzie bottleneck i nie musi #!$%@?ć, za to powinno czytelne i łatwe do zrozumienia oraz utrzymania to jak najbardziej może pozostać w javie
Jednak u mnie w zespole panuje nieco inne przekonanie


@Ancro: stawiam worek cebuli, że tacy programiści a wymiękają przy prostej obróbce danych na bazie/napisaniu lepszego zapytania z zagnieżdżonymi warunkami itp... Łatwiej zrobić raz SELECTa a później kilka pętli (i pewnie mocno nieoptymalnie) przefiltrować to.

A co do pytania - sam sobie odpowiedz. Lepiej jak Ci Pani w sklepie przyniesie 62 pary spodni i sobie z tego wybierzesz sam, czy jak podasz
Java jest wolniejsza niż bazy danych, które zazwyczaj pisane są w C/C++


@budyn: tu jak zwykle można by polemizować (zależnie od zastosowania, choć jestem zdania że gdyby chcieć to da się wszystko w tym drugim napisać szybciej), ale warto zwrócić uwagę, że systemy zarządzania bazami danych często potrafią zoptymalizować zapytanie lepiej, niż jesteśmy w stanie to zrobić my ręcznie.
@WykopowyProgramista15k: Tak, to raczej oczywiste, że jestem jedyną osobą, która cokolwiek ogarnia SQL. Jednak to co mówisz, nie jest takie oczywiste i na słowo nikt nie wierzy. Kolega, od którego zaczęła się dyskusja, nie jest też w 100% pewny swego, ale on przynajmniej testował różnicę w czasie wykonywania pracy na DB vs JVM na podobnych operacjach i różnicy podobno nie było. Stąd moja prośba: źródła do opracowań na ten temat. W
@plushy: @WykopowyProgramista15k: Widzę, że Panowie eksperci.

Przykro mi, nie macie racji. Pracowałem przy kilku większych systemach finansowych. Zazwyczaj jest w nich tylko kilka, bardzo nisko położonych, core'owych modułów, dla których wydajność jest bardzo ważna. A w przypadku ingerencji w nie, i tak potrzebna jest akceptacja głównego architekta systemu. Obecnie pracuję przy systemie z milionami użytkowników w kilkunastu krajach. W kilku przypadkach, naszym klientem jest bezpośredni kraj. Nikogo nie boli, że