1. http://www.site.ru - сам автокаталог (15 таблиц)
2. firms.site.ru - каталог фирм (салоны, сервисы, мойки и тд) (7 таблиц)
3. parts.site.ru - каталог запчастей (12 таблиц)
4. top.site.ru - рейтинг автосайтов (5 таблиц)
5. news.site.ru - автоновости (15 таблиц)
6. forum.site.ru - форум автомобилистов (ну а это ipb-форум, около 50 таблиц)
Как видите, 1 главный домен (автокаталог) и 5 поддоменов 3 уровня.
Вся эта байда у меня хранится в 1 базе, общее число таблиц ~100.
Есть маза раздобыть кругленькую сумму на раскрутку. Планирую года через 3 иметь не менее 50.000 уникальных посетителей в сутки. Сервак естественно, буду выделенный покупать. FreeBSD+NgInx+Apache+MySQL, все дела.
Основная нагрузка на mysql однозначно будет из-за постоянной долбёжки поиска. Ну, куча народу будут долбить поиск для поиска тачки, запчасти и тд.
И вот думаю как лучше сделать? Может для каждого поддоменя (форум, запчасти, новости) сделать отдельную базу данных? Но тогда проблема - авторизацию я хочу общую сделать для всех поддоменов. Типа, если чел зарегался в автокаталоге, то те же логин и пасс будут подходить и к форуму, и к запчастям и тд. Но базы-то разные будут! А если все 100 таблиц в 1 держать (как сейчас) - то проблем с общей вторизацией нет. Но вот боюсь мускул ляжет моментально...
Благодарен за любой адекватный совет!
PS: Ораклы и им подобные не предлагать - у меня уже всё под мускул заточено ;
Спустя 6 минут, 18 секунд (14.03.2010 - 03:19) Nikitian написал(а):
Количество таблиц погоды не делает.
Боитесь, что ляжет - оптимизируйте запросы, структуру таблиц. Когда упрётесь в предел, то репликация отодвинет момент истины до тех пор, пока не закончатся деньги на доп оборудование (на примере фейсбука видно, что такого не бывает
)
а по поводу долбёжки поиска - оптимизируйте юзабилити с учётом того, чтобы люди не долбили поиск. пример - автору: большинство поиском не пользуются, потому что легко выйти на интересующие предложения кликами мышки. Хотя автору - это ужас юзабилити в целом.
Боитесь, что ляжет - оптимизируйте запросы, структуру таблиц. Когда упрётесь в предел, то репликация отодвинет момент истины до тех пор, пока не закончатся деньги на доп оборудование (на примере фейсбука видно, что такого не бывает

а по поводу долбёжки поиска - оптимизируйте юзабилити с учётом того, чтобы люди не долбили поиск. пример - автору: большинство поиском не пользуются, потому что легко выйти на интересующие предложения кликами мышки. Хотя автору - это ужас юзабилити в целом.
Спустя 6 минут, 45 секунд (14.03.2010 - 03:26) Guest написал(а):
Ну спасибо - вроде успокоили. И типа когда дойдёт время до репликации - мне в BD ничего переделывать ненадо будет? В самой структуре? Это уже чисто настройка mysql будет?
Спустя 5 минут, 55 секунд (14.03.2010 - 03:32) Nikitian написал(а):
Да, репликация - это головная боль админа 
Главное, делайте нагрузочное тестирование, чтобы на рабочем сайте переделывать структуру не пришлось.
Сайт покажите? В разработке нечто подобное, правда до релиза как до луны

Главное, делайте нагрузочное тестирование, чтобы на рабочем сайте переделывать структуру не пришлось.
Сайт покажите? В разработке нечто подобное, правда до релиза как до луны

Спустя 2 минуты, 17 секунд (14.03.2010 - 03:34) Guest написал(а):
ну яж сказал - не запустил пока. админку доделываю - 1 июня надеюсь заработает в полном объёме.
Спустя 18 минут, 6 секунд (14.03.2010 - 03:52) kirik написал(а):
Про долбежку поиска - кэшируйте результаты в память (мемкэш) минут на 10-15 тогда со сложными поисковыми запросами проблем будет меньше.
Спустя 5 минут, 32 секунды (14.03.2010 - 03:58) Nikitian написал(а):
Цитата (kirik @ 14.03.2010 - 00:52) |
Про долбежку поиска - кэшируйте результаты в память (мемкэш) минут на 10-15 тогда со сложными поисковыми запросами проблем будет меньше. |
В контексте подбора авто неактуально, т.к. множество параметров и вероятность дублирования запросов очень мала.
Спустя 6 часов, 41 минута, 14 секунд (14.03.2010 - 10:39) sergeiss написал(а):
Цитата (Гость_Александр @ 14.03.2010 - 04:13) |
А если все 100 таблиц в 1 держать (как сейчас) - то проблем с общей вторизацией нет. Но вот боюсь мускул ляжет моментально... |
Тут вопрос, я думаю, не в количестве таблиц в одной базе, а в их объеме. При относительно небольшом объеме таблиц и правильной оптимизации запросов выполняться запросы будут быстро, несильно нагружая сервак.
По моему опыту работы с очень большими БД и "тяжелыми" запросами, надо ориентироваться на один параметр, которому я название (одним словом) подобрать не могу

Оценить его просто: (1) запрос выполняется некоторое время; (2) юзеры с какой-то частотой делают запросы. На основании этих данных можно вычислить, сколько запросов одновременно выполняются в системе. И вот чем больше одновременных запросов, тем больше нагружается система. Что может привести к большим тормозам.
Так что попробуй посмотреть на проблему с этой стороны. И ответь (хотя бы просто сам себе) - какого объема таблицы у тебя будут.
Спустя 7 минут, 1 секунда (14.03.2010 - 10:46) Семён написал(а):
Я бы лучше сразу сделал распределённую нагрузку между базами.
А если так подумать... то даже не представляю как запускать крупный проект на купленном хостинге... Только свой сервак... Купить площадку в ДатаЦентре, настроить свой сервачок и пущай работает.
А если так подумать... то даже не представляю как запускать крупный проект на купленном хостинге... Только свой сервак... Купить площадку в ДатаЦентре, настроить свой сервачок и пущай работает.
Спустя 2 часа, 30 минут, 41 секунда (14.03.2010 - 13:17) Гость_Александр написал(а):
Ну естественно я буду отдельный сервант покупать. Ну спасибо всем за советы!!!
Спустя 31 минута, 24 секунды (14.03.2010 - 13:48) Игорь_Vasinsky написал(а):
Скорее сайт будет вызывать нагрузку на сервер, потом посетители увидят сообщения от не хватке памяти, если хостинг бесплатный - его выключат, а тебе не скажут.
Так было, когда я всего лишь скрипт подробной статистики - типа mail.ru установил.
Так было, когда я всего лишь скрипт подробной статистики - типа mail.ru установил.
Спустя 2 минуты, 44 секунды (14.03.2010 - 13:51) Игорь_Vasinsky написал(а):
Если есть поиск - нужно оптимизировать таблицы, нужное добавить в индекс, чтоб сократить объём данных по которым осуществляется поиск, тем самым сократить время.
100 таблиц..... целый сервак выкупать нужно.
100 таблиц..... целый сервак выкупать нужно.
Спустя 18 минут, 20 секунд (14.03.2010 - 14:09) Nikitian написал(а):
Для полнотекстового поиска надо использовать специализированные инструменты. Всегда советую Sphinx. Для поиска по параметрам - индексы. И все запросы гонять через explain.