stoprocent
11.07.2006, 14:02:37
Witam pisze tu z takim pytaniem dosc krotkim.
Moja firma w ktorej pracuje dostala bardzo duzy projekt, chodzi (bardzo ogolnie) o niezwykle szczegolowe porownywanie danych, baza okolo 50 milionow rekorodow informacje typu imie nazwisko adres nr telefonu etc.
I teraz zastanawiamy sie wszycy jakiej konfiguracji uzyc. Najbardziej rozwazna opcja to chyba wykorzystanie
PERL z pomoca php + ( PGSQL albo MS SQL) MYSQL ODPADA.
Chcialbym tez poznac wasze opinie na ten temat.
Kazdy blad porownania kazdy blad bazy i samego silnika jest kosztowny bo docelowo uzytkownicy bede placic za kazda osobe (rekord).
Chcialbym znac opinie na temat wydajnosci php i opinie na temat naszej konfiguracji.
Z gory Dziekuje
Na taki projekt to oracle bym brał bo to baza stworzona do zarządzania dużą ilością danych. Nie bardzo rozumiem natomiast pytanie o wydajność php bo to przecież baza będzie pracować.
Cysiaczek
11.07.2006, 15:07:28
Jak www będzie na jednej maszynie z DB, to wydajność php ma znaczenie.
W zasadzie, to jak "popsujecie" mechanizmy przetwarzania w php, to też może zwolnić, nawet jeśli będzie na innym serwerze...Samo php nie należy do najbardziej wydajnych języków
stoprocent
11.07.2006, 15:30:38
Oj wydajnosc php ma duze znaczenie bo czyms trzeba dane przetworzyc nie moge tego porownac samymi zapytaniami poniewaz niektore rekordy nie zgadzaja sie w 100 procentach np adres
"21 Plympton avenue" a "Plympton av 21" lub "21 Plympton av."
A tak naprawde to to samo i to juz zadanie jezyka skryptowego.
Tak czy tak duza czesc musi przejac perl bo boje sie o php.
Jesli chodzi o Oracle to niestety ale moze to byc tylko SQL (Klient tak wymaga)
nasty
11.07.2006, 15:39:32
A mozecie uzyc asp.net + MsSQL, asp.net ma lepsza wydajnosc bo asp.net jest cachowane w skompilowanej formie przez iis w pamieci, i ADO.NET (i ogulnie caly .net framework) bardzo scisle spolpracuje (i bardzo szybko) z mssql.
Plus do porownan danych .net jest lepsze od php bo ma lepsza absluge typow danych (data types).
Cysiaczek
11.07.2006, 15:41:05
Właściwie, to MySQL mogłby to pociagnąć... Ile zapytań przewidywalnie może być dziennie/na godzine/minute/...?
Mój komp bez problemu (jeden user) przetwarza 1,5 mln rekordów. Zonki mam przy 2 mln.
stoprocent
11.07.2006, 15:57:27
mysle ze okolo 100-200 mln zapytan dziennie . Licze baze 50 mln rekorodow razy 3-4 razy dziennie
nasty
11.07.2006, 16:07:14
@Cysiu: MySQL nie jest w stanie udzwidnac takiej ilosci danych,
do takiej skali to chyba tylko bazy pokroju Oracle czy DB2...
splatch
11.07.2006, 16:59:47
Microsoft SQL Server 2000 jest w stanie obsłużyć bazę zawierającą około 300G danych (przy dobrej konfiguracji sprzętowej). Przy większym rozmiarze pozostaje zmiana softu na taki, który obsługuje 2-4 procesory i zmiana sprzętu na mocniejszy (czyt. na 2-4o procesorowy).
Ile rekordów w tym rozmiarze się zmieści to zależy. Jeśli masz małe tabelki to nawet duże ilości danych będą dość szybko obsługiwane. Jeśli dobrze zoptymalizujesz bazę, unikniesz nadmiarowych danych możesz spokojnie wykorzystać MS. Nie wiem jak zachowuje się PG przy takich rozmiarach.
anas
11.07.2006, 18:22:06
@nasto - a czy aby napewno w odpowiedni sposob podchodzicie do tego co chcecie osiagnac, mowiles o adresach i fakcie ze dane nie musza byc spojne, mowiles o przetwarzaniu i analizowaniu. Mi to wszystko podchodzi pod hurtownie danych.
Po pierwsze wydajny system transakcyjny - tutaj przy takiej ilosci rekordow przetwarzanych online pewnie z open soruce lepiej bedzie postawic na PGSQL niz na MySQL - ale przy najnowszych wersjach MySQL bym sie spieral. Jeżeli projekt posiada duzy budzet to mozna postawic na cos komerycjnego - MSSQL, Oracel. Kolejna sprawa to napisanie narzedzi do ETL - i przenoszenie za ich pomoca danych do drugiej struktury zaprojektowanej z mysla o analizie (hurtownia danych). To zapewni latwiejsze analizowanie i wymiarowanie danych. Dla ciekawosci dodam ze w najnoweszej wersji mysql zaimplementowane zostalo zwijanie - teraz czekam na cube... co prawda daleko temu co dostarcza nam M$ i Oracle - ale zawsze to duzy krok do przodu - i to calkowicie za darmo.
pozdrowka
anas
Cysiaczek
11.07.2006, 18:56:22
Chłopaki od MySQL-a chwalili się, że 100 mln rekordów i większe

Chyba, że to chwyt reklamowy

To i tak ma chodzić przez www, co oznacza tak naprawdę większy kłopot przy przetwarzaniu niż wybieraniu danych. Tu odpowiednio mocny sprzet i ok, bo enginy baz są dobrze zaprojektowane.
DeyV
12.07.2006, 07:24:15
Pojawia sie jeszcze pytanie, o jakiego typu porównania danych chodzi.
Bo może najwydajniejszym rozwiązaniem byłoby napisanie pewnej ilości procedur w C, i wykorzystywanie ich wewnątrz silnika bazy danych, PG lub Oracle.
Nie oszukujmy się, w takiej sytuacji efekty byłyby nieporównywalnie lepsze niż php lub ASP.
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.