-
X-Received: by 10.180.208.114 with SMTP id md18mr266398wic.9.1367942531719; Tue, 07
May 2013 09:02:11 -0700 (PDT)
X-Received: by 10.180.208.114 with SMTP id md18mr266398wic.9.1367942531719; Tue, 07
May 2013 09:02:11 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!17no5121108wie.0!news-out.google.com!hg5ni7
8691wib.1!nntp.google.com!17no5121105wie.0!postnews.google.com!glegroupsg2000go
o.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 7 May 2013 09:02:11 -0700 (PDT)
In-Reply-To: <5188ab94$0$1252$65785112@news.neostrada.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.195.164.27;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 213.195.164.27
References: <c...@g...com>
<klqg29$o16$1@news.mm.pl>
<0...@g...com>
<klsle1$ogf$1@news.mm.pl>
<2...@g...com>
<km4nal$kkp$1@news.mm.pl>
<4...@g...com>
<d...@g...com>
<e...@g...com>
<51874eb2$0$1250$65785112@news.neostrada.pl>
<6...@g...com>
<51882061$0$1222$65785112@news.neostrada.pl>
<5...@g...com>
<5188ab94$0$1252$65785112@news.neostrada.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3...@g...com>
Subject: Re: jsp vs php
From: "M.M." <m...@g...com>
Injection-Date: Tue, 07 May 2013 16:02:11 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:203200
[ ukryj nagłówki ]W dniu wtorek, 7 maja 2013 09:21:55 UTC+2 użytkownik R.e.m.e.K napisał:
> Bazy danych sa srubowane pod wzgledem wydajnosci, bo to jeden z priorytetow.
> Mechanizmow temu sprzyjajacych maja wiele, w koncu to temat stary jak cale
> IT, ale nie sadze by byla mozliwosc grzebania w tak niskopoziomowych
> parametrach jak polozenie stron w sektorach dysku.
Ok, jak nie ma to nie ma. Chociaz... troche nie ufam, poszukam jeszcze :)
> Ale jesli plik baza bedzie mial kilkadziesiat GB, to podejrzewam, ze nawet
> najlepszy system plikow nie zagwarantuje, ze znajdzie taki obszar w jednym
> kawalku.
No tak, ale w jednym kawalku nie musi byc.
> Optymalizator jest wbudowany w engine serwera i sie korzysta z niego
> wykonujac zapytania. Mozna wplynac na jego decyzje wymuszajac mu plan
> zapytania, ale w dobrych serwerach wiecej takim wymuszeniem mozna zaszkodzic
> niz pomoc, w gorszych (ze slabym optymalizatorem) mozna poprawic wiele.
Brzmi logicznie, ale nie ma cudow. Jesli tabela jest ogromna, to w
pesymistycznym przypadku DB musi nastawic glowice tyle razy ile jest
rekordow do odczytania.
> Ale jesli nie bedzie read-only to stopien komplikacji wlasnego rozwiazania
> rosnie ogromnie.
To zalezy od szczegolow problemu. Ostatnio duzo sie bawilem rozwiazaniami
opartymi na SQL i CSV. Az tak bardzo trudno nie jest. Wieksze problemy
mialem gdy byly nieoczekiwane zmiany w projekcie.
> Do tego mozna takze uzyc serwera SQL. Raz na dobe zrobic nim widok i go
> zmaterializowac (materialized view). Efekt bedzie podobny, a roboty ZERO.
Zgadza sie. Przy okazji zyskuje sie transakcje, prosta mozliwosc zrobienia
kopii - niby sa zalety. Ale dane w takich plikach sa nadmiarowe, zawsze
mozna je odtworzyc - czyli transakcji nie potrzebuje. W kopii zapasowej
takie dane tez jak kula u nogi. Po plikach bazy danych trudno iterowac...
Masz racje ze mozna, ale w takim przypadku baza to niepotrzebna warstwa.
Lepiej takie dane zrzucic do pliku binarnego, potem w golym C po takim
pliku iterowac. Struktury z C mapuja sie bez zadnych konwersji do danych w
pliku binarnym - wydajnosc i wygoda w jednym.
> E, czemu tylko jedna kolumne? Indeks moze obejmowac kilka kolumn.
Hmmm, ale i tak to chyba nie ma nic wspólnego z jakąś metodą na
układanie potrzebnych danych obok siebie.
> Wiedziec a to zrobic to przepasc liczona w setkach roboczogodzin ;-)
Samo sie nie zrobi, pytanie czy warto :)
> No i dochodzimy do meritum. Jesli zapytania wykonuja sie po kilkadziesiat
> sekund to (zaznacz wlasciwe pola):
> - masz spieprzona strukture logiczna bazy
O tej samej bazie mozna powiedziec ze jest optymala i spieprzona. Moja jest
optymalizowana na elastycznosc, na to zeby latwo mozna bylo cos zmienic,
cos dodac. Mozna zrobic tak jak wyzej proponowales, ze tabel sa odpowiednikami
plikow na ktorych to dziala szybciej. Tyle ze wtedy taka baza wydaje sie jak
kula u nogi.
> - nie korzystasz prawidlowo z indeksow
Raczej tak.
> - piszesz zle zapytania SQL
Nie popelniam wielkich bledow, ale nie sprawdzalem jeszcze czy szybciej
zadziala zlaczenie join, czy moze jakies sprytne podzapytanie.
> - uzywasz produktu serweropodobnego
Ostatnio uzywam dwoch: SQLite i Postresql
> - wyciagasz w wyniku miliony rekordow wraz z polami typu blob i podsystem
> dyskowy nie wyrabia
Blob nie uzywam. Ilosc rekordow rozna, rzadko powyzej 100tys, ale zdarza sie.
> Ale wlasnie, czy aby na pewno sa one przemyslane? Czy struktura jest
> znormalizowana? A jesli tak to moze zbyt znormalizowana?
Jak na wydajnosc to jest zbyt znormalizowana, jak na zarzadzanie, to jest
znormalizowana w sam raz - jesli mozna tak powiedziec :)
> W praktyce dla zwiekszenia wydajnosci stosuje sie czesto denormalizacje
> oraz celowa redundancje danych. Mysle, ze struktura bazy danych moze byc
> tu kluczowa dla wydajnosci, mozna nia bardzo duzo poprawic oraz ...zepsuc.
Z tego co widze, to mozna w ten sposob duzo poprawic. Pytanie tylko, czy
robienie tabel z redundantnymi danymi nie jest gorze niz zewnetrzne pliki.
Pozdrawiam
Następne wpisy z tego wątku
- 07.05.13 18:06 M.M.
- 07.05.13 20:15 Michal Kleczek
- 07.05.13 21:51 M.M.
- 07.05.13 21:59 Ghost
- 07.05.13 22:28 M.M.
- 07.05.13 23:24 M.M.
- 08.05.13 00:13 Tomek Kańka
- 08.05.13 01:41 M.M.
- 08.05.13 09:41 Ghost
- 08.05.13 11:04 Michal Kleczek
- 08.05.13 18:09 M.M.
- 08.05.13 18:12 M.M.
- 08.05.13 18:53 Ghost
- 08.05.13 20:59 M.M.
- 08.05.13 21:03 Ghost
Najnowsze wątki z tej grupy
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-06-14 Warszawa => Senior Account Manager <=
- 2025-06-14 Warszawa => Senior C++ Developer (analiza numeryczna i modelowanie) <=
- 2025-06-13 "Wśród uczestników [tajnych obrad Grupy Bilderberg - przyp JMJ] znajdujemy szefa MSZ Polski Radosława Sikorskiego oraz jego żonę Anne Applebaum."
- 2025-06-13 Ławniczątka Sądu Najwyższego ostatecznie zinterpretowały Konstytucje?
- 2025-06-13 limit 800zł z Euronetu
- 2025-06-13 Łódź => Senior Key Account Manager IT <=
- 2025-06-13 Białystok => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-06-13 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-06-13 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-06-13 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-06-13 Warszawa => Fullstack PHP Developer <=
- 2025-06-13 Sopot => PHP Developer <=
- 2025-06-13 Białystok => Programista Delphi <=
- 2025-06-13 Białystok => NMS System Administrator <=
- 2025-06-13 Warszawa => Spedytor Międzynarodowy <=