TPS база данных через облако

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

У вас tps падает при работе в файл-сервером режиме, то есть по сети. Я пишу про терминальный сервер, то есть локальную работу. В файл-серверном режиме у нас никто не работает, просто смысла нет. Разницу между локальной и сетевой работой объяснять не надо, надеюсь. Или все таки до сих пор кто-то не понимает?

Сравнивать терминальный и sql сервера задача неблагодарная, все зависит от задач. Если у меня 30 пользователей, то выгоднее запускать и поддерживать приложение на одном компьютере, чем на 30. Потом, на моё восприятие, это не очень хорошо делать бизнес логику на скриптовом языке, тем более, зарубаться на неявные планы выполнения запросов за пределами приложения и вне его контроля. Опять таки, у кого-то могут быть другие взгляды, это его личное мнение. У Критора очень простое по функционалу приложение, как он сам писал. Если попробует реализовать, к примеру, расчёт наценки методом фифо или определение оплаченных накладных с учётом возвратов, корректировок задним числом и прочих нюансов, критичных для бизнеса наших клиентов, то, возможно, задумается, что не все так просто и однозначно, как ему кажется.

Между sqlite и tps принципиальная разница в том, что sqlite на период записи блокирует работу всех других пользователей, и читателей, и писателей. Tps на период записи блокирует только других писателей, читатели не ждут. Параллельная работа читателей реализуется в обоих случаях. Если учесть, что запись выполняется достаточно быстро (к примеру, сотые доли секунды) , то можно прикинуть, сколько пользователей будет комфортно работать. Ещё надо учесть, что при работе с sqlite не обязательно все хранить в одном физическом файле (который блокируется при записи). Разумеется, речь про sqlite, а не про кларионовский драйвер, который делали в SV. Я не вижу смысла в его использовании, тем более, что там проблемы с кириллицей.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1164
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

TPS база данных через облако

Сообщение RaFaeL »

finsoftrz писал(а): 23 Февраль 2021, 19:27 У вас tps падает при работе в файл-сервером режиме, то есть по сети.
То что мне присылают на лечение, сплошь однопользовательское. Работают локально. Падает. И это ж не значит что падает каждый день. Пусть раз в год. Только это остановка бизнеса, лечить то некому
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Такое можно представить, если вырубают питание, когда данные на записались на диск с кэша винды. Иногда ещё антивирь может заблокировать файлы, но по моему, поломок это не вызывало. На серверах все таки попроще с этим, там хотя бы бесперебойнки стоят и люди вменяемые работают, если не выделенный.
Встройте автоматическое восстановление данных tpsfix, как Игорь предложил. У меня такое тоже есть на всякий случай, хотя практически не пользуются.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Вообще, если на компьютере помойка и за этим никто не следит, то тут ничто не спасёт, периодически будут проблемы. И диск накрыться может, и кулер на материнке сдохнуть, и вирусняк подхватить. Не думаю, что если поставите версию с mssql, проблем станет меньше, скорее наоборот.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

TPS база данных через облако

Сообщение kreator »

finsoftrz писал(а): 23 Февраль 2021, 19:27 У Критора очень простое по функционалу приложение, как он сам писал.
Где я такое писал? :shock:
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

TPS база данных через облако

Сообщение Игорь Столяров »

Многое зависит ещё и от техники программирования доступа к спискам БД, особенно если проект старый.
В Clarion есть неприятное место, что по умолчанию списки открываются с полным доступом (на запись) и
редко кто-то парится это настраивать. Хотя в 80% случаев вполне достаточно доступа только на чтение.
(и это ещё замедляет работу с БД)

