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

Clarion, Clarion 7

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

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

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

Сообщение finsoftrz »

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

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

Сообщение kreator »

Игорь Столяров писал(а): 22 Февраль 2021, 12:28
finsoftrz писал(а): 22 Февраль 2021, 12:01 В качестве базы данных можно использовать sqlite, работа будет похожа на работу с tps.
Ну не согласный я ! :) Всё-таки TPS заточен под многопользовательский доступ, а SQLite нет.
Даже если в одной программе открыть несколько окон со списком к одной таблице SQLite - уже проблемы. :(
Наверно имеется ввиду, что оба варианта не годятся для работы с большими массивами данных и количеством пользователей больше, чем несколько. Согласен, что очень похоже. :D
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

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

kreator писал(а): 22 Февраль 2021, 17:33 оба варианта не годятся для работы с большими массивами данных
Безусловно под каждую задачу - свой инструмент ...
Но много ли реализовано на Clarion софта, в котором одновременно с БД работают более 20 пользователей ? ;)
Именно реально работают, создавая ощутимую нагрузку на SQL сервер, а не приконнектились ?

У нас есть инсталляции, которые работают в пике с 20-30 юзерами, но БД уже конечно Btrieve (Actian Database).
«V» значит Вендетта !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz »

20-30 конкурентных пользователей с tps на терминальном сервере вообще без проблем. Для себя я держу в уме до 50. Причем, на скромных "серверах" по нынешним меркам. Больше мы уже упремся в размер базы данных. Точнее, базу тоже можно по разному проектировать, но сложные проекты будет не очень удобно вести, если партицировать большие таблицы на несколько физических файлов. За мою практику только один клиент всплыл, где ограничения tps по размеру файлов базы данных сказались. Эта база сейчас на Btrieve (Actian Database), приложение тоже самое, что и для tps (без отдельной сборки). Общий размер базы без логов около 30ГБ. На tps в пределах 10ГБ, больше не бывало.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

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

У нас лет 10-12 назад была беда ... Сделали программу с хранением картинки товара в BLOB поле TPS.
Конечно прикрутили нормализацию, подрезку и конвертацию картинки в PNG перед сохранением ... всё по людски.
Но это не спасло. Юзеры как-то быстро насобачились забрасывать картинки через загрузку прайса из XLSX
и понеслись массовые вылеты БД по превышению 2 GByte. Пришлось всё это разгребать ... :)
«V» значит Вендетта !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz »

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

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

Сообщение finsoftrz »

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

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

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

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

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

Сообщение finsoftrz »

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

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

Сообщение kreator »

finsoftrz писал(а): 22 Февраль 2021, 19:53 20-30 конкурентных пользователей с tps на терминальном сервере вообще без проблем. Для себя я держу в уме до 50.
Через терминалку - это костыль. И всё время надо базу лечить, ключи восстанавливать. А так - максимум 5.
Игорь Столяров писал(а): 22 Февраль 2021, 19:29 Но много ли реализовано на Clarion софта, в котором одновременно с БД работают более 20 пользователей ?
У нас 200 одновременно (фактически полный рабочий день). И то только потому что лицензий купили столько. Реально до 500 догнать.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

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

kreator писал(а): 23 Февраль 2021, 13:13 Реально до 500 догнать.
Блин ! Второй раз за день почувствовал, что ни тем занимаюсь ... :shock:
«V» значит Вендетта !
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2576
Зарегистрирован: 06 Ноябрь 2014, 12:48

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

Сообщение finsoftrz »

kreator писал(а): 23 Февраль 2021, 13:13
finsoftrz писал(а): 22 Февраль 2021, 19:53 20-30 конкурентных пользователей с tps на терминальном сервере вообще без проблем. Для себя я держу в уме до 50.
Через терминалку - это костыль. И всё время надо базу лечить, ключи восстанавливать. А так - максимум 5.
Игорь Столяров писал(а): 22 Февраль 2021, 19:29 Но много ли реализовано на Clarion софта, в котором одновременно с БД работают более 20 пользователей ?
У нас 200 одновременно (фактически полный рабочий день). И то только потому что лицензий купили столько. Реально до 500 догнать.
Ну, с такими взглядами и sql сервер ещё больший костыль, чем терминальный. Ничего на терминальном сервере с tps не ломается, не надо придумывать. Точнее, может сломаться, если вырубить питание сервера в неподходящий момент. Скуль в таком случае тоже поломается, а восстановить может оказаться гораздо сложнее по понятным причинам. У нас у клиентов с 10-30 конкурентными пользователями годами работает с нулевыми проблемами.

По количеству пользователей все зависит от функционала приложения и активности деятельности. У меня одно время в системе электронных заказов в вебе с sqlite работало порядка 300 пользователей. Это совсем ни о чем не говорит.

Реалии таковы, что на современной технической базе в подавляющем большинстве случаев данные можно хранить так, как считает для себя удобнее разработчик. Я помню, как когда-то в клалисте некоторые товарищи писали, ну нафига вам tps, приложение вырастет, придётся переписывать под sql. Практика показала, что это не так. Ещё Баррингтон обозначал, что tps для небольших баз данных, а для крупных btrieve. У меня одно и тоже приложение работает и с tps, и с btrieve. Без всяких отдельных сборок, перекомпиляций и т.п. При этом подходы и архитектура идентичны и не требуют компромиссов. А у btrieve ограничение только на одну таблицу 256гб. Точнее, сейчас уже 64тб, но напрямую из клариона через драйвер с такими таблицами работать не получится. Есть обходные пути, но это больше теоретический вопрос.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1164
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

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

Сообщение RaFaeL »

Файлы tps это просто золотое дно. Если бы они не падали, мой доход был бы меньше )
И я сейчас не о своем продукте, который перевели на SQL еще 15 лет назад
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 5243
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

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

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

А мы встроили в программы операции восстановления TPS файлов и забыли про их проблемы ... ;)
(по сути - настраиваемый из командной строки запуск TpsFix.exe + Build())
«V» значит Вендетта !
kreator
✯ Ветеран ✯
Сообщения: 4143
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

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

Сообщение kreator »

RaFaeL писал(а): 23 Февраль 2021, 17:57 Файлы tps это просто золотое дно. Если бы они не падали, мой доход был бы меньше )
И я сейчас не о своем продукте, который перевели на SQL еще 15 лет назад
+100500.
Если только у одного человека нет проблем, то что-то тут не так. :mrgreen:
По поводу SQLite. Специфическое использование и конечно же не в сетевом варианте. Некоторые функции реализованы даже хуже, чем в tps.
We are hard at work… for you. :)
Ответить