Mysql или mongodb
953 сообщения
#3 года назад
Приветствую. Помогите определиться с выбором бд для сервиса аналитики. Особых требований к структуре данных нет, будет известный набор полей, типо клики, визиты, стоимость, заявки и тп. То есть данные нормально лягут и на таблицу sql и на документы nosql. Склоняюсь к mongo, так как backend будет на node.js. Остается вопрос в надежности и скорости обновления (update), например пиксель на сайте будет считать посетителей и обновлять поле. Полей может быть несколько тысяч, обновляться могут раз в секунду и чаще. Вменяемой информации по скорости не нашлось. Про надежность все топят за mysql но я так и не понял нюансов. Проверял скорость сам, таким кодом. в монго значение 4999 достигло примерно за 30 сек. в mysql за 1 минуту. Ну и вопрос также в надежности, в некоторых источниках пишут, что из mysql потерять данные невозможно, а из mongo запросто, только не пишут почему.const db = require('./db');
const sdb = require('./sqldb');
let i = 0;
setInterval(function () {
i++;
if (i >= 5000) {
return;
}
db.updateMany('users', {uId: 33}, {$set: { login: i }});
sdb('UPDATE users SET login=' + i + ' WHERE uId=33');
}, 1);
11416 сообщений
#3 года назад
Когда идет одновременно много данных в базу, то таблицы блокируются и все будет висеть.Нужно смотреть в эту сторону и выбирать решение, которое будет минимизировать блокировку таблиц.
У нас было очень много проблем с этим в свое время, но потом перешли на InnoDB и стало более менее нормально работать.
953 сообщения
#3 года назад
Hungry_Hunter, я выбрал InnoDB но вот все равно так долго получается
3318 сообщений
#3 года назад
Тоже плюсую за постгресс, а насчет скорости - немалое значение имеет конфиг, Вы пытаетесь взвесить разные системы с непонятными конфигами, даже в одном и том же мускуле на разных версиях и с разными оптимизациями будут разные показатели. Не говоря уже о железе, батарейках с кешами, настройками записи на райтбек, технологиями рам сторадж или ускорителей в виде ссд типа фузион драйв и прочих железных штуках.Если с железом можно постепенно апгрейдиться или просто перебирать впс сервера разных хостеров, то с системой лучше определиться заранее, потом будет нереально сложно с наращенным функционалом куда то пересаживаться.
953 сообщения
#3 года назад
regado, можете в нескольких словах объяснить, чем postgresql лучше mongodb и mysql? информация везде очень расплывчата. интересует в первую очередь скорость записи и изменения, ну и чтоб запись имела больший приоритет, скорость чтения не так важна, чтение можно остановить, когда пошли запросы на запись
3318 сообщений
#3 года назад
Я могу быть некомпетентен с ответом, но выражу свой опыт так: когда парсили и анализировали на составляющие десятки тысяч сайт с различными факторами оптимизации по 8-10 штук на каждый урл, то с мускул становилось сложнее работать. У меня сложилось впечатление, что большие данные это не мускул, это уж если на то пошло MSSQL. Ведь незря 1с базы работают на mssql. Более красиво и полно описано в этой статье, зачем далеко ходить: ссылка
953 сообщения
#3 года назад
regado, написано не плохо. к сожалению postgres сложен в установке и настройке. провозился пол дня, а итог - никаких баз данных серверов, и создать ничего не возможно. посоветуйте вменяемый мануал, как установить это дело на vps.
Приложения:
953 сообщения
#3 года назад
regado, установить удалось, но предстоит еще разбираться. mysql и mongo прозрачней и проще. может по этому они популярнее
Приложения:
953 сообщения
#3 года назад
Спасибо всем за советы. Postgresql судя по моим тестам реально летает, в отличие от mysql и mongodb.
3318 сообщений
#3 года назад
lufter, рад слышать, надеюсь это может являться неплохой такой причиной изучить его поближе )
953 сообщения
#3 года назад
regado, ага, уже решил, буду проект на ней делать. Несколько дней ковырялся, смотрел типы, пробовал запросы через nodejs. Всё нравится, есть нужные фишки, типо массивы которые можно пушить прям за один запрос, а не как в мускуле танцы с json, ну и прелести реляционки, которых нет в монге. Возможно postgresql вытеснит для меня mysql, там где будет выбор конечно.
18 сообщений
#3 года назад
lufter, ну так что там, хэппи-енд или нет?