31.03.2014, 17:01
|
Start Post: Вопрос по PHP/MySQL: философия в highload приложениях
|
VM
Регистрация: 03.10.2013
Сообщений: 174
Бабло: $56020
|
Вопрос скорее к Chesser'у и прочим гуру.
Пишу крупную БД, подскажите как делать структуру.
К примеру возьмем теоритический форум на PHP/MySQL с 1 миллиардом юзеров.
Есть классическая таблица users
id | email | password
Вот вопрос например подписи пользователей хранить в таблице users или создавать отдельную таблицу user_signature?
user_id | signature
т.е. крупные БД можно увеличить в горизональном положении? или это очень плохо сказывается на производительности? какие проблемы возникают?
какие вообще минусы или разницы нет?
в данный момент я все данные юзера держу в одной таблице users, во тне знаю правильно ли делаю
__________
Сразу же второй вопрос: как highload проектах делается бэкап? и восстановление?
у меня пока план такой - я буду делать репликацию БД на несколько серверов
__________
Третий вопрос: Я по плану собираюсь для повышения производительности, при изменении/добавлении в БД использовать мастер сервер, при просто чтении данных (select) использовать сервера реплики - хороший план? какие минусы и какие особенности такой схемы?
так же я собираюсь на всякий случай делать в ручную полный бэкап на отдельный сервер
но вот предположим ситуацию что хакер на мастер сервере сделает команду удаления всей БД, в след за мастером очистятся все слейв сервера - как потом мне с другого сервера восстановить бэкап, например он будет весить 500 GB
__________
Четвертый вопрос: допустим БД будет очень огромная, 20 TB - как реализовать и использовать такую БД?
просто сервак взять не получиться, не хватит места. Нужно смотреть в сторону облачных решений? как на них организовать безопасную и быструю работу? можно будет тупо с главного сервера выполнять все запросы select, update... и все будет так же быстро ? бэкап в ручную просто в другое облако?
__________________
-
Последний раз редактировалось Mentos; 31.03.2014 в 17:11.
|
|
|