MySQL и размены базы на диске
От: VVVa  
Дата: 12.11.20 20:43
Оценка:
С каждым полем в таблице MySQL добавляет кучу служебных данных, да ещё и с выравниванием ...

1) не подскажите как хотя-бы примерно расчищать размеры данных на диске (даже при добавлении одинаковых строк размер изменяется нелинейно)?
2) Ка можно уменьшить размеры?
3) Может что-то полезное подскажите по этому поводу...?
Гуглил но нечего хорошего не нашёл... (было что-то про очистку -но у меня в основном только дополнение, сжатие тоже видел — но база активно пишется и читается...)
Отредактировано 12.11.2020 20:47 VVVa . Предыдущая версия .
Re: про оптимизацию
От: VVVa  
Дата: 12.11.20 22:44
Оценка:
пробовал оптимизировать

mysql> optimize table molnia.messages;
+-----------------+----------+----------+-------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------+----------+----------+-------------------------------------------------------------------+
| molnia.messages | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| molnia.messages | optimize | status | OK |
+-----------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (1 min 52.56 sec)


Из-за чего "Table does not support optimize, doing recreate + analyze instead"?
причём размер на диске увеличился...
Re: MySQL и размены базы на диске
От: wildwind Россия  
Дата: 13.11.20 07:24
Оценка:
Здравствуйте, VVVa, Вы писали:

VVV>2) Ка можно уменьшить размеры?


Общая цель какая? Сэкономить копейки на дисках?
Re[2]: MySQL и размены базы на диске
От: VVVa  
Дата: 13.11.20 14:08
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, VVVa, Вы писали:


VVV>>2) Ка можно уменьшить размеры?


W>Общая цель какая? Сэкономить копейки на дисках?


вобще-то да, там за 100Tb переваливает
Re[2]: про оптимизацию
От: Anton Batenev Россия https://github.com/abbat
Дата: 13.11.20 19:54
Оценка: 5 (1)
Здравствуйте, VVVa, Вы писали:

VVV> Из-за чего "Table does not support optimize, doing recreate + analyze instead"?


For InnoDB tables, OPTIMIZE TABLE is mapped to ALTER TABLE ... FORCE, which rebuilds the table to update index statistics and free unused space in the clustered index.


Но при выключенном old_alter_table он может использовать оптимизированную версию, которая может не дать тебе нужного эффекта. В этом случае имеет смысл дропнуть индексы, перелить данные во временную таблицу, создать индексы, переименовать таблицу обратно.

VVV> причём размер на диске увеличился...


innodb_file_per_table включен же? Дальше можно попробовать поиграть с размером страницы innodb_page_size и/или innodb_fill_factor.

Но размер в 100TB и вставка в середину индекса кажется делает всю эту затею не особо разумной.
Re[3]: про оптимизацию
От: VVVa  
Дата: 14.11.20 09:08
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Но размер в 100TB и вставка в середину индекса кажется делает всю эту затею не особо разумной.


!!! интересная ситуация!!!
у меня вставок не будет. Но что будет с производительностью в этом случае?
Re[3]: MySQL и размены базы на диске
От: wildwind Россия  
Дата: 14.11.20 11:03
Оценка:
Здравствуйте, VVVa, Вы писали:

VVV>вобще-то да, там за 100Tb переваливает


И все данные нужны? Или большая часть лежит "мертвым грузом" (в смысле обращаются раз в год или реже)?
Re[4]: про оптимизацию
От: Anton Batenev Россия https://github.com/abbat
Дата: 15.11.20 19:16
Оценка: 5 (1) +2
Здравствуйте, VVVa, Вы писали:

VVV> AB>Но размер в 100TB и вставка в середину индекса кажется делает всю эту затею не особо разумной.

VVV> у меня вставок не будет. Но что будет с производительностью в этом случае?

Если вставок не будет, то производительность в основном будет зависеть от того, какой процент горячих данных находится в памяти (innodb_buffer_pool_size). Но в общем случае это очень обширная тема (тем более для таких объемов).
Re[4]: MySQL и размены базы на диске
От: VVVa  
Дата: 15.11.20 19:23
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, VVVa, Вы писали:


VVV>>вобще-то да, там за 100Tb переваливает


W>И все данные нужны? Или большая часть лежит "мертвым грузом" (в смысле обращаются раз в год или реже)?


Да именно пару раз в год...
Но заказчик хочет чтобы при этом (в эти пару раз в год) данные были в MySQL или M$SQL
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.