🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#232406
From: Kviat
Date: Fri, 26 Apr 2019 10:58
79 lines
4601 bytes
W dniu 26.04.2019 o 10:17, Wojciech Bancer pisze:
> On 2019-04-25, Kviat <Kviat> wrote:
> 

>>> To co pisałem o triggerach odnosiło się do świata serwerowo-webowego,
>>> nie do desktopowych aplikacjach klienckich przeznaczonych do działania
>>> w intranecie.
>>
>> Twoją wypowiedź odebrałem tak, że triggery/sp są złe bo są złe,
>> niezależnie od "świata".
> 
> Ale ja podałem argumenty dlaczego są złe, a nie "bo są złe".
> Natomiast można założyć, że w świecie o którym mówisz, ze względu
> na niewielkie rozproszenie i małą skalę są to wady nieistotne.

Ok. Moim zdaniem w pewnych przypadkach w Twoim świecie są to wady.
A nie, że wady ogólnie.

>> W aplikacjach webowych, a ściślej: przeglądarkowych, jesteś właściwie
>> skazany na warstwę pośrednią jaką jest np. php w dostępie do bazy
>> danych.
> 
> Ależ wodzu, co wódż? Otwieramy port 3306/5432 i jedziesz.
> 
>> Na drodze: przeglądarka->baza danych, to właśnie php pełni
>> niejako naturalną rolę api dla aplikacji "przeglądarkowej".
>> Nie ma innego sposobu.
> 
> Nie możesz tego zrobić jedynie dlatego że przeglądarki wprowadzają ograniczenia
> w komunikacji, a nie dlatego że to niemożliwe w języku 

Tak. To miałem na myśli.

> (patrz https://github.com/sindresorhus/awesome-nodejs#database ).
> Jakby consensus środowiska był taki, że bezpośrednia praca z DB "to jest to",
> to przeglądarki nie miałyby takich ograniczeń.

Ale mają i nie chciałem drążyć tego tematu, dlatego posłużyłem się 
skrótem myślowym.

>> Przykład podałem w poprzednim poście. Najprostszy z możliwych z
>> aktualizacją pola stanu magazynowego po dodaniu/zmianie/skasowaniu
>> rekordu z towarem.
> 
> I jak myślisz, jak Ci to zadziała na sklepie wielkości Amazona?

A ile jest sklepów wielkości Amazona?

> Dlaczego google używa baz nierelacyjnych do swoich wyszukiwarek (bigtable)
> https://cloud.google.com/bigtable/

Bo takich potrzebuje.

> We wszystkich przypadkach odpowiedź jest taka sama: tradycyjne serwery sql
> "nie wyrabiają" i nie potrafią sprostać potrzebom.

Nie we wszystkich przypadkach.
W większości przypadków tradycyjne serwery sql bez problemu wyrabiają.

> Tam gdzie naprawdę musisz mieć skalowalne rozwiązanie, to właśnie
> tak jest. I nie jedna "maszyna z API". Wrzucę kod na:

Zgada. Tam gdzie naprawdę musisz.

> Tego wszystkiego nie zrealizujesz w tracydyjnym modelu SQL,
> nie dlatego że pojedyncze bajtowe operacje są mniej/bardziej
> wydajne, tylko dlatego że jest to narzędzie o niewielkiej
> skalowalności.

Ale przecież to nie jest tak, że teraz wszyscy nagle powinni porzucić 
triggery/sp, bo stały się złe, bo Amazon i google z nich nie korzysta.

Borys Pogoreło już o tym wspomniał. Wdrażanie na siłę takich rozwiązań, 
tam gdzie nie są konieczne, to jest rozwiązywanie problemów, których 
większość nie ma i nigdy mieć nie będzie. Za to rodzą inne problemy, 
które można w prosty sposób załatwić triggerem czy za pomocą sp.

Pozdrawiam
Piotr
Technical Details
Message-ID: <5cc2e453$0$522$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!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> <slrnqbuasg.28r5.wojciech.bancer@pl-test.org> <5cc00030$0$476$65785112@news.neostrada.pl> <slrnqc0o86.drp.wojciech.bancer@pl-test.org> <5cc08eba$0$523$65785112@news.neostrada.pl> <slrnqc1a43.2amm.wojciech.bancer@pl-test.org> <5cc0de68$0$539$65785112@news.neostrada.pl> <slrnqc42f0.2lii.wojciech.bancer@pl-test.org> <5cc24956$0$526$65785112@news.neostrada.pl> <slrnqc5fkk.27vm.wojciech.bancer@pl-test.org>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Symfony 4 - jak projektować bazę danych
 pod Doctrine?
Newsgroups: pl.comp.lang.php
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> <slrnqc0o86.drp.wojciech.bancer@pl-test.org> <5cc08eba$0$523$65785112@news.neostrada.pl> <slrnqc1a43.2amm.wojciech.bancer@pl-test.org> <5cc0de68$0$539$65785112@news.neostrada.pl> <slrnqc42f0.2lii.wojciech.bancer@pl-test.org> <5cc24956$0$526$65785112@news.neostrada.pl> <slrnqc5fkk.27vm.wojciech.bancer@pl-test.org>
From: Kviat
Date: Fri, 26 Apr 2019 12:58:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <slrnqc5fkk.27vm.wojciech.bancer@pl-test.org>
Lines: 82
Message-ID: <5cc2e453$0$522$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 5.173.144.113
X-Trace: 1556276307 unt-rea-b-01.news.neostrada.pl 522 5.173.144.113:23970
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit