Цитата: MWWRuza ➤ Я думаю, так-же можно поступить и с таблицами внутри бвзы в одном файле, тогда не придется менять формат файлов обмена.
Отдельным процессом, под отдельным пользователем, программа ловит файлы выгрузки, и загружает в фоне, не мешая работать кассирам, во временные таблицы - копии рабочих внутри бд. Сколько она это делает - пофик, кассиры то работают в это время, и не важно, что этот процесс происходит не в беке а на кассе... Потом, по завершении процесса загрузки и подготовки этих временных таблиц, программа "ловит момент" между чеками, и меняет рабочие таблицы на проапдейченные временные. Я думаю, это тоже процесс нескольких(в крайнем случае - десятков) секунд.
Аа, "загрузка часами" - это действительно нонсенс...
Не совсем пофиг. Ведь цены меняются не только на кассе, еще ценники меняются, новые товары приезжают. Долго ждать, пока обновятся кассы, это плохо, в том числе и при работе кассиров в фоне.
Поэтому самое правильное решение, как я написал, физически разделить базу данных на кассе. Тогда никаких медленных insert/replace на кассах не надо по определению, обновление проходит мгновенно.
Почему в укм выбрали my sql, можно догадываться. Де факто, кассовый софт это однопользовательское приложение. Как раз недавно у нас в англоязычных группах активист из Сингапура писал про нечто подобное. Он в свою фирмочку пытается привлечь молодых программистов. Говорит, они владеют некоторым кейсом инструментов для разработки под веб, и ничего больше не знают. Спросил у них, а как же, если потребуется не веб, а приложение, работающее в локальной сети. Ему ответили, а фигня вопрос, поднимем в локальной сети свой веб сервер, мой скуль и будет все здорово. Возможно, в данном случае наблюдаются те же тенденции в результате изменений в кадровом составе разработчиков.