-
X-Received: by 10.49.12.67 with SMTP id w3mr55746qeb.27.1367870109452; Mon, 06 May
2013 12:55:09 -0700 (PDT)
X-Received: by 10.49.12.67 with SMTP id w3mr55746qeb.27.1367870109452; Mon, 06 May
2013 12:55:09 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!newsfeed.pionier.net.pl!news.glorb.com!m7no2887457qam.0!ne
ws-out.google.com!y6ni0qax.0!nntp.google.com!m7no2887446qam.0!postnews.google.c
om!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 6 May 2013 12:55:09 -0700 (PDT)
In-Reply-To: <51874eb2$0$1250$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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6...@g...com>
Subject: Re: jsp vs php
From: "M.M." <m...@g...com>
Injection-Date: Mon, 06 May 2013 19:55:09 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:203168
[ ukryj nagłówki ]W dniu poniedziałek, 6 maja 2013 08:33:21 UTC+2 użytkownik R.e.m.e.K napisał:
> A co z fragmentacja dysku?
Z tego co słyszałem, problem fragmentacji dysku na dobrych systemach
plików nie występuje przy spełnieniu prostego warunku: dysk nie może
być zapełniony, musi na nim być zawsze pewien zapas wolnego miejsca.
> Co Ci da to, ze dane beda "obok" siebie w pliku
Nie chodzi o to co da, ale co zlikwiduje. Zlikwiduje zbędne naprowadzania
głowicy. Będzie odczyt sekwencyjny zamiast random.
> skoro beda na dwoch koncach dysku?
O ile się nie mylę, na dobrych systemach plików tak się dzieje bardzo rzadko.
> Pomijajac juz taki detal, ze nie ma zadnego mechanizmu ukladania
> danych w tabelach wg swoich widzimisie.
Skoro znasz tak dobrze silniki bazodanowe, to wierzę, że takiego mechanizmu
żaden silnik nie oferuje. Ja je znam bardzo pobieżnie... umiem założyć
tabelę, indeksy, zrobić zapytanie, ewentualnie umiem dodać jakiś triger.
Myślałem że może są jakieś zaawansowane optymalizatory.
> Tym zarzadza serwer i nie masz do tego dostepu. Nie istnieje takie
> pojecie jak kolejnosc ulozenia danych w pliku bazy danych.
Kilka dni temu też tak powiedziałem, kumpel na to mi odrzekł: znasz góra
10% możliwości dwóch baz, lepiej się upewnij. Rozumiem że Ty znasz
bazy danych w 100% i mogę na tej informacji polegać?
> Z pewnoscia moge zaryzykowac stwierdzenie, ze chocbys stanal na glowie nie
> jestes w stanie zrobic nic wydajniejszego niz wspolczesne silniki DB.
Nie mogę, a jakimś dziwnym trafem kilka razy w swoim życiu zrobiłem. Kilka
ostatnich programów które napisałem działają setki razy szybciej na plikach
csv niż na bazach postgres i sqlite. Działają dlatego szybciej, że w jednym
plik csv mam dokładnie to, co z bazy muszę wyciągać skomplikowanym zapytaniem.
Zrób eksperyment. Załóż bazę która zawiera 5-7 tabel dużych tabel. Połącz
wszystkie tabele jakimiś relacjami. Napisz zapytanie do wyciągania danych.
Zmierz czas zapytania. Potem zapisz wyniki zapytania w pliku, w postaci
liniowych rekordów. Ostatecznie zmierz czas odczytania tego pliku ( w
jakimś dobrym języku, może Java, albo C++). Zobacz jakie będą różnice w
czasie.
No ale ja nie znam perfekcyjnie wszystkich możliwości jakie oferują bazy...
może na bazach też da się uzyskać taki efekt... może coś robię źle...
Nie wiem, ja raczej pytałem w tym poście o radę.
> Powiem wiecej, wydaje mi sie, ze trwonisz czas na nieistotnych rzeczach,
> bazy danych dzialaja z setkami milionow rekordow, ze zlaczeniami i innymi
> "utrudnieniami" i daja rade.
Dają radę, tak jak mogą. Masz setki milionów rekordów. Wśród nich masz tysiąc
rozrzuconych losowo przeznaczonych do wyciągnięcia. Jeśli rekordy nie są w
cache, to:
1) jeśli nie są zaindeksowane - trzeba przejrzeć setki milionów, aby znaleźć
ten tysiac;
2) jeśli są zaineksowane - w pesymistycznym przypadku trzeba naprowadzić
tysiąc razy głowicę + jeszcze trochę naprowadzeń na odczyt indeksów.
A gdy ten tysiąc rekordów leży w liniowym pliku, albo są w pamięci
RAM, bo programista napisał specjalistyczny algorytm cache, to dane
są w ułamku sekundy natychmiast.
> Na 90% zrobisz w swoim sofcie wiecej waskich gardel niz to, ktore
> dostaniesz od serwera SQL.
Nigdy nie twierdziłem że wyręczanie serwera SQL to łatwe zadanie i
pierwsza wersja wyrzeźbiona ręcznie będzie na pewno szybsza. Każdy
proces optymalizacji jest trudny i daje wiele możliwości na pogorszenie.
> Oczywiscie serwerowi tez
> mozesz pomoc lub podlozyc noge projektujac dobra lub zla strukture tabel.
No właśnie pytałem czy bazy danych oferują coś do układania potrzebnych
danych obok siebie :)
Pozdrawiam
Następne wpisy z tego wątku
- 06.05.13 22:34 M.M.
- 06.05.13 23:28 R.e.m.e.K
- 06.05.13 23:39 Stachu 'Dozzie' K.
- 06.05.13 23:52 R.e.m.e.K
- 07.05.13 00:50 grapeli23
- 07.05.13 01:07 Stachu 'Dozzie' K.
- 07.05.13 01:23 grapeli23
- 07.05.13 01:48 M.M.
- 07.05.13 01:58 M.M.
- 07.05.13 02:47 Stachu 'Dozzie' K.
- 07.05.13 03:16 M.M.
- 07.05.13 08:57 firr kenobi
- 07.05.13 09:21 R.e.m.e.K
- 07.05.13 09:23 firr kenobi
- 07.05.13 11:56 Piotr Chamera
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-29 Warszawa => Mid IT Recruiter <=
- 2025-01-29 Białystok => UX Designer <=
- 2025-01-29 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-29 Warszawa => Expert Recruiter 360 <=
- 2025-01-29 Zdalny podpis
- 2025-01-29 Nazbyt "muzyczne" słuchawki
- 2025-01-29 Warszawa => QA Engineer <=
- 2025-01-29 Prawo jak je [nie]rząd rozumie.
- 2025-01-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-29 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-29 Warszawa => Software .Net Developer <=
- 2025-01-28 Ściąganie hasła frezem
- 2025-01-28 Rok 1973
- 2025-01-28 Warszawa => Programista Dynamics 365 CRM <=
- 2025-01-28 Warszawa => Senior Frontend Developer (React + React Native) <=