Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Приветствую. Пишу POS-систему. Для кассовых терминалов есть требование автономности - т.е. чтоб работало при пропадании инета. Думаю, что проще и удобнее всего будет держать на кассе локальную копию данных (цены, остатки, номенклатура), синхронизируемую с основным сервером учетной системы. На каждой точке продажи предполагаю локальный сервер, к которому в режиме клиента будут коннектиться остальные кассы. Всё это - на NodeJS/Electron. SQLite всем хорош, но очень не хотелось бы словить грабли, если потребуется многопоточная работа с базой (несколько инстансов сервера). Хочется чего-то легковесного, шустрого и встраиваемого. И желательно чтобы умело в индексный полнотекстовый поиск и поиск по сложным структурам (типа JSON/массивов). Что посоветуете? Спасибо.
2 май 21, 16:41    [22317541]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Откуда в POS-терминале возьмутся несколько экземпляров сервера?

Posted via ActualForum NNTP Server 1.5

2 май 21, 18:42    [22317567]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Dimitry Sibiryakov, планирую так, что одна из машин на точке будет сервером. При этом сама POS-программа может работать в режиме клиента, сервера, или клиента и сервера. По сути задача сервера - отдавать кассе цены и остатки, и синхронизироваться с основным сервером. Всё было бы проще, если бы не требование автономности. Пока всё же смотрю на SQLite, но может есть варианты получше.
2 май 21, 19:33    [22317588]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Требование у тебя, похоже, не автономности, а высокой доступности. То есть касса должна
работать даже если что-то идёт не так. Отсюда единая точка отказа в виде сервера - плохая
идея. Я бы на твоём месте пересмотрел архитектуру.

Posted via ActualForum NNTP Server 1.5

2 май 21, 22:04    [22317633]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Dimitry Sibiryakov, сервером на точке является любая касса, и в случае отказа "серверной" кассы в нее мигом превращается любая другая.
3 май 21, 08:41    [22317713]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Dimitry Sibiryakov, если делать вообще serverless, чтоб каждая касса автономная - то начинается адский гемор с остатками.
3 май 21, 08:48    [22317715]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Остатки - не забота кассы. Это для центрального сервера, куда кассы отправляют продажи по
возможности.

Posted via ActualForum NNTP Server 1.5

3 май 21, 12:51    [22317750]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4652
Dimitry Sibiryakov
Остатки - не забота кассы. Это для центрального сервера, куда кассы отправляют продажи по
возможности.
Остатки и на точке обслуживания обязательно нужны, в реальном времени, чтобы запретить продажу в минус.
Не понятно только, какое это отношение имеет к кассе, к тому, "главная" она или нет - остатки же на весь магазин, и потому ясно, что и база должна быть общей для всех касс магазина.
3 май 21, 13:12    [22317761]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

YuRock
Остатки и на точке обслуживания обязательно нужны, в реальном времени, чтобы запретить
продажу в минус.

Если я приду к кассе с товаром в руке, а мне откажутся его продать, потому что касса
думает, что его остаток ушёл в минус - я буду очень недоволен.

Posted via ActualForum NNTP Server 1.5

3 май 21, 13:27    [22317772]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4652
Dimitry Sibiryakov
YuRock
Остатки и на точке обслуживания обязательно нужны, в реальном времени, чтобы запретить
продажу в минус.

