Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #16192
| Newsgroups | pl.comp.lang.php |
|---|---|
| From | Wojciech Bancer <wojciech.bancer@gmail.com> |
| Subject | Re: Symfony 4 - jak projektować bazę danych pod Doctrine? |
| References | <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <slrnqbuasg.28r5.wojciech.bancer@pl-test.org> <5cc00030$0$476$65785112@news.neostrada.pl> |
| Organization | None |
| Date | 2019-04-24 15:13 +0200 |
| Message-ID | <slrnqc0o86.drp.wojciech.bancer@pl-test.org> (permalink) |
On 2019-04-24, ww <ww@o2.pl> wrote: [...] >> To jest tak zwana zła praktyka. Potem inny programista siada i "rzeczy dzieją >> się magicznie". Zresztą jest to jeden z głównych powodów by nie używać triggerów >> (obok tego że to bazy danych są zazwyczaj najmniej skalowalnym i najwęższym >> gardłem systemu i nie należy go nadmiernie obciążać). > > Znam wiele "dobrych praktyk", które niestety w nieidealnej > rzeczywistości nie chcą się sprawdzać. Jeżeli dostajesz tony danych > to niestety czasem trzeba poświecić przejrzystość na rzecz wydajności. Problem w tym, że niektórzy uznają pojęcie "wydajność" za bardzo jednotorowe. >> W świecie w którym możesz mieć "na zawołanie" 1000 funkcji / kontenerów robiących coś >> równolegle na infrastrukturze cloud, odpalanych w sekundy, ale np. tylko 1-2 serwery baz >> danych, to jest oczywiste że dużo bardziej skalowalne są te ostatnie i należy je odciążyć >> maksymalnie, a nie "dokładać" im niepotrzebnej tam roboty. > > Niepotrzebnej tam roboty? U mnie triggery i procedury wbudowane robią > zwykle rzeczy, które ze względu na optymalność muszą się odbywać jak > najbliżej bazy, i tam właśnie są najoptymalniejsze. Podałem swoje argumenty dlaczego tak uważam i dlaczego uważam triggery za mniej wydajne. Nie mam ochoty się powtarzać. Bazy danych są najbardziej obciążonym kawałkiem w typowych aplikacjach i nie należy ich dociążać. Triggery są też złe pod tym kątem, że operują na przestrzeni globalnej, i (przy mniej ogarniętych w DBA programistach) jest ciężko nad nimi zapanować, nie zapewniają mechanizmów ułatwiających ich kontrolę, wersjonowania, nie pozwalają na efektywną pracę w zespole. Ogólnie mają bardzo dużo wad i niewiele zalet. Jakby taka niskopoziomowa wydajność miała tak duże znaczenie, to nie pisałbyś w PHP, czy node.js tylko w C. Poza tym teoria że "trigger" jest 10-krotnie wydajniejszy wydaje mi się cokolwiek mocno naciągana. Przepraszam wydajniejszy w czym? Zapytania SQL wytworzone przez trigger zajmują tyle samo czasu co wysłane przez aplikację, różnica wynika co najwyżej z czasu dostępów do usługi (co nie jest chyba specjalnie istotne). Tak, narzut uruchamiania aplikacji jest czymś co się odbija na wydajności, ale tą aplikację i tak uruchamiamy, jak chcemy uruchomić query. Narzut obiektowości w aplikacji wprowadza pewną karę wydajności, ale jest on dołożony z konkretnych powodów, których nie spełnia wykorzystanie triggera (ani nie spełnia pisanie aplikacji w asemblerze, czy w czystym C). A że trigger jakoś istotnie szybciej przeiteruje po tablicy w pamięci niż aplikacja, to wybacz nie wierzę. Język interpretowany nie ma dostępu do pamięci "gorszego sortu" tylko tej samej, chyba że serwer DB stoi na innej infrastrukturze. >>> I doctrine wspiera tworzenie różnych "nieporzenoszalnych" >>> elementów składni SQL pod dany silnik. >> >> Nie tyle "wspiera" co "umożliwia". > > To dokładnie to samo. Jeśli coś da się zrobić za pomocą wbudowanych > narzędzi to jest to wspierane. Nie to miałem na myśli. Wspierane = idzie zgodnie z ideą za jaką idzie doctrine. Jak zaczniesz stosować swoje hacki, to skończysz na tym, że np. inne biblioteki/pluginy zależne od Doctrine, które może zechcesz użyć mogą się wysypać, bo nie zachowałeś zawartego w Doctrine kontraktu. No i w razie problemów na linii core <-> Twoja modyfikacja jesteś zdany na siebie. -- Wojciech Bańcer wojciech.bancer@gmail.com
Back to pl.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar
Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-20 20:27 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-21 14:25 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-21 17:34 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-21 19:49 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-22 20:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-22 21:14 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-22 23:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 08:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 18:37 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 19:21 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 22:01 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 22:31 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Roman Tyczka <noemail@because.no> - 2019-04-24 08:54 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 09:20 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? ww <ww@o2.pl> - 2019-04-23 15:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 17:13 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? ww <ww@o2.pl> - 2019-04-24 08:20 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 15:13 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-24 18:28 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 20:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-25 00:08 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-25 21:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-26 01:57 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 10:17 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-26 12:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 17:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-26 20:04 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 23:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-26 20:09 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 22:26 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-27 10:27 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-27 13:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-27 15:39 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-27 16:44 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Roman Tyczka <noemail@because.no> - 2019-04-28 13:16 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-28 14:18 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Kviat - 2019-04-28 15:06 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-28 15:31 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-26 11:21 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 13:16 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 19:10 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-23 19:51 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-23 22:10 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-23 22:38 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-24 19:03 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-24 21:19 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-25 22:49 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-26 01:50 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-26 23:58 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Borys Pogoreło <borys@pl.edu.leszno> - 2019-04-30 15:35 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-23 22:47 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-24 19:29 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-24 20:01 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-25 23:14 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-26 09:32 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-27 00:37 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-28 14:50 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-30 01:16 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Wojciech Bancer <wojciech.bancer@gmail.com> - 2019-04-30 10:38 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? ww <ww@o2.pl> - 2019-04-24 08:24 +0200
Re: Symfony 4 - jak projektować bazę danych pod Doctrine? Marek S <precz@spamowi.com> - 2019-04-24 19:41 +0200
csiph-web