Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przeszukiwanie kilku baz danych jednocześnie
willy
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.07.2009

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


Witam,

Zastanawiam się w jaki sposób można rozwiązać następujący problem.
Strona wyszukuje informacji w 10 niezależnych bazach danych o dużych rozmiarach (powiedzmy kilkadziesiąt tysięcy rekordów do przeszukania). Każda na osobnym serwerze. Zwrócenie wyniku każdej z nich trwa powiedzmy 3~5sek.
Jak łatwo policzyć łącznie się z każdą bazą po kolei, wysłanie zapytania, odczytanie wyniku oraz wyświetlanie go na ekranie użytkownika zajmie 30~50 sek.
W jaki sposób wysłać zapytanie do każdej z baz danych, tak żeby wszystkie serwery MySQL wykonywały swoją pracę jednocześnie, a nie po kolei?
Najlepiej by było, gdyby wyniki były wyświetlane zgodnie z kolejnością ich nadchodzenia (czyli serwer który odpowie najszybciej wyświetlany na górze strony)
Czy da się to zrobić z wykorzystaniem czystego PHP, czy trzeba "zaprząc" do pracy inne języki programowania?

Pozdrawiam
-willy-
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Do tego trzeba nawiązać asynchroniczne połączenia z bazami. A to wymusza zastosowanie AJAX i w tę stronę bym ciągnął, bo to wydaje mi się najbardziej sensowne z wszystkich możliwych podejść.
Go to the top of the page
+Quote Post
Mchl
post
Post #3





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Cytat(thek @ 14.12.2009, 21:04:30 ) *
Do tego trzeba nawiązać asynchroniczne połączenia z bazami. A to wymusza zastosowanie AJAX i w tę stronę bym ciągnął, bo to wydaje mi się najbardziej sensowne z wszystkich możliwych podejść.


Nie wymusza. Można przecież wywoływać skrypty potomne ze skryptu głównego (co nie znaczy, że tak będzie prościej czy lepiej (IMG:style_emoticons/default/winksmiley.jpg) )

I jest jeszcze coś takiego:
http://www.php.net/manual/en/mysqli.reap-async-query.php

szukam chętnego, który to rozgryzie (IMG:style_emoticons/default/winksmiley.jpg)

[edit]

Ha... czyli od wersji 5.3 PHP można wykonywać zapytania asynchroniczne przy pomocy mysqli_query z flagą MYSQLI_ASYNC

Ten post edytował Mchl 15.12.2009, 08:46:39
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 04:11