Выбираю драйвер для хранения приличных объемов данных (данные аналитики). Прочитал про кассандру, очень понравилось быстродействие, CQL, и идея развертывания одной базы данных на нескольких физ. серверах. Но не уверен в объеме данных для которого рассчитана Cassandra, нужна ли мне она или обойтись MySQL? Я знаю что дискорд где то на хабре упоминал кассандру. Собственно от туда про неё и узнал, ну и про форк ScyllaDB который оказался быстрее родителя... Если кто то юзает кассандру, поделитесь опытом, с какими проблемами сталкивались, какой объем данных вы храните? Расскажите про ваш опыт общения с кассандрой, чем она по вашему превосходит/уступает MySQL?
тут нужно плясать от типа данных которые хотите хранить.... в сторону ClickHouse не смотрели? приличные объемы - это сколько?
Ну по беглой оценке, каждый демон-процесс это более 1к*100 строк разных данных, разных типов, в осн. - int, varchar, float. Как минимум демон может обращаться к базе каждые 5 минут, кол-во демонов = кол-во клиентов (плюс/минус). Поэтому хочется избавить себя от медленных запросов в будущем. Базы у клиентов весят в среднем по 300-600 мегабайт (бывают и больше). Мы знаем, что в сутках 1440 минут, значит, за сутки мы максимум 288 раз обратимся к базе одного клиента и получим 1к*100*288 = ~29 000 000 строк за сутки) Представим у нас 10 клиентов, значит мы выгружаем в сутки уже 290 млн записей... И в любой момент времени, пока эти данные хранятся у нас, мы должны молниеносно выдавать их в виде результата (строить из них графики, дашборды, таблицы и пр.). Мне почему то кажется что я ошибся в расчетах...
сколько обращений к базе в сутки вообще не показатель... в секунду, минуту - это ладно ..... а сколько строк выбирает за сутки - это вообще ни о чем для скорости - может вообще смотреть на NoSQL базы? .... пока неясно все равно какого характера данные
СРМ, система аналитики. Данные - это пользователи, их статистика, их действия (и др. связи в различных таблицах - группы, друзья, подарки и много много всякого). Большая часть - INT, на втором месте наверное float, на третьем varchar. Насчет NoSQL, как то не хочется, всю жизнь с MySQL проработал, не интересовался даже. ADDED Данные хранятся у клиентов, на их лайв-площадках. Нужно собрать большой массив данных (одновременно в несколько демонов, с нескольких баз под разными дровами, с разным пингом / латенси - но это не к теме), поместить на наши сервера, чтобы потом с ними можно было удобно и быстро работать через control panel.
Если твои "базы" будут полностью в RAM и с нормальными индексами, то MySQL - ответ от 0.01с и быстрее. Устраивает?
Тогда считай не движок, а Диск - это основные тормоза. Для начала ориентир: Скорость упадёт, на дешёвых - в десятки раз, на крутых/дорогих - в разы. Устраивает?