Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.lang.php > #16216

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

From Marek S <precz@spamowi.com>
Newsgroups pl.comp.lang.php
Subject Re: Symfony 4 - jak projektować bazę danych pod Doctrine?
Date 2019-04-26 23:58 +0200
Organization ATMAN - ATM S.A.
Message-ID <q9vuvb$5cf$1@node1.news.atman.pl> (permalink)
References (6 earlier) <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>

Show all headers | View raw


W dniu 2019-04-26 o 01:50, Borys Pogoreło pisze:

> Aż tak często usuwasz rekordy w bazie by miało to jakiekolwiek wymierne
> znaczenie, kosztem przejrzystości kodu?

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. W innym 
kilkadziesiąt na rok. W jeszcze innym X a kolejnym Y.

> Już się zdecydowałeś na ORM i związane z nim kompromisy, w tym spory narzut
> między modelem a bazą. A jeszcze niedawno tak narzekałeś na ideę Query
> Buildera.

Bo idea mi się nadal średnio podoba. Dużo lepszy jest sparametryzowany 
raw SQL. Nie pamiętam czy uzasadniałem więc to zrobię:

- 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)
- 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.

> 
>> Jak dla mnie podejście "bo tak działa ORM" jest równoznaczne z "jestem
>> leniem informatyki i mam gdzieś wydajność nawet gdy to tylko 3 linijki
>> kodu". Sam mi pokazałeś jak łatwo naprawić te błędy założeń ORM.
> 
> Dlaczego tak autorytatywnie uważasz, że to są błędy?

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.

Zapewne mieszkając w domu chciałbyś aby włącznik światła w salonie 
zwyczajnie realizował swoją funkcję. Zapewne byłbyś średnio zadowolony, 
gdybyś musiał najpierw spuścić wodę w kiblu aby móc zapalić światło w 
salonie. Tymczasem takie właśnie zachowanie fundujesz aplikacji / bazie 
danych używając ORM. Nawiązuję do DELETE / UPDATE + niepotrzebny SELECT. 
Idea jest super, ale realizacja fatalna dla tych dwóch przypadków.

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).

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?

Wydaje mi się, że ORMy powinny przejść modernizację do standardu, 
nazwijmy 2.0. Idea słuszna, ale wymagane jest rozwiązanie w/w kwestii.

-- 
Pozdrawiam,
Marek

Back to pl.comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

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