TPS база данных через облако
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4664
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 8 раз
- Поблагодарили: 37 раз
TPS база данных через облако
В вебе работает иначе. Там каждый запрос на сервер отрабатывается отдельно, постоянное соединение не держится. Sqlite блокирует одновременный доступ только при операции записи, которых обычно не очень много и выполняются они доли секунды. А одновременно читать, когда никто не пишет, можно. То есть передача контента с сервера выполняется гораздо дольше, чем операция чтения и записи в sqlite файл.
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 5006
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
TPS база данных через облако
Наверно имеется ввиду, что оба варианта не годятся для работы с большими массивами данных и количеством пользователей больше, чем несколько. Согласен, что очень похоже.Игорь Столяров писал(а): ↑22 Февраль 2021, 12:28Ну не согласный я ! Всё-таки TPS заточен под многопользовательский доступ, а SQLite нет.
Даже если в одной программе открыть несколько окон со списком к одной таблице SQLite - уже проблемы.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
TPS база данных через облако
Безусловно под каждую задачу - свой инструмент ...
Но много ли реализовано на Clarion софта, в котором одновременно с БД работают более 20 пользователей ?
Именно реально работают, создавая ощутимую нагрузку на SQL сервер, а не приконнектились ?
У нас есть инсталляции, которые работают в пике с 20-30 юзерами, но БД уже конечно Btrieve (Actian Database).
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4664
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 8 раз
- Поблагодарили: 37 раз
TPS база данных через облако
20-30 конкурентных пользователей с tps на терминальном сервере вообще без проблем. Для себя я держу в уме до 50. Причем, на скромных "серверах" по нынешним меркам. Больше мы уже упремся в размер базы данных. Точнее, базу тоже можно по разному проектировать, но сложные проекты будет не очень удобно вести, если партицировать большие таблицы на несколько физических файлов. За мою практику только один клиент всплыл, где ограничения tps по размеру файлов базы данных сказались. Эта база сейчас на Btrieve (Actian Database), приложение тоже самое, что и для tps (без отдельной сборки). Общий размер базы без логов около 30ГБ. На tps в пределах 10ГБ, больше не бывало.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
TPS база данных через облако
У нас лет 10-12 назад была беда ... Сделали программу с хранением картинки товара в BLOB поле TPS.
Конечно прикрутили нормализацию, подрезку и конвертацию картинки в PNG перед сохранением ... всё по людски.
Но это не спасло. Юзеры как-то быстро насобачились забрасывать картинки через загрузку прайса из XLSX
и понеслись массовые вылеты БД по превышению 2 GByte. Пришлось всё это разгребать ...
Конечно прикрутили нормализацию, подрезку и конвертацию картинки в PNG перед сохранением ... всё по людски.
Но это не спасло. Юзеры как-то быстро насобачились забрасывать картинки через загрузку прайса из XLSX
и понеслись массовые вылеты БД по превышению 2 GByte. Пришлось всё это разгребать ...
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4664
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 8 раз
- Поблагодарили: 37 раз
TPS база данных через облако
Зачем хранить картинки в blob при файловой базе? Достаточно каталога. А имена файлов, например, по коду или идентификатору записи, к которой она относится.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4664
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 8 раз
- Поблагодарили: 37 раз
TPS база данных через облако
Причем, можно так хранить и несколько связанных картинок. Например, у нас используют сканы сертификатов на товары, состоящие из нескольких частей. Имена файлов <код товара>_<номер>.jpg.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
TPS база данных через облако
Потому как хотелось, что бы всё было в одном месте (файле), типа целостность БД и т.д.
Кто там в этой папке картинок роется и что делает - одному Windows известно.
SQL ведь хранит BLOB внутри файла ? Вот и мы хранить хотели, но уже передумали.
Кто там в этой папке картинок роется и что делает - одному Windows известно.
SQL ведь хранит BLOB внутри файла ? Вот и мы хранить хотели, но уже передумали.
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4664
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 8 раз
- Поблагодарили: 37 раз
TPS база данных через облако
Доступ к каталогу можно ограничить правами. Можно и совсем запретить просмотр его содержимого, а доступ только из программы по известным именам файлов. Я так закрываю доступ к каталогу с базой данных. Еще лайхак, в каталоге базы, который закрыт от просмотра, можно сделать секретный подкаталог, известный программе. И физические файлы базы располагать в нем. Смысл в том, чтобы никто не полез напрямую в файл, узнав его название, в обход программы.
C6/C11, ШВС, tps/btrieve.
-
- ✯ Ветеран ✯
- Сообщения: 5006
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
TPS база данных через облако
Через терминалку - это костыль. И всё время надо базу лечить, ключи восстанавливать. А так - максимум 5.
У нас 200 одновременно (фактически полный рабочий день). И то только потому что лицензий купили столько. Реально до 500 догнать.Игорь Столяров писал(а): ↑22 Февраль 2021, 19:29 Но много ли реализовано на Clarion софта, в котором одновременно с БД работают более 20 пользователей ?
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
TPS база данных через облако
Блин ! Второй раз за день почувствовал, что ни тем занимаюсь ...
За теми кто отстал - не возвращаться. (С) Кодекс
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 4664
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 8 раз
- Поблагодарили: 37 раз
TPS база данных через облако
Ну, с такими взглядами и sql сервер ещё больший костыль, чем терминальный. Ничего на терминальном сервере с tps не ломается, не надо придумывать. Точнее, может сломаться, если вырубить питание сервера в неподходящий момент. Скуль в таком случае тоже поломается, а восстановить может оказаться гораздо сложнее по понятным причинам. У нас у клиентов с 10-30 конкурентными пользователями годами работает с нулевыми проблемами.kreator писал(а): ↑23 Февраль 2021, 13:13Через терминалку - это костыль. И всё время надо базу лечить, ключи восстанавливать. А так - максимум 5.У нас 200 одновременно (фактически полный рабочий день). И то только потому что лицензий купили столько. Реально до 500 догнать.Игорь Столяров писал(а): ↑22 Февраль 2021, 19:29 Но много ли реализовано на Clarion софта, в котором одновременно с БД работают более 20 пользователей ?
По количеству пользователей все зависит от функционала приложения и активности деятельности. У меня одно время в системе электронных заказов в вебе с sqlite работало порядка 300 пользователей. Это совсем ни о чем не говорит.
Реалии таковы, что на современной технической базе в подавляющем большинстве случаев данные можно хранить так, как считает для себя удобнее разработчик. Я помню, как когда-то в клалисте некоторые товарищи писали, ну нафига вам tps, приложение вырастет, придётся переписывать под sql. Практика показала, что это не так. Ещё Баррингтон обозначал, что tps для небольших баз данных, а для крупных btrieve. У меня одно и тоже приложение работает и с tps, и с btrieve. Без всяких отдельных сборок, перекомпиляций и т.п. При этом подходы и архитектура идентичны и не требуют компромиссов. А у btrieve ограничение только на одну таблицу 256гб. Точнее, сейчас уже 64тб, но напрямую из клариона через драйвер с такими таблицами работать не получится. Есть обходные пути, но это больше теоретический вопрос.
C6/C11, ШВС, tps/btrieve.
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1378
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 7 раз
- Поблагодарили: 1 раз
- Контактная информация:
TPS база данных через облако
Файлы tps это просто золотое дно. Если бы они не падали, мой доход был бы меньше )
И я сейчас не о своем продукте, который перевели на SQL еще 15 лет назад
И я сейчас не о своем продукте, который перевели на SQL еще 15 лет назад
- Игорь Столяров
- Ветеран движения
- Сообщения: 7419
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 50 раз
TPS база данных через облако
А мы встроили в программы операции восстановления TPS файлов и забыли про их проблемы ...
(по сути - настраиваемый из командной строки запуск TpsFix.exe + Build())
(по сути - настраиваемый из командной строки запуск TpsFix.exe + Build())
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 5006
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 21 раз
TPS база данных через облако
+100500.
Если только у одного человека нет проблем, то что-то тут не так.
По поводу SQLite. Специфическое использование и конечно же не в сетевом варианте. Некоторые функции реализованы даже хуже, чем в tps.
We are hard at work… for you.