Народ, появился вопрос.
Допустим делаю так:
нужно разделить табблицу блогов (записей блогов), на несколько кластеров
Например класер 1 - блоги 1-10, класер 2 - блоги с 11 по 20 (например, на праткике это будет сокрее 1-20к, 20к - 40к. в общем какой-то балланс сил будет)
На главном мастер-сервере бд таблица таког оплана6
1. blog_name (наример,phpclub.test.com)
2. cluster (например, 2)
3. blog_id
поле "кластер" отвечает за та, на каком сервере находятся данные блога.
Расекидывать блоги по этим класетар и так далее - вроде бы не проблема. Если честно то схема, которая рбаотает сейчас уже что-то подобное делает, правда раскидывает пока просто по разным базам (для теста). Но принцип тот же.
Проблема вот в чем - как по такой структуре, скажем, вывести список последних 20 записей?
(на практике тако банальщины не бдует, будет список самых популярных записей за сутки, например).
То етсь, при хранении всех данных в 1 таблице делал бы что-то вроде
select post_id, post_txt from BLOG_POSTS order by post_date DESC limit 20.
Но т.к. все данные хранятся на разных серверах (на разных БД) то такой банальщины не сделать.
Насколько я понял, партишенинг на LiveJournal именно такой.
То есть схема вполне нормальная. Но как делать подобные выборки из базы?
Буду очень благодарен за идеи.
Возможно. я чего-то не понял.
Такая же проблема с отображением, скажем, всех постов во всех блогах по тегу "РНР", или "Кино".
очень надеюсь на помощь
