Ogromna baza w MySQL?

0

Witam!

Mam znajomą, która otwiera swoją firmę - pośrednictwo w sprzedaży ofert biur podróży. I zachciała sobie strony internetowej, na której mają być oferty. Jestem jedynym "informatykiem", którego zna, więc poprosiła mnie o pomoc. No i dobra, zrobiliśmy stronkę, bazę danych z ofertami jednej firmy, wszystko OK. Teraz znajoma chce umieścić oferty kilkunastu kolejnych firm. Dostarczane są one w formie plików xml, jest w nich prawie 5,8 mln ofert. Szacuję, że baza z nimi zajmie ok. 3GB.
Moje pytania: Czy to jest w ogóle wykonalne? Czy serwer MySQLowy da sobie radę z taką ilością danych? Czy wyszukiwarka (w PHP) będzie w stanie przeszukiwać to w sensownym czasie?

Z góry dziękuję za pomoc :)

0

wszystko zależy od

  1. projektu bazy
  2. jak szukasz
  3. sprzętu, na którym to stoi
0
somekind napisał(a)

Czy serwer MySQLowy da sobie radę z taką ilością danych?

Jak napisal Misiekd, wszystko zalezy od tego jak to zaprojektujesz i na czym postawisz. A 3GB to nie ogromna a raczej mala (srednia?) ilosc danych i nie powinno byc problemu. Mam bazke 15GB na jakiejs starej jednoprocesorowej maszynie i jakos to dziala. Dobrze pozakladaj indeksy, podziel na sensowne tabele i bedzie git :)

0

5,8 mln oferta ma zajmować aż 3 gb? to co tam do każdej jest po 10 stron opisu? Na oko to ona nie powinna zajmować więcej jak 500-600 mega góra. A jeżeli chcesz usprawnić szukanie to polecam full text search i może jakiś cache wyników, zaoszczędzi to czasu bazie, a reszta to jak pisali wyżej przeszkody nie ma.

0
mephir napisał(a)

5,8 mln oferta ma zajmować aż 3 gb? to co tam do każdej jest po 10 stron opisu?

Opis jednej oferty to jakieś 0,5 kb. Tak szacuję, bo obecnie baza ma 17000 ofert zajmujących 8,5 MB.

Co do serwera - chyba źle sformułowałem pytanie. Nie będę stawiał sam serwera, chodzi mi o to, czy dostępne hostingi pozwalają na obsługę takich baz?

Edit: Co do dzielenia na tabele - będą 3, bo są wycieczki z dojazdem własnym, autobusowym i lotniczym, nic więcej.

0
somekind napisał(a)

Co do serwera - chyba źle sformułowałem pytanie. Nie będę stawiał sam serwera, chodzi mi o to, czy dostępne hostingi pozwalają na obsługę takich baz?
bo, powiedzieć by można, że tragicznie :) - a na serio to np na home.pl masz 10GB za 600zł (w promocji 300zł) za rok

Edit: Co do dzielenia na tabele - będą 3, bo są wycieczki z dojazdem własnym, autobusowym i lotniczym, nic więcej.
to jest bardzo zły pomysł. I tak na pierwszy rzut oka to to powinno być więcej niż 3 tabele i na pewno nie tak podzielone, no chyba, że po prostu wrzucasz treść oferty do pola blob czy memo i po sprawie - ale to też jest zły pomysł (znajdz tu coś ...)

0
Misiekd napisał(a)

to np na home.pl masz 10GB za 600zł (w promocji 300zł) za rok

Masz rację, zupełnie tragicznie :) Bo mi właśnie chodzi o to, czy w ogóle zaczynać i pakować się w koszty, jeśli to na zwykłym hostingu nie zadziała. A stawianie u siebie jakiegoś super-serwera jest raczej nie opłacalne w przypadku tak małej firmy. Zresztą moim zdaniem w ogóle nikt do niej na tą stronę nie wejdzie, no ale jak się baba uparła, to przecież jej nie przekonam :)
Czyli jesteś pewien, że taki zwykły hosting da radę? ;>

to jest bardzo zły pomysł. I tak na pierwszy rzut oka to to powinno być więcej niż 3 tabele i na pewno nie tak podzielone, no chyba, że po prostu wrzucasz treść oferty do pola blob czy memo i po sprawie - ale to też jest zły pomysł (znajdz tu coś ...)

Piszę na razie parser. Widzę już, że chyba da radę trzymać odrębnie hotele i miejscowości.
Idiotycznie wygenerowane są te pliki xml, w każdym wiele danych się powtarza, zrobienie z tego normalnej bazy danych łatwe nie będzie.
</quote>

0

http://progreso.pl/dokumentacja/index.php?action=artikel&cat=20&id=15&artlang=pl - tak to wygląda na progreso.pl z którego korzystam - mają konta 5GB i 10GB - a poza tym zawsze możesz sobie np. wygenerować losowe dane do dużej bazy i wypróbować w okresie próbnym... I dopiero wtedy wykupić konto... Misiekd ma rację, postaraj się jak najbardziej rozbić bazę na tabele - tylko trzy tabele to zły pomysł...

0
somekind napisał(a)

Zresztą moim zdaniem w ogóle nikt do niej na tą stronę nie wejdzie, no ale jak się baba uparła, to przecież jej nie przekonam :)

No to postaw jakiś serwer lokalnie - za kilkaset złotych sprzęt + LAMP. Skoro i tak ma być dostępny w firmie...

Idiotycznie wygenerowane są te pliki xml, w każdym wiele danych się powtarza, zrobienie z tego normalnej bazy danych łatwe nie będzie.

Jepiej się postarać, bo za pół roku wymyśli, że chciałaby, żeby te wycieczki można było sobie wyszukać online i zamówić jeszcze i wtedy wysiłek włożony w dobrze zaprojektowaną i spójną bazę się zwróci (nawet jak nie wpadnie na taki pomysł, to możesz jej go podsunąć).
A jak sprawy zajdą już tak daleko, to można kupić przecież serwer wirtualny.

0

No to mnie uspokoiliście, dziękuję :)

id02009 napisał(a)

Jepiej się postarać, bo za pół roku wymyśli, że chciałaby, żeby te wycieczki można było sobie wyszukać online i zamówić jeszcze

Taka jest idea całego tego przedsięwzięcia. Strona jest stworzona dla ew. klientów i można na niej zamawiać wycieczki.

I jeszcze LAMP - to nie ze mną ;)

0
alexqc napisał(a)

P.S. Jakbym zobaczył stronę z 5.8 miliona ofert to bym z niej uciekł jak najszybciej, ale to tylko moje zdanie ;)

Czemu? Przecież nie widzisz wszystkich na raz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1