Иван, Не сходится видимо потому, что где-то поле меняется а транзакция отваливается из-за, например, deadlock но я пока не могу отследить где это происходит в приложении или на уровне базы.
Иван, несмотря на то, что все операции интсерятся внутри транзакции, такое поле есть, но баланс там частенько не сходится с реальностью.
Есть еще предположение сделать структуру таблицы Opening / Closing balance - т.е считать закрытие банковского дня и сохранять баланс так, а все сегодняшние операции производить с рачетом "сумма закрытия дня" минус все операции после.
Или я невнимантельно читал или везде партации создаются вместе с созданием таблицы? Т.е на существуюющую навесить нельзя?
А как добавлять партации? Например, я хочу разбить на части по client_id от 0 до 1000 от 1001 до 2000 от 2001 до 3000 и так далее, скажем до 100 000 клиента, а через год-два будет у меня клиент 100 001 и что потом? Или делать партации по ID по хэшу и указывать толоько количество частей?
Собственно в amount записывается общая сумма операции, а в principal_bought сумма траты в системе, principal_sold сумма заработка в системе (специфика приложения).
Чтобы посчитать баланс клиента нужно сделать SELECT SUM(principal_sold+principal_bought) FROM table WHERE client_id=1
Клиентов в системе десятки тысяч, количество операций с каждым днем растет, а общий баланс считается за весьб период.
Идея - разделить таблицу на партации по диапазону клиентов чтобы ускорить подсчет баланса клиента.
Tyranron: да, наерное вы правы, мне для начала нужно разобраться как это работает вообще, с учетом настроек, проксирования и прочего, поиграться, поставив что-то вроде lamp в контейнер и так далее. Буду пробовать, хочется понять, как это мне все поможет и поможет ли в будущем разрабатывать и деплоить быстрее \ проще.
Сергей Соколов: Согласен, пока так и делаю, просто хочется понять докер, разобраться с ним и понять в итоге нужен ли он мне в разработке или скорее нет. Я пока не нашел примеров удобного использования. Да, все пишут и говорят про удобство при CI, при тестировании, но пока сам процесс в голове у меня не укладывается.
Спасибо за пример! Становится много понятнее! В Вашем файле, при поднятии контейнера будет создана директория db в текущей директории (откуда запускается docker-compose) и в ней уже будут все время хранится данные БД, независимо от того, запущен контейнер или нет. При создании нового контейнреа я могу прописывать этот же путь и он тоже будет использовать эту же базу, верно?
Хочу поэтапно изучать докер, сначала, запустив на нем базы
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.