SeiOkami / OneS

Предложения по улучшению платформы
49 stars 3 forks source link

Возможность работы с базой без сервера 1с-предприятия #58

Open fixinchik opened 3 years ago

fixinchik commented 3 years ago

Файловая база - это каменный век!

L0z4 commented 3 years ago

а можно подробнее смысл предложения?

fixinchik commented 3 years ago

Заменить файловую базу на SQL-сервер. Тогда в дешевом варианте будет SQL-сервер для хранения базы данных, а в дорогом - трезвенка (т.е. выполнение кода на сервере). в 2021 использовать файловую базу данных для коммерции - это издевательство над здравым смыслом. Любой хостинг предлагает MySQL за копейки.

L0z4 commented 3 years ago

я наверно сейчас напишу так будто меня 1с покусал, но зачем это? В 2021 году действительно файловая БД глупо и тупо, но 1С предлагает мини сервер, если нет денег на большой, и Fresh, раз уж мы говорим про облака. А упоминать в одном предложении MySQL и 1C так же странно. И ведь все еще есть возможность использовать полноценный сервер + PostgreSQL в определенных условиях дешево.

fixinchik commented 3 years ago

Я ж ответил, что в дешевом варианте SQL-сервер без сервера приложений вместо морально устаревшей файловой базы. А в среднем и дорогом- сервер 1С предприятия. А что вас смущает в MySQL? Про Postgree расскажите как.

marmyshev commented 3 years ago

А кто будет выполнять роль "сервера"? кто будет запросы к SQL обрабатывать? Это ведь как раз и делает "сервер приложений". Как вы предлагаете его исключить?

Тонкий клиент -> Сервер приложений (не важно в каком виде) -> SQL-база (не важно файловая или на SQL-сервере)

Даже при запуске в файловой базе есть свой "сервер приложений" упрощенный для файловой SQL-базы.

VolAll commented 3 years ago

Мне было бы достаточно Если для Автономного сервер включили поддержку БД SQL без покупки ключа сервера. почитать можно тут

fixinchik commented 3 years ago

А кто будет выполнять роль "сервера"? кто будет запросы к SQL обрабатывать? Это ведь как раз и делает "сервер приложений". Как вы предлагаете его исключить?

Тонкий клиент -> Сервер приложений (не важно в каком виде) -> SQL-база (не важно файловая или на SQL-сервере)

Даже при запуске в файловой базе есть свой "сервер приложений" упрощенный для файловой SQL-базы.

Простите, но в случае файловой базы нет никаких серверов приложений. Потому что база это тупо файл в сети. Нет никакого сервера, который запущен и взаимодействует с этой базой. Таблицы базы тупо гоняются по сети. Любой сложный запрос гоняет по сети все нужные таблицы и индексы.

При наличии SQL сервера он будет запущен рядом с базой данных и не будет гонять данные при запросах по сети, а будет выдавать только конечный результат запросов. Это по-поему должно быть понятно.

marmyshev commented 3 years ago

Простите,

За "незнание чего-либо" не нужно просить прощенья :)

но в случае файловой базы нет никаких серверов приложений. Потому что база это тупо файл в сети. Нет никакого сервера, который запущен и взаимодействует с этой базой.

Тут всё-же, советую по-изучать "мат-часть". В случае запуска тонкого клиента на файловой базе - сервер приложений стартует внутри того же процесса на клиентской машине. Вы в этом можете убедиться попытавшись подклчюиться к предметам отладки - там их будет 2 - клиент и сервер.

Например, вы ведь понимаете, что есть транслятор текста запроса в текст SQL запроса, открытие соединений с файлами, какие-то транзакции, блокировки и прочее - за это отвечает "сервер приложений". А обработка "фоновых заданий" - за это тоже отвечает сервер приложений, но их можно же выполнять в однопоточном режиме "сервера приложений" в файловой базе.

