- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте! Собираюсь сделать рефератный сайт. Рефератов там будет порядка 30К. Реферат можно будет посмотреть на сайте, и скачать себе. Так вот... как мне хранить текст реферата? Записывать в базу MySQL? Так при таком раскладе база у меня получится очень большая (далеко за 1Гб, а может и 2). Это очень критично? У меня просто еще не было опыта работы с такими большими базами.
Второй вариант. У меня все рефераты в файлах *.doc в zip-архивах. Может текст вытягивать прямо с этого файла? Но так может быть нагрузка на сервер еще больше. Ведь для этого нужно разархивировать файл, потом считать его. А если народу на сайте будет много...
Вобщем каким образом мне поступить? Как лучше всего будет для сервера?
"Кэшируй" разархивированные рефераты где-нибудь. Если надо где-то выводить "кусочек" реферата (для предпросмотра юзеру\индексации пс), то все "кусочки" придется заранее выделить и где-то хранить.
alibabaevich, в БД не зря есть поле "формат". Ставьте longtext, влезет 2 Гб
самый лучший вариант - это импортировать только тексты (слова не короче 4х символов без сохранения форматирования абзацев, таблиц и тп) в базу данных для того, чтобы дать возможность пользователям искать по рефератам + выводить 100-150 слов из реферата в качестве предпросмотра
дополнительно к этому необходимо хранить рефераты в готовых зип-архивах для скачивания пользователями.
получается дублирование информации, но, имхо, по-другому будет хуже.
alibabaevich, в БД не зря есть поле "формат". Ставьте longtext, влезет 2 Гб
А на производительность базы это никак не повлияет?
Я понимаю, что в базу может поместиться много информации, но вот с какой скоростью с нее будет производиться выборка, и какую нагрузку она будет давать на сервер...
Вобщем каким образом мне поступить? Как лучше всего будет для сервера?
Все тексты рефератов вынести в отдельную таблицу с двумя полями: id и text. Текст реферата лучше скомпрессировать. И никаких проблем с хранением данных и со скоростью у Вас не будет.
Текст реферата лучше скомпрессировать.
А с этотого момента поподробнее )))
Каким образом его компресировать? Сори, если ламерский вопрос :o
Я понимаю, что в базу может поместиться много информации, но вот с какой скоростью с нее будет производиться выборка, и какую нагрузку она будет давать на сервер...
Нагрузка определяется двумя основными параметрами: запись и чтение. Если информация расположена одним большим куском, то скорость чтения определяется скоростью считывания информации, то есть физическим носителем. Вообще, попробуйте сначала, потом зададите уточненный вопрос :)
А с этотого момента поподробнее )))
Каким образом его компресировать? Сори, если ламерский вопрос :o
Ну заливать в БД не текст, а содержимое архивного файла (zip, tar.gz, tar.bz2).
Считаю совет создать отдельную таблицу для текстов хорошим (ref_id, compressed_text),
но всё же рекомендую хранить тексты не в БД, а в отдельных файлах.
Пускай у вас всё будет в файлах ref_id.zip, а популярные дополнительно в ref_id.txt/doc.
Если нужен поиск по текстам - задача осложняется,
потребуется в БД всё-таки какую-то часть текста хранить.
А если поиск только по темам, предметам, названиям/описаниям - проблем не будет.
Ну заливать в БД не текст, а содержимое архивного файла (zip, tar.gz, tar.bz2).
Да. Или использовать команды MySQL compress/uncompress.
но всё же рекомендую хранить тексты не в БД, а в отдельных файлах.
Там будут возникать проблемы с синхронизацией бекапов с базой. Если её решить архитектурными методами, то хранение в отдельных файлах, бесспорно, предпочтительнее.
Нужно искать что-то среднее между вариант 1 и вариант 2. Только вы знаете, что будете выводить на сайте посетителям.
Обычно весь текст реферата не выводят, а только Оглавление, Описание, отзывы (это всё в базе хранят).
А сам реферат лежит себе файликом, который можно скачать. Либо получить на него ссылку за СМС ;)
p.s. я почему-то всегда против хранения объёмных медиа данных в базе мускула.