Задавайте вопросы, мы ответим
Вы не зашли.
хочу использовать базу как ключ значение. есть например поля id, data
я хочу сохранить в поле data сжатую строку json, чтобы сократить размеры базы, но и не понизить производительность чтения. сжатие будет происходить на фронтенде а в базе будет храниться только сжатый результат, подскажите какой лучше использовать тип данных для этого поля VARBINARY или BLOB и его размер или просто не заморачиваться и хранить данные так?
размер записи думаю будет до 500кб не в жатом виде
выдержит ли MySQL если эта таблица будет постоянно обновлять?
предполагаемый размер базы около 1ТБ движек innodb
_______________________________________________________________
сделал сохранение сжатых строк в mediumblob
CREATE TABLE IF NOT EXISTS `topics` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`slug` varchar(255) NOT NULL,
`hash` binary(16) NOT NULL,
`data` mediumblob NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `hash` (`hash`),
KEY `slug` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
справится ли мускл с частым обновление такой таблицы и не разрастется ли она до нереальных размеров?
Отредактированно maxjoin (30.05.2013 01:31:00)
Неактивен
Вставлю свои 5 копеек, возможно не совсем по теме... 1 терабайт для часто обновляемых данных - это достаточно много на мой взгляд. Не поверю, что часто обновляемые данные будут составлять хотя бы 20% этой таблицы. В таком случае я бы предложил разбить таблицу на две: для часто обновляемых и редко обновляемых, если конечно же есть возможность заранее спрогнозировать какие ключи будут использоваться чаще.
Неактивен