Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml] Vs [sql] - Xml A Baza Danych, Co będzie szybsze?
Zodiac
post 17.08.2004, 02:10:09
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 21.03.2004
Skąd: Oświęcim

Ostrzeżenie: (0%)
-----


Mam stworzyć system obsługujący bardzo duże ilości użytkowników. Zbudowany w pełni na PHP5 i głównie wykorzystujący MySQL(i), jednak z możliwością podpięcia dowolnej bazy (własny driver, nie chce się bawic w ADODB).

Zastanawia mnie, czy przy paru tysiącach rekordów warto wrzucać takie rzeczy, jak opisy tekstowe do bazy danych. Teoretycznie wydaje się, że najlepszą opcją było by przechowywanie elementów tekstowych oraz innych im towarzyszących (np. jakieś atrybuty) w pliku XML (jeden plik to jeden zestaw: opis + atrybuty). Czy parsując go SimpleXML, można by zyskać dużo lepszą prędkość działania, niż korzystając z bazy i pól typu TEXT?

Oczywiscie mankamentem tego pomysłu jest brak możliwosci (z powodów oczywistych) przeszukiwania po opisach i innych elementach znajdujących się wewnątrz plików XML.


Nie chce zaśmiecać bazy niepotrzebnymi dziesiątkami megabajtów opisów. Nie wiem tylko, jak to ma sie do wydajności parsera. Jeśli ktoś ma doświadczenie w temacie, proszę o jakieś rady i przydatne informacje.

Ten post edytował Zodiac 17.08.2004, 02:17:54


--------------------
PHP5 w/MySQL, JavaScript, SOAP, AJAX, RSS and much more ;)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
smentek
post 20.05.2005, 19:18:29
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 11
Dołączył: 7.04.2003

Ostrzeżenie: (10%)
X----


Jezeli tresci ktore chcesz miec w plikach zamiast w bazie nie sa bezposrednio polaczone z tymi ktore mialy by byc w bazie danych to ok. Moga byc na plikach. Ale jezeli zachodzi miedzy nimi scisle powiazanie (relacja) z tymi ktore mialy by byc w bazie danych, to one takze powinny do bazy danych trafic. (nie bez powodu mowimy o RELACYJNYCH bazach danych smile.gif )

To co napisalem powyzej to jedyne kryterium czy wsadzic dane do bazy czy nie. To czy tych danych jest duzo czy malo niema znaczenia (wydajesz sie tego nie rozumiec). W bazie danych nie przechowujesz danych binarnych (na plikow .png) cala reszte mozna do niej wrzucic.

Baza danych bedzie zdecydowanie szybsza. To przeciez oczywiste smile.gif. Xml daje jak sam mowiles potezne mozliwosci i ma wiele zastosowan, ale nie jest to absolutnie technologia ktora miala by konkurowac z bazami danych pod wzgledem szybkosci wyszukiwania danych, stabilnosci czy niezawodnosci dzialania. To po prostu foramat zapisu informacji. A twoja ewentulana witryna w xml bedzie oparta na PLIKACH. Wyszukiwanie informacji w plikach bedzie wiec wolniejsze od wyszukiwania w bazie danych danych i tyle.

A propo szybkosci dzialania. Łancuch jest tak mocny jak jego najslapsze ogniwo jezeli wiec laczysz baze danych, z plikami xml, ktore mial bys parsowac wte i wewte - w zaleznosci od potrzeb - to wydajnosc systemu spada. Wszystko to jednak teoretyczne gadanie bo tworzysz przeciez aplikacje a nie mechanizm sterowania rakieta smile.gif Pliki xml beda ok pod warunkiem ze witryna bedzie niewielka.

Idealnym dla Ciebie rozwiazaniem byl by system w ktorym z serwera idze do bazy danych zapytanie (SQL) a baza danych daje odpowiedz juz w postaci dokumentów XML, ktore nastepnie sa laczone w wieksza calosc i transformowane XSLT do odpowiedniego formatu (XHTML). Takie cudenka chodza na Oracle (haha.gifK) i SQL Server microsoftu (instrukcje OpenXML itd.).

Probelem polega jednak na tym, ze (z tego co mi wiadomo ) jak narazie Mysql ani zadna inna "darmowa" baza danych z ktora wspolpracuje php nie "wypluwa" plikow XML.

Mozesz napisac aplikacje ktora laczy relacyjna baze danych z plikami xml (wstawia do nich tresc) ale taki wynalazek ograniczyl bym jedynie do niezbednego minimum. (Np chcesz miec kanal RSS na stronie). Inaczej bedzie to raczej eksperyment (bardzo pouczajacy i ciekawy) niz sensowne dzialanie.


--------------------
.:SMENTEK:.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 14:09