Pierwsza baza w której będzie dużo informacji

0

Witam,
Od roku zajmuje się webmasteringiem. Jednak tym razem, wziałem sie za budowe portalu z ogłoszenia które będą zapisywane do bazy danych. Informacji będzie sporo, a chciałbym żeby to dobrze działało. Więc zaczne od początku.
Każde ogłoszenie w bazie na pewno będzie miało 11 pól (to takie [CIACH!] jak tytuł, adres, numer,cena), jednak będą też ogłoszenia tak jakby "premium",z dodatkowymi polami w formularzu w ilości zależnej od rodzaju premium.
Takimi jak: województwo (do 16), miasta do (32), terminarz (to będze masakra),kategorie (chyba do 10) oraz podkategorie (do 30).

Łatwo policzyć że jeżeli będzie tylko 100 ogłoszeń z najwyższego (czyt najdroższego hehe) pakietu premium, to w bazie będzie już 3069 pól (bez terminarza). Chciałbym żeby ta strona dobrze działała przy 2000 ogłoszeń. Jest to mozliwe?

W sumie konsultowałem to z kimś i polecił mi zrobienie czegoś takiego:
user image

Tam gdzie jest "kind_should_be_enum" powinien być enum z wartościami (Miasto,kategoria,podkategorie). Dzięki temu w zależnosci od ogłoszenia byłby tam dodawane różne datale, które bym sobie wyciagał je dzięki czemuś w stylu:

var cities = $_DB->query('Select `name` from `details` where `kind`="cities" and `event_id`='.$_GET['event_id'])
 

Czy jeżeli tabela details będzie miała 100 000 rekordów to będzie problem dla mysql'a? Czy wyszukiwarka się udławi? Szczególnie ze ma mieć wyszukiwanie zaawansowane...

A jeszcze dochodzi terminarz dla 365 dni w roku. Przewiduję opcje w stylu "Dostępny 365 w roku" lub "Tylko w weekendy", i te informacje w bazie nie powinny sprawiać problemu. Ale co jeżeli ktoś pozaznacza w terminarzu różne dni? Jak to mozna zgrabnie zapisać w bazie?
Mam nadzieję że nie będe musiał wpisywać godzin....

Troche dużo tych informacji, ale chciałbym to zrobić dobrze.
Dziękuje z góry za pomoc
Pozdrawiam

0

Weź się przesiądź na lepszą BD to po pierwsze.
Po drugie masz tutaj tylko jednego joina to jest ok.
Inna sprawa sprawdź czy Twój rekord / strona nie będzie zajmować więcej niż 8kb.

0

Jak to sprawdzić?
Co znaczy lepsza DB? CMS na którym opieram projekt (concrete5) jest na mysql. Czy dobrym posunięciem byłoby trzymanie połaczeń z dwoma bazami danych?

0
Stiffler napisał(a):

Jak to sprawdzić?
Co znaczy lepsza DB?

Jak to sprawdzić to zależy od Bazy Danych. Wątpię aby to jednak miało miejsce.
No ja uważam, że PostgreSQL, MsSQL, Oracle , Sybase są lepszymi bazami niż MySQL, ale jest dużo zwolenników MySql, którzy będą bronić tej bazy jak swojej kobiety.

0

Zastanawiam się jakimi limit jest dla takiej bazy danych. Kiedy powinienem się zacząć martwić przy takim portalu?
Co gdyby on stał się mega popularny i nagle byłby dodawana 100 ogłoszeń dziennie a listowane przez np. 1000 użytkowników dziennie...

0
Stiffler napisał(a):

Zastanawiam się jakimi limit jest dla takiej bazy danych. Kiedy powinienem się zacząć martwić przy takim portalu?
Co gdyby on stał się mega popularny i nagle byłby dodawana 100 ogłoszeń dziennie a listowane przez np. 1000 użytkowników dziennie...

Myślę, że 100 ogłoszeń to jest śmieszna liczba.

2

Pewnie nawet 10k użytkowników dziennie nie było by problemem dla takiej bazy. Zakładanie, że portal stanie się popularny zanim jeszcze w ogóle został uruchomiony spowoduje tylko, że będziesz próbował rozwiązywać problemy, które nie istnieją.

0
kadoel napisał(a):
Stiffler napisał(a):

Zastanawiam się jakimi limit jest dla takiej bazy danych. Kiedy powinienem się zacząć martwić przy takim portalu?
Co gdyby on stał się mega popularny i nagle byłby dodawana 100 ogłoszeń dziennie a listowane przez np. 1000 użytkowników dziennie...

Myślę, że 100 ogłoszeń to jest śmieszna liczba.

Wszystko zależy od struktury BD
Jesli mamy strukture w styl

A 1----N B 1 ----- N C 1 -----N D no to łatwo przemnożyć ile tego wyjdzie ...
Czasami trzeba zrezygnować z postaci normalnych.
Można kombinować.

0

Jestem cienki jak dupa węża bo nie kumam twojego wzoru :)

Aczkolwiek zastanawiam się ile operacji ma wykonać sam mysql a ile php... Czy te relacje miedzy nimi sa pisane w mysql czy je lacze php'em?

Tzn jezeli w ogloszeniach bede mial wypisane 15 miaste ktore zostana pobrane z innej tabeli w ktorej jest 300, to powinienem je jakos powiazac kluczem? O czyms takiem slyszalem...w sumie slyszalem o kluczu i indexie i domyslam sie tylko ze one tak moga dzialac

0
Stiffler napisał(a):

Jestem cienki jak dupa węża bo nie kumam twojego wzoru :)

Aczkolwiek zastanawiam się ile operacji ma wykonać sam mysql a ile php... Czy te relacje miedzy nimi sa pisane w mysql czy je lacze php'em?

Tzn jezeli w ogloszeniach bede mial wypisane 15 miaste ktore zostana pobrane z innej tabeli w ktorej jest 300, to powinienem je jakos powiazac kluczem? O czyms takiem slyszalem...w sumie slyszalem o kluczu i indexie i domyslam sie tylko ze one tak moga dzialac

Poćwicz :) Ćwiczenie czyni mistrza ,,,

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