Виталий Б.
943 сообщения
#1 месяц назад
Приветствую. Помогите определиться с выбором бд для сервиса аналитики. Особых требований к структуре данных нет, будет известный набор полей, типо клики, визиты, стоимость, заявки и тп. То есть данные нормально лягут и на таблицу 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);
Артем Л.
11290 сообщений
#1 месяц назад
Когда идет одновременно много данных в базу, то таблицы блокируются и все будет висеть.
Нужно смотреть в эту сторону и выбирать решение, которое будет минимизировать блокировку таблиц.
У нас было очень много проблем с этим в свое время, но потом перешли на InnoDB и стало более менее нормально работать.
Виталий Б.
943 сообщения
#1 месяц назад
Hungry_Hunter, я выбрал InnoDB но вот все равно так долго получается
Елена Б.
6862 сообщения
#1 месяц назад
Postgress + Timescale 
Александр Ф.
3103 сообщения
#1 месяц назад
Тоже плюсую за постгресс, а насчет скорости - немалое значение имеет конфиг, Вы пытаетесь взвесить разные системы с непонятными конфигами, даже в одном и том же мускуле на разных версиях и с разными оптимизациями будут разные показатели. Не говоря уже о железе, батарейках с кешами, настройками записи на райтбек, технологиями рам сторадж или ускорителей в виде ссд типа фузион драйв и прочих железных штуках.
Если с железом можно постепенно апгрейдиться или просто перебирать впс сервера разных хостеров, то с системой лучше определиться заранее, потом будет нереально сложно с наращенным функционалом куда то пересаживаться.
Виталий Б.
943 сообщения
#1 месяц назад
regado, можете в нескольких словах объяснить, чем postgresql лучше mongodb и mysql? информация везде очень расплывчата. интересует в первую очередь скорость записи и изменения, ну и чтоб запись имела больший приоритет, скорость чтения не так важна, чтение можно остановить, когда пошли запросы на запись
Александр Ф.
3103 сообщения
#1 месяц назад
Я могу быть некомпетентен с ответом, но выражу свой опыт так: когда парсили и анализировали на составляющие десятки тысяч сайт с различными факторами оптимизации по 8-10 штук на каждый урл, то с мускул становилось сложнее работать. У меня сложилось впечатление, что большие данные это не мускул, это уж если на то пошло MSSQL. Ведь незря 1с базы работают на mssql.

Более красиво и полно описано в этой статье, зачем далеко ходить: https://zen.yandex.ru/media/mcs/postgresql-ili-mysql-kakaia-iz-etih-reliacionnyh-subd-luchshe-vpishetsia-v-vash-proekt-5eb1b95d260ca90dc398742a
Виталий Б.
943 сообщения
#1 месяц назад
regado, написано не плохо. к сожалению postgres сложен в установке и настройке. провозился пол дня, а итог - никаких баз данных серверов, и создать ничего не возможно. посоветуйте вменяемый мануал, как установить это дело на vps.
Приложения:
  • 343 КБ
Виталий Б.
943 сообщения
#1 месяц назад
regado, установить удалось, но предстоит еще разбираться. mysql и mongo прозрачней и проще. может по этому они популярнее
Приложения:
  • 284 КБ
Виталий Б.
943 сообщения
#1 месяц назад
Спасибо всем за советы. Postgresql судя по моим тестам реально летает, в отличие от mysql и mongodb.
Александр Ф.
3103 сообщения
#1 месяц назад
lufter, рад слышать, надеюсь это может являться неплохой такой причиной изучить его поближе )
Виталий Б.
943 сообщения
#29 дней назад
regado, ага, уже решил, буду проект на ней делать. Несколько дней ковырялся, смотрел типы, пробовал запросы через nodejs. Всё нравится, есть нужные фишки, типо массивы которые можно пушить прям за один запрос, а не как в мускуле танцы с json, ну и прелести реляционки, которых нет в монге. Возможно postgresql вытеснит для меня mysql, там где будет выбор конечно.
Томи Т.
18 сообщений
#20 дней назад
lufter, ну так что там, хэппи-енд или нет?