1С благодушно сделала вам подарок, и позволила стартовать сервер приложений внутри одного процесса с тонким клиентом для файловой базы, при этом стартуется еще "коннектор SQL" для dbf файлов (они же запакованы в 1Cv8.1cd) . Но если вы хотите этим же сервером приложений подключаться не к файловой базе - а к SQL серверу - то будьте добры купить лицензию на такой вариант - это бизнес, за что-то надо платить, иначе на какие деньги разрабатывать всё это добро?

Далее было предложение озвучено - сделать 1C:Enterprise Community Edition не для комерческого использования - в 1С обещали заняться этим вопросом.

fixinchik commented 3 years ago

Я не про сервер приложения писал. Я писал про то, чтобы выполнить сложный запрос с соединениями, 1С на рабочем месте должна перебрать по сети все данные из базы данных, т.е. прогнать их по сети. В случае с SQL сервером эти данные гоняются локально.

Вы этого не понимаете? Не понимаете, как локальный доступ к базе данных быстрее, чем сетевой?

marmyshev commented 3 years ago

Я что-то совсем не понял тогда исходное предложение. Перечитал всё ещё раз.

Откуда-то тут в предложении по улучшениям платформы появилась «сеть»?

Кто вам посоветовал файловую базу размещать в сети?

Я догадываюсь, что речь тут про то, что какие-то совсем не умные люди у клиентов внедрили решение, что вместо покупки «Лицензии на сервер 1С» или вместо покупки «лицензии на мини-сервер 1С» - тупо положили файловую базу в шару и обращаются к ней по сети?

Хм, на сколько некомпетентным надо было специалистом чтобы так делать!?))

Файловая база - нужна для:

  1. Для Разработки. Очень не правильно разрабатывать на таких базах которые не могут поместиться в файловую. Очень не правильно разрабатывать на реальной или на копии реальной базы от клиента/компании. Это всё очень дорого для разработчика
  2. Для компьютеров без доступа в сеть, для однопользовательский работы , для некритичных задач с внешним бэкапированием файловой базы

Для всего остального - надо покупать сервер/мини.

Что-то я не увидел причин морального устаревания «файлового движка». Увидел тупое и неправильное его использование в коммерческих решениях.

В файловых СУБД нет ничего «морально устаревшего». SQLite вот используется повсеместно, но тут никому и в голову не прийдет его заменять на SQL-сервер просто ради «устаревания» морального.

fixinchik commented 3 years ago

Вы что, с луны упали? Такое ощущение, что Вы не знаете, что очень много пользователей используют файловую базу для многопользовательской работы, потому что это дешево и не надо покупать мини-сервер. Порой даже более 5 человек. Не, ну вы серезно или прикалываетесь? Использовать сетевую файловую базу для многопользовательского доступа - это морально устаревшая тема. А она используется только из-за цены. Об этом спич. Если 1с хочет быть последовательной, она должна запретить многопользовательскую работу с файловым движком, тогда будет так, как вы утверждаете. А пока нет.

marmyshev commented 3 years ago

Я не знаю, но догадываюсь что много (сам так делал клиентам, и стыжусь этого).

Я лично, не считаю это правильным решением для клиентов (ставить файловую базу в многопользовательском режиме).

Но из-за "тупых программистов" или "некомпетентных партнеров" - вы предлагаете запретить/удалить файловый движок, мотивируя это "моральным устареванием", вместо него просите от Платформы то, что в платформе уже есть и никто не мешает вам, как компетентному специалисту, испольозвать на ваших внедрениях.

В чем суть вашего предложения? вам "запретить" движок или "разрешить" однопользовательский доступ в SQL-сервер? (многопользовательский доступ - уже такая фича есть).

В конце-концов, нормально опишите своё предложение, чего же вы хотите.

fixinchik commented 3 years ago

Ну сделайте еще одно интеллектуальное усилие и поймите, что пользователи покупают это не по техническим причинам, а по материальным. Сетевая файловая банально дешевле. Хватит тупить на эту тему.

Да, файловый движок не нужен. Это самоделка от 1С никуда не годна. Предлагаю вместо файлового движка использовать SQL-базу, в том числе и для однопользовательского режима. Тогда даже без сервера приложений это будет быстрее чем сетевой доступ к файлу базы. Что непонятного в моем предложении?