[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Большая база MySQL
kasichvadim
Здравствуйте! Собираюсь сделать рефератный сайт. Рефератов там будет порядка 30К. Реферат можно будет посмотреть на сайте, и скачать себе. Так вот... как мне хранить текст реферата? Записывать в базу MySQL? Так при таком раскладе база у меня получится очень большая (далеко за 1Гб, а может и 2). Это очень критично? У меня просто еще не было опыта работы с такими большими базами.

Второй вариант. У меня все рефераты в файлах *.doc в zip-архивах. Может текст вытягивать прямо с этого файла? Но так может быть нагрузка на сервер еще больше. Ведь для этого нужно разархивировать файл, потом считать его. А если народу на сайте будет много...

Вобщем каким образом мне поступить? Как лучше всего будет для сервера?



Спустя 40 минут, 21 секунда (1.11.2009 - 11:37) stepan написал(а):
Я бы сделал вот как
Все файлы и архивы хранил на хосте, но названия файлов было бы id поля из базы данных.
В базе данных хранил бы название файла и краткую инфу про что данный реферат.
И получается человек заходит на сайт видит название, может прочитать краткое описание на этот реферат и если человеку надо он качает его, а по id вытягивать нужный тебе документ.
Так я думаю будет наиболее разумно.

Спустя 8 часов, 30 минут, 45 секунд (1.11.2009 - 20:08) kirik написал(а):
Угу, stepan дело говорит. Хотя если хочется чтобы онлайн тоже можно было читать, то тогда я бы хранил отдельно в doc файле и отдельно текст в БД. Тоесть получается избыточно, зато быстро smile.gif

Спустя 1 час, 57 минут, 1 секунда (1.11.2009 - 22:05) FatCat написал(а):
Цитата (kirik @ 1.11.2009 - 21:08)
и отдельно текст в БД

Делал рассчет для другой ситуации, но тут много схожего, поэтому процитирую
Цитата
- без тормозов с онлайном в 500+ юзеров на форуме + грубо говоря столько же на сайте (скорее всего джумла или битрикс, пока не ясно точно)
[8<===]
Celeron 2.40ГГц, 512Мб RAM

Я не большой спец по серверам, но попробую посчитать в пределах моих познаний. Беру самое узкое место: запросы к БД.
У меня сейчас в среднем 25 юзеров одновременно на форуме: вечером до 50, ночью 3-5, днем 20-30. Примерно столько же гостей и поисковых ботов. Это дает до 3 000 000 просмотров страниц в месяц: в среднем 800 хитов в минуту, пик 2 500 хитов в минуту по серверной статистике. Умножаю на 15 (среднее число sql-запросов на генерацию 1 страницы), получаю 12 000 запросов в минуту в среднем, 62 500 запросов в минуту пиковой нагрузки.

У Вас планируется примерно в 40 раз больше. Умножаю мои цифры на 40.
480 000 запросов в минуту при средней нагрузке, и под полтора миллиона запросов в минуту при пиковой нагрузке.
Наверное не надо объяснять, что миллион обращений в минуту не выдержит ни один жесткий диск? Значит, ВСЯ БАЗА ДАННЫХ должна быть загружена в оперативную память, и сколько-то еще памяти надо оставить апачу, пхп и прочим сервисам...

По отзывам друга, держащего форум в тазике у себя дома, а посещаемость у него под 800 одновременных - у него отлично справляется целерон 1.7, а вот память приходится постоянно наращивать, причем для гиговой базы, как ни странно, требуется даже больше двух гигов оперативы...


Если посещаемость у Вас будет полтора посетителя в час - нет проблем, валите текст в БД.
Если рассчитываете на реальную посещаемость, храните ТОЛЬКО в файлах или копите деньги на дорогой хостинг.

Спустя 2 дня, 21 час, 25 минут, 9 секунд (4.11.2009 - 19:30) Dron19 написал(а):
БД от текста сильно не страдает, тем более чтобы бд БЫЛА С РАЗМЕРОМ ДО 1ГБ biggrin.gif это сказки, если конечно каждый Ваш реферат весит не более 64кб, если в пределах 50кб, то используйте поле MEDIUMTEXT

Спустя 1 минута, 4 секунды (4.11.2009 - 19:31) Dron19 написал(а):
Хотя конечно на скорость даже это значительно повлияет
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.