Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza czy pliki ? - proszę o porade
Forum PHP.pl > Forum > PHP
martyn
Witam!

Potrzebuje porady. Chodzi mi o zoptymalizowanie strony, coraz więcej użytkowników i zmuszony jestem do optymalizacji kody w celu zredukowania obciążenia CPU.

Zakładając, iż posiadam 4000 wpisów z danymi tekstowymi każdy po ok 20kb.
Zakładając, iż dane nie będą modyfikowane ani przeszukiwane.

Czy dane te umieścić w plikach tzn wrzucić na serwer 4000 plików a następnie pobierać je do skrypty przez inkludowanie tych plików TXT, lub wczytywanie ich przez fopen. Czy dane te umieścić w bazie danych i z bazy je pobierać?

Osobiście skłaniam się do tej pierwszej wersji czyli importu plików ponieważ połączenie z bazą, pobranie rekordu, zamknięcie połączenia, sądzę iż bardziej obciąża serwer niż pobranie pliku z dysku lecz bardzo proszę o poradę w tej kwestii.

Pozdrawiam martyn.
sf
Oczywiście, że najepiej to trzymać w bazie. Następnie stworzyć mechanizm cache, który będzie generował statyczne pliki. Więcej pracy, ale warto. Zresztą jeśli dane są w bazie to zawsze nimi łatwiej zarządzać.
marast78
baza baza baza!!! a dlaczego? bezpieczeństwo, szybkość, możłiwości o wiele większe niż mają pliki, wygoda tyle chyba starczy smile.gif
martyn
Chyba nie wystarczy ponieważ ja wcześnie napisałem, nie chodzi mi o:
-bezpieczeństwa
-możliwości o wiele większe niż mają pliki
-wygodę

Jedynie o szybkość i jak najmniejsze obciążenie procesora. Co jest szybsze przy zwykłym całkowitym pobraniu danych są pliki czy baza?
Jeśli chodzi o cache to po co trzymać to w bazie później 'keszować' czyli i tak zapisywać jako pliki, sprawdzać czy to o co pyta użytkownik jest juz 'skeszwane' czy nie, jeśli jak by to powiedzieć wszytko mogę 'skeszować' poprzez wysłanie całości jako pliki TXT.
sf
a gdzie są trzymane bazy danych? W PLIKACH! więc logicznie myśląc co jest szybsze:
a) wyświetlenie pliku tekstowego
cool.gif połączenie z bazą danych, wykonanie zapytania ( które przeszuka plik w poszukiwaniu odpowiedniego rekordu ), pobranie danych, wyświetlenie danych
dr_bonzo
martyn: jak masz tylko tak proste dane: kilka tys plikow tekstowych (4k rekordow) z danymi tekstowymi (jedna kolumna -- tak to rozumiem) to mozesz pozostac przy plikach. Jesli te dane sa bardziej skomplikowane to pozostaje ci tylko baza.
php programmer
Cytat
Następnie stworzyć mechanizm cache, który będzie generował statyczne pliki.

masło maślane, używac bazy tylko po to żeby i tak potem utworzyć plik
taka robota nie jest warta zachodu, tym bardziej, że

Cytat
dane nie będą modyfikowane ani przeszukiwane.

baza nie służy do maganyzowania danych, do tego służa pliki
revyag
@sf - precyzując, baza danych to nie są zwykłe pliki tylko b-drzewa (przynajmniej w mysql), wpływa to znacznie na szybkość przeszukiwania i pobierania danych

@php programmer, jak mam bazę która ma milion rekordów to dalej nie jest to magazyn danych ? Poza tym chciałbym się dowiedzieć do czego służy baza danych snitch.gif
A jak w przyszłości zajdzie potrzeba dodania mechanizmu zarządzania tymi danymi to co wtedy ?

@martyn, baza danych to według mnie najlepsze rozwiązanie, jeśli nawet nie wykorzystasz teraz jej możliwości, to będziesz miał większe pole manewru kiedy zajdzie potrzeba stworzenia zarządzania tymi danymi.
martyn
Dzardzo dziękuja za zainteresowanie i odpowiedzi.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.