Здравствуйте, Smooky, Вы писали:
S>Всем привет!
S>У нас в одном проекте товарищ написал на С++ свой data storage. Работает быстро, но глючно. Решил я тут попробовать на MySQL базу заюзать, честно говоря не ожидал, совсем не в восторге.
Это ожидаемое поведение. Могу предолжить несколько вариантов:
Сделать таблицу:
id int,
msisdn varchar (11),
starttime datetime,
xdr blob(1024);
primary key (msisdn, id)
и тип InnoDB
Партиционировать ее по дате например, и уже в приложении делать разбиение
на даты (заодно даже параллелить и растащить по машинам можно).
Встроенное партиционирование не рекомендую.
S>Предполагается хранить примерно около ~200 000 000 записей. Частая операция INSERT, UPDATE вообще не будет, DELETE не часто. S>Что не так? В чём проблема? С удовольствием принимаю все советы и рекомендации.
Индекс не влез в память. Или запрос не правильный и full scan. Что explain говорит?
Теперь оффтоп: про Hbase. В моем тесте было
24Гб машинка
2 sata
210млн записей по 300 байт.
Данные: 300тыс случайных ключей из 210млн (считайте случайных msisdn)
Hbase (6Гб процесс бд занимал): 250rps/30-70ms (250 запросов в секунду с задержкой 30-70ms на выбрку, аналогичную
select * from some_tabkle where msisdn = <key> order by date desc limit 100 (тут не важно, т.к. в hbase данные всегда рядом лежат,
но пусть будет 100)