Структура БД для блогов

beejuice

Новичок
Структура БД для блогов

Посоветуйте, пожалуйста, что-нибудь почитать про разработку структуры БД для блогов или форумов.

Нужно писать блог, который будет хорошо работать на средней нагрузке (от 100 до 1000 запросов в минуту). Может кто сталкивался с подобной задачей и может посоветовать как лучше организовать БД.

Работа ведется на PHP+MySQL
 

beejuice

Новичок
> а объем базы какой предполагается?

Растущий. Как я могу на старте точно прогнозировать размер БД. Думаю что через какое-то время размер будет исчисляться гигабайтами.

Движок должен надежно работать с БД очень большого размера.
 

beejuice

Новичок
> это ерунда. у меня в чате при 30 челах бывает до 5 тыс запросов в минуту. + он висит пока ещё на виртуальном хосте. (переезжаю щас на VPS)

У вас в чате я думаю таблица с сообщениями строк на 100? А теперь представте как себя будет вести ваш чат, если будет 1 000 000 записей при том же кол-ве обращений?
 

Апокалипсис

тех дир matras.ru
у вас в блоге будет миллион записей ? сомневаюсь:)
У вас в чате я думаю таблица с сообщениями строк на 100?
ну в среднем да - но есть 1 таблица в ней бывает и 500 000 строк. (архив фраз бота).
 

Alexandre

PHPПенсионер
имеется ввиду те таблицы, по которым будет осуществлен скан.
если мы ожидаем 1000 запросов в секунду, пусть читающих,
пусть в среднем стр. генерит 5-10 запросов, то в среднем должно сидеть на сайте одновременно человек 200. Пусть из них пишут только 5ть...
это прогнозируемый размер увеличения БД:
постов в секунду - пусть - 1
в минуту - 60
час 3600
база-то будет о-го-го...

блин... осмотрелся, подумал в секунду - а там 1000 в минуту,
это действительно не так много.
 

simpex

Новичок
по теме, меня например мучает вопрос как хранить переключатели
т.е. набор значений в поле

полем enum со значениями a,b,c,d
или int(1) и соответствующими числами 0, 1,2,3, ...9
 

nail

Новичок
> Посоветуйте, пожалуйста, что-нибудь почитать про разработку ... который будет хорошо работать на средней нагрузке

performance coding soup to nuts pdf
 

Alexandre

PHPПенсионер
Посоветуйте, пожалуйста, что-нибудь почитать про разработку структуры БД для блогов или форумов
см. структуру таблиц phpBB или LJ
исходники открыты ( LJ - перл, но для структуры БД это по барабану )

-~{}~ 19.03.08 19:14:

полем enum со значениями a,b,c,d
или int(1) и соответствующими числами 0, 1,2,3, ...9
храни enum.
 

Gas

может по одной?
существенный минус enum'а (при количестве записей от нескольких M) - при добавлении новое значение поля, нужно делать alter table что не лучшим способом скажется на доступности ресурса какое-то время :)
Но это так, просто keep in mind, юзай enum.
 

vonica

Новичок
я очень часто прибегаю к двуричной системе исчисления, изврат не спорю, но зато экономнее (в лпане дискового пространства занимаемое БД) не придумаешь

Иногда банальная сериализация (этот вариант намного проще)

А вот enum это что-то не из мира сего, пользы практической вообще не наблюдал
 

Gas

может по одной?
польза - когда ты копаешься в кишках базы, а там не безымянные 1,2,3, а более friendly значения, чтоб понять которые не нужно лезть в код.
Но постгрес долгое время без enum обходился, возможно его там и добавили только чтоб упростить миграцию с mysql.
 

vonica

Новичок
Gas
Согласен, но это случается крайне редко

недостаток alter (выше упомянутый)

все таки справочники если уже и хранить то в отдельных таблицах
 
Сверху