Как следствие - если юзер создаёт большой отчёт, в котором задействовано несколько TPS списков и что-то
отваливается (компьютер, сеть и т.д.) - то велика вероятность разрушения файлов, так они открыты на запись ...
Нафига ? Молчит тайга. Мы перевели отчёты и расчётные операции в режим доступа к БД "только чтение" и
в разы сократили свои доходы от ремонта TPS файлов ... :)
«V» значит Вендетта !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Не замечал такого, что режим открытия файла как-то влияет на сбои. Если содержимое файла не меняется, то нет и записи на диск, откуда сбои? У меня все файлы открываются на чтение и запись, проблем не зафиксировано. Может речь снова про сетевую работу? ИМХО, про неё надо забыть в случае с tps. На крайняк, можно ip драйвер заюзать. У меня такая возможность встроена, хотя у реальных пользователей не используется. То есть, если подключение локальное или терминальное, то работаем напрямую с файлами, если сетевое, то через ip драйвер. Приложение одно и тоже, практически ничего менять не надо.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

TPS база данных через облако

Сообщение Игорь Столяров »

finsoftrz писал(а): 23 Февраль 2021, 21:05 Если содержимое файла не меняется, то нет и записи на диск
Тогда обратите внимание на то, что меняется дата/время изменения файлов.
Разница, как я понимаю, в организации буфера и способах доступа к файлу (см. WinAPI)
Мы просто всё доводим до какого-то финала и поэтому ведём статистику сбоев.

Так вот каково же было удивление, когда пользователь под пыткой с пристрастием, продолжал
утверждать, что только создавал отчёты (директор магазина - больше ничего делать не умеет).
И возник вопрос, как печать ценников может завалить БД при отключении питания компьютера ? ;)

Натурный эксперимент показал - что да, такое происходит. Проблему убрали лет 15 назад (см. ниже).
Последний раз редактировалось Игорь Столяров 23 Февраль 2021, 21:22, всего редактировалось 1 раз.
«V» значит Вендетта !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Открывают в режиме чтения и записи по простой причине. Если в одном потоке вызывается цепочка оконных процедур, то открытие и закрытие файлов происходит по счётчику. То есть если файл открыли только на чтение в первой процедуре потока, то он таким останется до закрытия потока. Если в вызываемой процедуре встретится попытка изменения, то будет ошибка. За этим сложно следить, поэтому не заморачиваются.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Игорь, как-то непонятно. Директор этого магазина открывал файлы по сети или локально? Какой характер сбоя был, что конкретно ломалось?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

TPS база данных через облако

Сообщение Игорь Столяров »

finsoftrz писал(а): 23 Февраль 2021, 21:21 поэтому не заморачиваются.
Вот именно ! :) И в отчётах, которые вообще открываются в отдельных потоках, тоже не заморачиваются. :)
Последний раз редактировалось Игорь Столяров 23 Февраль 2021, 21:31, всего редактировалось 1 раз.
«V» значит Вендетта !
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

TPS база данных через облако

Сообщение Игорь Столяров »

finsoftrz писал(а): 23 Февраль 2021, 21:23 Какой характер сбоя был, что конкретно ломалось?
Спасибо, что так хорошо думаете о моей памяти ... :) Ломались TPS файлы, там всегда одно и тоже (но причины разные).
см. рисунок. Доступ к БД конечно по сети, в многопользовательском режиме. Вегетарианского не держим-с ! :)

1.jpg
1.jpg (22.8 КБ) 555 просмотров
«V» значит Вендетта !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Кстати, я на терминальный серверах у основных клиентов держу запущенную копию приложения, в которой все файлы базы данных открыты в режиме чтения и записи. С одной стороны, это дополнительная защита от всяких вирусняков шифровальщиков, с другой стороны админская копия выполняет различные функции сервера. Полезная штука, проблем не возникало.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Ну, если по сети, то сам себе злобный Буратино. :-)
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

TPS база данных через облако

Сообщение finsoftrz »

Игорь Столяров писал(а): 23 Февраль 2021, 21:24
finsoftrz писал(а): 23 Февраль 2021, 21:21 поэтому не заморачиваются.
Вот именно ! :) И в отчётах, которые вообще открываются в отдельных потоках, тоже не заморачиваются. :)
У меня такого нет. Репорт структура для отчётов моветон. Неудобно, не функционально. Не любите своих пользователей. :-)
C6/C11, ШВС, tps/btrieve.
Ответить