Если я приду к кассе с товаром в руке, а мне откажутся его продать, потому что касса
думает, что его остаток ушёл в минус - я буду очень недоволен.
Понимаю.
Но иначе получается каша в базе, ведь кассиры любят задвигать левый товар, и ошибаются.
У меня пару десятков сетей розничной торговли, мелких и больших (точки все мелкие - 1-4 кассы), где продают товары. Эта настройка включена у всех без исключения.
3 май 21, 13:39    [22317778]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Остатки на кассе нужны, как минимум - для контроля. А ставить на точках полноценные СУБД не хотелось бы - оверхед. С пятью таблицами прекрасно справится и нода с какой-нибудь локальной СУБД. Вот и интересуюсь, может есть что поинтереснее SQLite
3 май 21, 13:42    [22317781]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4652
Дринкинс
ставить на точках полноценные СУБД не хотелось бы - оверхед.
Значит, остается только страдать.
Вначале - от отсутствия готовых средств субд.
Затем - при переделывании системы таки с использованием субд (если будет еще актуально, тут вопрос).
3 май 21, 13:47    [22317784]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
YuRock, чего такого нет в SQLite, без чего не получится обрабатывать пяток несложных таблиц? От кассы сверхспособностей не требуется, сверхспособности будут на бэкофисе.
3 май 21, 13:50    [22317786]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4652
Дринкинс
YuRock, чего такого нет в SQLite, без чего не получится обрабатывать пяток несложных таблиц? От кассы сверхспособностей не требуется, сверхспособности будут на бэкофисе.
В нем нет ХП. Без них я не представляю, как можно работать с базой товаров в магазине. Хоть посчитать тот же доступный остаток. Можно, конечно, заменить вызов ХП на вызов десятков запросов, но я лично такое даже не рассматриваю. Тем более, что база обязана быть общей для всех касс.
Если ты думаешь, что задача кассы - добавить на экран из справочника несколько товаров и нажать Чек - то ты можешь быть огорчен в будущем.
3 май 21, 13:58    [22317790]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
YuRock, от практики использования ХП я уже давно ушел. Не нужны они, если так подумать.
3 май 21, 14:03    [22317792]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4652
Дринкинс
YuRock, от практики использования ХП я уже давно ушел. Не нужны они, если так подумать.
ок.
3 май 21, 14:05    [22317793]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Можно, конечно, на каждой точке постгрес фигануть, но ИМХО - это оверхед, как для 5 таблиц, которые всё равно генерируются сервером. И в случае падения этой "серверной" кассы перевести роль на другую гораздо сложнее. А тут элементарно, даже в автоматическом режиме: новая "серверная" касса просто запрашивает с основного сервера все нужные данные - и всё.
3 май 21, 14:10    [22317797]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
miksoft
Member

Откуда:
Сообщений: 38826
Дринкинс
Для кассовых терминалов есть требование автономности - т.е. чтоб работало при пропадании инета.
Именно инета? Падение LAN не инетресует?
Дринкинс
И желательно чтобы умело в индексный полнотекстовый поиск и поиск по сложным структурам (типа JSON/массивов).
А зачем нам весь этот тюнинг в зоопарке? (с) анекдот
Кассе более чем хватит самых обычных табличек.

В MySQL есть JSON. Но есть ли там все, что вам хочется - не знаю.
https://dev.mysql.com/doc/refman/8.0/en/json.html
https://dev.mysql.com/doc/refman/8.0/en/json-functions.html
3 май 21, 14:16    [22317801]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Дринкинс
новая "серверная" касса просто запрашивает с основного сервера все нужные данные

И тут мы возвращаемся к первому посту: основной сервер недоступен, а работать-то надо.

Posted via ActualForum NNTP Server 1.5

3 май 21, 14:18    [22317804]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Нет, LAN не интересует. Если уж LAN упал - то полный ахтунг, пишите свет, тушите письма. А тюнинг - так, для бОльшего удобства.
3 май 21, 14:19    [22317805]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Dimitry Sibiryakov, думаю ситуация, когда недоступен основной сервер, и намертво падает "серверная" касса - будут достаточно редки.
3 май 21, 14:21    [22317807]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Накрайняк можно держать еще и резервную серверную кассу.
3 май 21, 14:22    [22317808]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
miksoft
Member

Откуда:
Сообщений: 38826
Дринкинс
Если уж LAN упал - то полный ахтунг, пишите свет, тушите письма.
Ну не знаю. Я когда-то работал в рознице, у нас все кассы были полностью автономные, хоть и не очень часто, но пригождалось.
3 май 21, 14:23    [22317810]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Дринкинс
Member

Откуда:
Сообщений: 59
Думаю 5 минут, требующиеся для замены свитча, раз в 10 лет как-то переживут
3 май 21, 14:26    [22317814]     Ответить | Цитировать Сообщить модератору
 Re: Embedded СУБД для NodeJS  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394

Чувак, ты точно программируешь для реальных магазинов, а не курсовик? Если первое -
перестань пока не поздно. Всерьёз думаешь, что пяти минут хватит для замены свича в
мухосранском филиале, где всего персонала - менеджер, две кассирши попроще и охранник?..

Posted via ActualForum NNTP Server 1.5

3 май 21, 14:36    [22317819]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить