MySQL базы более 1000 ГБ (1 ТБ) – реально ли?

12
[Удален]
1638

Реально ли четырехядерному дедику, с 8 ГБ оперативной памяти, потянуть базу с таблицами MyISAM, содержащими более 25 миллионов записей и имеющем размер более 1000 ГБ?

Подразумевается, что в базу пишется контент одной CMS, сайт высокопосещаемый, более 200 тыс. посетителей в день.

Вопрос, реально ли существование такой базы и ее нормальная работоспособность, без падений и с адекватным временем обработки запроса.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

Это смотря какие запросы делать будете. Может и потянуть. В основном не гигабайты а кол-во строк в таблице напрягать будет.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
baas
На сайте с 17.09.2012
Offline
162
#2
BlackMesa:
Реально ли четырехядерному дедику, с 8 ГБ оперативной памяти, потянуть базу с таблицами MyISAM, содержащими более 25 миллионов записей и имеющем размер более 1000 ГБ?

Подразумевается, что в базу пишется контент одной CMS, сайт высокопосещаемый, более 200 тыс. посетителей в день.

Вопрос, реально ли существование такой базы и ее нормальная работоспособность, без падений и с адекватным временем обработки запроса.

Хмм, если имеете такую посещаемость, то и деньги для такого сервера про который вы спрашивается легко найдете!

Смотря что за транзакции выполняется и оптемизированы они?

Берите сервер и тестируйте!

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
MIRhosting.com
На сайте с 18.10.2006
Offline
203
#3

Если не оптимизировать конфиг, то все будет упираться в i/o. А на myisam особенно и не оптимизируешь. На втором месте CPU. Остальное вторично.

На innodb можно уже выкидывать в память, но эффективность зависит от деталей запросов. Если это магазин, то вобщем будет хороший результат даже при 8 гб, хотя по хорошему надо 32. Память сейчас стоит дешево, особенно на ddr4. Дешевле чем i/o.

Вывод - SSD (не забыв про отказоустойчивость) или/и innodb и память.

Андрей Нестеренко, MIRhosting Облачная платформа для DevOps (https://mirhosting.com/paas)
[Удален]
#4

Решил поставить эксперимент.

Беру внешний жесткий диск на 1 Тб, ставлю туда Денвер и CMS Wоrdpress.

После чего забиваю таблицу с контентом wp_posts рандомом до размера 1 Тб (1000 Gb).

И проверяю, работает ли она или нет и что со скоростью.

Кто-нибудь знает sql-запрос, которым можно вписать рандом в какую-то таблицу? Чтобы запустить его, а потом принудительно оборвать как достигнет определенный размер?

baas
На сайте с 17.09.2012
Offline
162
#5
BlackMesa:
Решил поставить эксперимент.

Беру внешний жесткий диск на 1 Тб, ставлю туда Денвер и CMS Wоrdpress.

После чего забиваю таблицу с контентом wp_posts рандомом до размера 1 Тб (1000 Gb).

И проверяю, работает ли она или нет и что со скоростью.

Кто-нибудь знает sql-запрос, которым можно вписать рандом в какую-то таблицу? Чтобы запустить его, а потом принудительно оборвать как достигнет определенный размер?

Такие действия лучше делать на резервном сервере.

Не жмотитесь!, возьмите сервер для тестов, настройте по нормальному. без всяких дэнверов!

Solmyr
На сайте с 10.09.2007
Offline
501
#6

25кк строк не так и много. Может и будет работать. Если там нету чего-то вроде поиска по полнотекстовому индексу....

kxk
На сайте с 30.01.2005
Offline
970
kxk
#7

BlackMesa, Внешний жёсткий вы упрётесь в линию USB 2/USB 3.

Вам или надо иметь жёсткий SATA express + мать с такими портами или USB 3.1 и жёсткий такой же, тогда тест будет честным.

По факту, такие базы раскидывают на облако, я ещё не видел проектов занимающих в mysql в основной базе 1 терабайт данных.

Как тут верно заметили всё упрёться в количество строк.

Ваш DEVOPS
Оптимизайка
На сайте с 11.03.2012
Offline
396
#8
Solmyr:
25кк строк не так и много. Может и будет работать. Если там нету чего-то вроде поиска по полнотекстовому индексу....

полнотекстовый поиск по 10M строк на MyISAM работал в одном проекте вполне нормально.

Solmyr
На сайте с 10.09.2007
Offline
501
#9
Оптимизайка:
полнотекстовый поиск по 10M строк на MyISAM работал в одном проекте вполне нормально.

В полнотекстовом поиске важно таки не сколько строк, а сколько гигабайт...

[Удален]
#10
kxk:
BlackMesa, Внешний жёсткий вы упрётесь в линию USB 2/USB 3.
Вам или надо иметь жёсткий SATA express + мать с такими портами или USB 3.1 и жёсткий такой же, тогда тест будет честным.

По факту, такие базы раскидывают на облако, я ещё не видел проектов занимающих в mysql в основной базе 1 терабайт данных.

Как тут верно заметили всё упрёться в количество строк.

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

полнотекстовый поиск по 10M строк на MyISAM работал в одном проекте вполне нормально.

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

А в том, что будет, если на сервере посещалка около 200к в день и они все обращаются к базе без кеширования. Т.е. каждое открытие страницы это минимум несколько запросов к таблицам сессий, пользователей, настроек, категорий и контента. И запрос к базе контента - это перебор несколько миллионов строк терабайтной таблицы.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий