Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как лучше сделать структуру высоконагруженной БД

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
grafillo
Отправлено: 22 Июля, 2014 - 10:06:20
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Вопрос такой как лучше организовать структуру БД к который идёт 1000 запросов в секунду, лучше сделать одну таблицу или несколько, логика подсказывает что лучше несколько так как скрипт будет обращаться к одной таблице по очереди то есть это будет очередь из 1000 запросов, а если три таблицы, то допустим это уже будет очередь в 300 запросов, правильно ли мне подсказывает логика?
 
 Top
Мелкий Супермодератор
Отправлено: 22 Июля, 2014 - 10:26:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Очередь из запросов одна - очередь взаимоблокировок транзакций. Если никто друг друга не блокирует - все запросы исполняются параллельно.
А дальше уже очереди ввода-вывода устройств, т.к. именно туда СУБД, как правило, и упираются.

Если планируете высоконагруженную систему - то шардируйте. Сделайте так, чтобы вы в любой момент могли размазать нагрузку по нескольким машинам.


-----
PostgreSQL DBA
 
 Top
grafillo
Отправлено: 22 Июля, 2014 - 10:29:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




Мелкий пишет:
Если планируете высоконагруженную систему - то шардируйте. Сделайте так, чтобы вы в любой момент могли размазать нагрузку по нескольким машинам.


что значит шардировать?
а если я буду в качестве сервера применять облачные технологии там как раз нагрузка на несколько компов идёт?
 
 Top
Мелкий Супермодератор
Отправлено: 22 Июля, 2014 - 10:54:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




grafillo пишет:
что значит шардировать?

Это значит, что рано вам лезть в проектирование архитектуры под высокие нагрузки.
Шардирование - горизонтальное масштабирование данных по кластеру.

Облачные технологии - лишь модное слово для технологий, известных уже не первое десятилетие - VPS. Если приложение не умеет масштабироваться на несколько машин, оно не сможет работать на нескольких машинах и никакая магия не поможет.
Читайте всё, что видите по слову highload. Не удивляйтесь в корне противоречивым данным, слово модное, пишут все кому не лень; читайте описания архитектур крупных проектов.


-----
PostgreSQL DBA
 
 Top
grafillo
Отправлено: 22 Июля, 2014 - 12:38:01
Post Id


Посетитель


Покинул форум
Сообщений всего: 280
Дата рег-ции: Апр. 2013  


Помог: 0 раз(а)




хорошо, понял спасибо х)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB