🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232431

Re: Symfony 4 - jak projektować bazę danych pod Doctrine?

#232431
From: Borys Pogoreło
Date: Tue, 30 Apr 2019 13:35
57 lines
3969 bytes
Dnia Fri, 26 Apr 2019 23:58:56 +0200, Marek S napisał(a):

> Zależy od zlecenia. W ostatnim do 750000+ (a i 2x tyle się od czasu do 
> czasu zdarzało) w ciągu kilku nocnych godzin, każdego dnia.

To rób to wsadowo, a nie sztuka po sztuce ORM-em.

> - nie posiada niepotrzebnych aliasów typu ->delete() standardowych 
> elementów SQL'a - nie trzeba uczyć się 2x SQLa
> - można w nim używać dowolnych dialektów SQL
> - wygodna parametryzacja, która czyni SQL czytelnym (np. :id w miejscu 
> ID usera)

To nie są zalety, tylko przyzwyczajenie.

> - tam, gdzie nie ma krytycznych wydajnościowo fragmentów aplikacji, 
> nadal można korzystać w tradycyjny sposób z ORM np. przy obsłudze 
> formularzy, gdzie pani Krysia z pewnością nie wklepie 750000 danych w 
> parę godzin.

Podobnie jak nikt Ci nie broni używać SQL korzytając z ORM.

> Autorytatywnie... nie wiem czy to dobre określenie. To moje prywatne 
> zdanie. Otóż wychodzę z założenia, że nawet jeśli pracujemy przy małym 
> projekcie, to powinniśmy dbać o wydajność wszystkiego, co robimy. Na ile 
> się oczywiście da w małym projekcie. A już w szczególności należy 
> wystrzegać się randomowych zapytań do bazy danych, których wyniki w 
> ogóle nas nie interesują. Gdyby nie ten fakt, z pewnością mocno 
> zmieniłbym swoją opinię na temat ORM.

ORM zrobi tylko tyle, o ile go poprosisz. "Randomowe zapytania" nie
pojawiają się same z siebie. I nie, hydracja obiektów nie jest "randomowym
zapytaniem".

> Kolejną rzeczą ORM, którą rozumiem ale nie popieram to równanie w dół. 
> ORM ma za zadanie supportować ileś tam baz danych. Jeśli jakaś potrafi 
> cioś więcej niż jakakolwiek inna - wyrzucamy to coś. W konsekwencji 
> zostaje prymitywny SQL do dyspozycji tegoż ORM'a. W Doctrine nawet 
> zwykły Enum to wyzwanie - trzeba doinstalowywać bundle (!!!) ... o ile 
> nie korzystamy z MySQL (widocznie ta baza budzi sentyment u developerów 
> Doctrine).

Bo ENUM to zło.
http://komlenic.com/244/8-reasons-why-mysqls-enum-data-type-is-evil/

> Zwróć uwagę, że developerzy baz danych dwoją się i troją wprowadzając 
> przeróżne unowocześnienia. A potem po tym wszystkim przejeżdża walec z 
> numerami rejestracyjnymi: ORM. To też mi się nie podoba. Czyli zostaje 
> cofnąć technologię baz do lat 90-tych?

Czyli narzekasz, że narzędzie ujednolicające interfejsy baz danych robi to,
co powinno. ORMy mają swoje ograniczenia, jeśli Ci przeszkadzają, to nie
używasz. A mam wrażenie, że próbujesz na siłę użyć tego narzędzia.

-- 
Borys Pogoreło
borys(#)leszno,edu,pl
Technical Details
Message-ID: <1xd433se9ictm.18al4kr3d4ssd.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mail
References: <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <q9ngu2$rla$1@node2.news.atman.pl> <szccfmi95el5$.xlp4ie6tp398.dlg@40tude.net> <q9nrgf$d0c$1@node1.news.atman.pl> <1ggas3u3b0lsg$.3rrdwixjo50g.dlg@40tude.net> <q9q4tr$8fv$1@node2.news.atman.pl> <1jumgy6ec7sgj.1ujz0byzlx6eu$.dlg@40tude.net> <q9t6h7$39n$1@node2.news.atman.pl> <1grzu8hxz5w4s.yoz5d2269rbq.dlg@40tude.net> <q9vuvb$5cf$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.promontel.net.pl!not-for-mail
From: Borys Pogoreło <borys@pl.edu.leszno>
Newsgroups: pl.comp.lang.php
Subject: Re: Symfony 4 - jak projektować bazę danych
 pod Doctrine?
Date: Tue, 30 Apr 2019 15:35:32 +0200
Organization: snafu
Lines: 57
Message-ID: <1xd433se9ictm.18al4kr3d4ssd.dlg@40tude.net>
References: <q9foak$p72$1@node2.news.atman.pl> <slrnqboo9s.e87.wojciech.bancer@pl-test.org> <5cbf10a8$0$482$65785112@news.neostrada.pl> <q9ngu2$rla$1@node2.news.atman.pl> <szccfmi95el5$.xlp4ie6tp398.dlg@40tude.net> <q9nrgf$d0c$1@node1.news.atman.pl> <1ggas3u3b0lsg$.3rrdwixjo50g.dlg@40tude.net> <q9q4tr$8fv$1@node2.news.atman.pl> <1jumgy6ec7sgj.1ujz0byzlx6eu$.dlg@40tude.net> <q9t6h7$39n$1@node2.news.atman.pl> <1grzu8hxz5w4s.yoz5d2269rbq.dlg@40tude.net> <q9vuvb$5cf$1@node1.news.atman.pl>
NNTP-Posting-Host: public-gprs204691.centertel.pl
Mime-Version: 1.0
X-Trace: thunar.promontel.net.pl 1556631319 18776 46.134.138.212 (30 Apr 2019 13:35:19 GMT)
X-Complaints-To: abuse@promontel.net.pl
NNTP-Posting-Date: Tue, 30 Apr 2019 13:35:19 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.14.1pl
X-fnord: obey.
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit