Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ещё о файлах и базе.
 
 автор: Владимир55   (18.10.2008 в 22:43)   письмо автору
 
 

Сейчас мой сайт работает на файлах, без базы. Принцип такой – «одна запись – один файл». Поэтому файлы получаются очень маленькими, но их много. А структура сайта чем-то похожа на стандарт «общая шина» - все имена файлов и папок числовые и распределены по диапазонам, соответствующим их функциональному назначению. Каждому файлу страницы соответствует папка с числовым именем, совпадающим с именем файла, и в ней содержатся все скрипты, обслуживающие эту страницу (страница 35.htm – папка 35 с соответствующими скриптами и поддиректориями). Это позволяет сделать сайт на модульной структуре и упростить управление сайтом. В частности, если количество файлов в какой-либо директории превышает 10 тысяч, то скрипт-менеджер управления создает следующую папку и перенаправляет туда все последующие записи. Поэтому быстродействие сайта со временем не понижается, хотя количество файлов накапливается. А дискового пространства мне не жалко – 10 Гб куда девать?

Если же перейти к базе, то получается вот что.
На сайте сто тысяч страниц, и для каждой потребуется 4 таблицы с суммарным числом столбцов 27, в том числе два строковых, а всего 2.700.000 столбцов. Глубина просмотра на сайте в среднем 3.7, а посетителей в сутки 3000. Получается 11.000 записей в сутки, не считая фиксации посещений роботов. Через три месяца работы будет миллион записей в два с половиной миллионов столбцов.

Будет ли это работать?

  Ответить  
 
 автор: BinLaden   (18.10.2008 в 23:03)   письмо автору
 
   для: Владимир55   (18.10.2008 в 22:43)
 

> На сайте сто тысяч страниц, и для каждой потребуется 4 таблицы с суммарным числом столбцов

Структура, надо полагать, у всех 4-х таблиц разная?

> Будет ли это работать?

Миллион записей -- это не так уж и много. Но это для того случая, если Вы хотите доставать в дальнейшем данные за определенные дни. Например, вывести постранично записи за неделю, будет не напряжно -- до ~ ста тысяч записей выборка с сортировкой по проиндексированному полю происходит очень даже быстро. А если Вы хотите ворочить весь миллион за раз, то серверу будет тяжело.

> а всего 2.700.000 столбцов

Пять нуликов, наверное, стоит убрать. И точки тоже.

  Ответить  
 
 автор: Владимир55   (18.10.2008 в 23:08)   письмо автору
 
   для: BinLaden   (18.10.2008 в 23:03)
 

4 таблицы для каждой из ста тысяч страниц дадут как раз два миллиона 700 тысяч столбцов, поскольку в этих 4 таблицах суммарно 27 столбцов. 27х100000=

  Ответить  
 
 автор: BinLaden   (18.10.2008 в 23:14)   письмо автору
 
   для: Владимир55   (18.10.2008 в 23:08)
 

Вы представляете себе столбец таблицы? id, username, password - три столбца.

  Ответить  
 
 автор: Владимир55   (18.10.2008 в 23:31)   письмо автору
 
   для: BinLaden   (18.10.2008 в 23:14)
 

Вот о таких столбцах я и говорю. Вот их 27 на страницу (в четырех таблицах).

  Ответить  
 
 автор: BinLaden   (19.10.2008 в 00:06)   письмо автору
 
   для: Владимир55   (18.10.2008 в 23:31)
 

> Вот их 27 на страницу

Правильно. 27. Не 2700000, а 27. Столбец -- это вертикаль.

  Ответить  
 
 автор: Владимир55   (19.10.2008 в 00:44)   письмо автору
 
   для: BinLaden   (19.10.2008 в 00:06)
 

"Столбец -- это вертикаль."
Это совершенно очевидно.

Таблица 1-1 из четырех столбцов.
Таблица 1-2 из четырех столбцов.
Таблица 1-3 из восьми столбцов.
Таблица 1-4 из одиннадцати столбцов.
Всего 27 столбцов. Это для страницы 1.htm

Таблица 2-1 из четырех столбцов.
Таблица 2-2 из четырех столбцов.
Таблица 2-3 из восьми столбцов.
Таблица 2-4 из одиннадцати столбцов.
Ещё 27 столбцов. Это для страницы 2.htm

А таких страниц сто тысяч.

  Ответить  
 
 автор: BinLaden   (19.10.2008 в 01:54)   письмо автору
 
   для: Владимир55   (19.10.2008 в 00:44)
 

Вы что, собираетесь под каждую страницу заводить 4 отдельных таблицы в БД?.. Скорее всего Вы сможете обойтись одной таблицей вместо ста тысяч. Пардон. Четырехста тысяч...

  Ответить  
 
 автор: cheops   (18.10.2008 в 23:47)   письмо автору
 
   для: Владимир55   (18.10.2008 в 23:08)
 

Ммм... имеются в виду строки или именно столбцы?

  Ответить  
 
 автор: Владимир55   (18.10.2008 в 23:57)   письмо автору
 
   для: cheops   (18.10.2008 в 23:47)
 

Я имею в виду столбцы, это их столько получается.

А строк в сутки записывается примерно десять тысяч.

  Ответить  
 
 автор: cheops   (19.10.2008 в 02:34)   письмо автору
 
   для: Владимир55   (18.10.2008 в 23:57)
 

Если такая прорва столбцов - лучше нормализовать базу данных и ввести ещё одну таблицу.

  Ответить  
 
 автор: cheops   (18.10.2008 в 23:44)   письмо автору
 
   для: Владимир55   (18.10.2008 в 22:43)
 

Вы про учет посещаемости говорите или про размещение информации на сайте?

  Ответить  
 
 автор: Владимир55   (18.10.2008 в 23:58)   письмо автору
 
   для: cheops   (18.10.2008 в 23:44)
 

Размещение информации сайта здесь занимает совсем немного места. Основное - это учет посещаемости.

  Ответить  
 
 автор: cheops   (19.10.2008 в 02:36)   письмо автору
 
   для: Владимир55   (18.10.2008 в 23:58)
 

Подробная информация я так понимаю нужна лишь за несколько дней - потом её можно сжать в суточные и месячные таблицы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования