Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wielojezykowosc - teoria
Forum PHP.pl > Forum > PHP
Blodo
Mam dwie opcje: albo zastosowac baze danych albo pliki z tablicami php, zastanawia mnie co byloby szybsze.

Chodzi tu o sama teorie. System ma dzialac na zasadzie tzw. placeholderow czyli podstawek z ID danego tekstu i zaleznie od wybranego jezyku bedzie dobierany pod dana podstawke inny tekst.
Jesli mialbym to zrobic za pomoca bazy danych to widze to do zrobienia przed wyswietleniem htmla na gotowym do wyswietlenia szablonie (korzystam z systemu templatow), zebranie wszystkich ID podstawek za pomoca regexow i zrobienie z tego zapytania po czym podstawienie wynikow.
Jesli chodzi o tablice z includowanych plikow to bedzie to prostsze bo wystarczy podstawic, ale interesuje mnie kwestia ladowania wiekszej tablicy do pamieci php kiedy jasne jest ze wiekszosc zawartych w niej wartosci nie bedzie uzywana w trakcie dzialania danego skryptu. Czy dzielenie plikow z tekstami cos da na dluzsza mete?

Z gory dzieki.
starach
Ja wybrałbym pliki ze względu na to że szybciej z pliku niż bazy dane się wczytują,
a jako że pliki te mają zawierać elementy interfejsu w różnych językach raczej częsta ich modyfikacja nie będzie konieczna.
Bawiłem się w testowanie wydajności ładowania danych z jednego dużego pliku i kilku mniejszych.
Przy takiej samej ilości danych szybszy jest jeden plik.
Jednak różnica jest niewielka i dla zachowania porządku podzieliłbym to na kilka plików odpowiadających podstronom.
qqrq
Zgadzam się. Ponadto na przyszłość polecam przeglądnięcie forum przed napisaniem nowego tematu (chodzi mi zwłaszcza o post prph, który chyba rozwiązał już Twój problem... smile.gif ).
Jabol
lub też: Temat: Wielojezykowosc
Blodo
Dzieki za odpowiedz, czyli bede korzystac z plikow ^^
Sedziwoj
Cytat(orglee @ 19.09.2007, 01:15:55 ) *
Ja wybrałbym pliki ze względu na to że szybciej z pliku niż bazy dane się wczytują,

A tu głupoty gadasz, już kiedyś była na ten temat mowa, były też testy. (chodzi tylko o pobieranie danych)
Cytat
a jako że pliki te mają zawierać elementy interfejsu w różnych językach raczej częsta ich modyfikacja nie będzie konieczna.
Bawiłem się w testowanie wydajności ładowania danych z jednego dużego pliku i kilku mniejszych.
Przy takiej samej ilości danych szybszy jest jeden plik.
Jednak różnica jest niewielka i dla zachowania porządku podzieliłbym to na kilka plików odpowiadających podstronom.

Pytanie czy podstrony powinny się tłumaczyć czy tylko teksty, bo moim zdanie tylko teksty...
Ale ostatecznie proponuję poczytać to co podlinkowali, bo tam jest sporo informacji i wybrać to rozwiązanie co najbardziej podpasuje.
Blodo
Tzn jesli chodzi o rzeczy typu artykuly - czyli info ktore bedzie zmieniane to to wszystko przechowuje w bazie. Tylko teraz pytanie czy info ktore raczej nie bedzie sie zmieniac (czyli pojedyncze zdania lub slowa na stronie) tez oplaca sie trzymac w bazie czy moze szybciej bedzie na plikach?

Przeczytalem oba tematy do ktorych daliscie link, oba jedynie traktuja m.in. JAK to zrobic, ale zaden nie tlumaczy jasno ktore rozwiazanie jest szybsze lub po prostu lepsze. Pytam sie was bo sam nie jestem pewien co do plikow gdyz podobno przyrost predkosciowy nad baza danych wcale nie jest tak wielki, a nie mam pojecia jak wplywa na php ladowanie wielkich tablic danych w porownaniu do wybierania tylko tych stringow ktore sa aktualnie potrzebne za pomoca zapytania w bazie danych. Nalezy wziac pod uwage ze i tych moze byc calkiem sporo.
Sedziwoj
Wiesz, specjalnie nie napisałem jak, bo to raczej jest kwestia dyskusyjna. Każdy by to inaczej zrobił.
Ja osobiście uważam, że dane trzyma się w bazie danych (niby logiczne?), a używanie plików do ich przechowywania, to tak jak ci co zaczynają korzystają z plików zamiast bazy, bo "łatwiej" przy tym co już wszyscy co dłużej programują trzymają w bazie (np. aktualności).
Jak już pisałem, był robiony test wydajności i DB była porównywalna (chyba nawet lepsza przy większej ilości danych) od plików. Więc bym jednak sugerował wybranie tej opcji, co bardziej Ci pasuje.
W pracy korzystam z systemu opartego na ini, moim zdaniem są lepsze od tablicy, bo łatwiejsze do zapisu i ktoś inny może też nimi operować, kto nie zna się na programowaniu.
starach
Cytat(Sedziwoj @ 20.09.2007, 00:49:52 ) *
To bądź tak uprzejmy i pokaż mi te testy. Kiedy ja to sprawdzałem to wczytywanie kilkudziesięciu zmiennych z pliku i kilkudziesięciu wpisów z bazy o tej samej długości jasno wskazywało że baza jest wolniejsza.
Bazy danych stosuje się przede wszystkim dlatego że jest to wygodniejsze,
a przy skomplikowanych operacjach na danych wykonanie ich na pliku było by masochizmem.
Oczywiście przy dużych portalach które wymagają przechowywania bardzo dużych ilości danych konieczne jest stosowanie bazy,
ale specjalnie skonfigurowanej i na oddzielnej maszynie. To tak jakbyś do zabicia komara chciał użyć armaty.
Oczywiście jak już wspomniał Sedziwoj jest to sprawa dyskusyjna, bo na wynik takiego testu może wpływać wiele czynników
i jeśli nie masz pie*****lca na punkcie wydajności jak ja to użyj bazy danych bo jest to na prawdę wygodniejsze rozwiązanie.
Sedziwoj
@orglee
A jak Ty testowałeś, bo chyba nie wliczałeś czasu połączenia z bazą? Tylko brałeś pod uwagę samo pobranie danych. A dam nie testowałem, tylko były umieszczone w którymś temacie takie wyniki (przez odpowiedzialną osobę), chyba będę musiał je przeprowadzić, tylko że mój komp na testy wydajnośći się zbyt nie nadaje. Jak przetestuję to napiszę, tylko chyba to nie będzie w tym tygodniu, brak czasu.
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.