НовостиСобытияКонференцииФорумыIT@Work
Open Source:

Блог

Почему у 1С "такая" поддержка PostgreSQL?

Андрей Колесов
17.06.2011 18:32:16

Поначалу написал "плохая поддержка", но потом подумал: что значит плохая? Где грань между плохой и хорошей?
В прошлом посте "1C как индикатор российского рынка СПО" я написал про то, что 1С упорно не раскрывает процент использования СПО (Linux, Postgre) в реализуемых проектов и одно уже это говорит, скорее всего, о том, что цифры эти не очень велики. В результате, дискуссии были высканы такие мнения – почему оно так.


1. Потому что приверженцы СПО не хотят использовать 1С, поскольку это - "проприетарщина" (надо полагать, что следуя этому принципу, они просто не занимаются автоматизацией работы предприятий).
2. Потому что Postgre плохо поддерживается в 1С-продуктах
3. "1C просто плохо продаёт Linux-версию (интерес же есть к ней). Почему в 1С не заинтересованы в продаже Linux-версии своих продуктов, для меня осталось не ясно"

Пп 2 и 3 очень близки по смыслу.

Возможно, авторы правы. Но лишь возможно!. Плохо продается или плохо покупается? Где следствие и где причина?

А почему вообще 1С решила поддерживать СПО-платформу?

Представители СПО-сообщества, скорее всего, скажут "потому что они хотели расширить сегмент своего присутствия на рынке".
Моя версия ответа иная: да, наверное, мысль о расширении была. Но не это главное (в том плане, что использование СПО-базы реально не способствовало расширению бизнеса).
Мой ответ в другом: из-за
А) необходимости иметь мощный инструмент давления на Microsoft, как на партнера
Б) имиджевых соображений (Президент спрашивает: "А как у вас с поддержкой СПО?", Директор отвечает: "А как же! Конечно")

Т.е. на СПО в 1С деньги делать не собирались (хотя если будет получать – почему нет). Но наличие такое поддержки СПО (при этом качество уже не важно – главное, что есть) помогается делать деньги в других сферах.

Вот такой ответ.

Комментариев: 41

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

Лев
18.06.2011 22:56:29

Доброе время суток.

Разрешите поинтересоваться почему Вы считаете, что поддержка 1С PostgreSQL плохая? На основании каких данных или доводов Вы сделали такой вывод.

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

Но для того чтобы развернуто опровергать Ваше мнение, мне нужно узнать на основании чего (оно Ваше мнение основанно)

Вячеслав
19.06.2011 00:12:55

Лев, а вы считаете, что поддержка постгреса 1С полностью удовлетворяет потребности клиентов, в том числе корпоративных? Есть приемлемые гарантированные сроки реакции с выездом на место?

Антон
19.06.2011 09:14:22

Вячеслав, вы подразумеваете пользовательскую поддержку, а исходный пост был о поддерждке функционала конкретной СУБД, вшитой в платформу 1С.

Вячеслав
19.06.2011 12:30:54

Я ничего не подразумеваю, а говорю как есть по факту. А по факту - это конечный результат ДЛЯ БИЗНЕСА. Это технические специалисты (и то иногда smile:!: ) способны отделить проблемы функционала от проблем платформы, а бизнесу разбираться в этом не зачем, он платит ЗА РЕЗУЛЬТАТ. А в нашем случаи результат - это частое невнятное мычание IT-руководителя, у которого подчиненные отвечающие за одну часть переводят стрелы на других подчиненных, а те не менее убедительно обратно. Но все они не способны решить задачи, им требуется платная услуга того, кто проблему решит. И здесь самая большая засада - таких людей очень мало и они плохо известны потребителям.

19.06.2011 13:07:27

Я говорил о "поддержке" в целом, не различая на "пользовательскую" и "функциональную".
Согласен с Вячеславом - заказчик оценивает вопрос "поддержи" в комплексе.

Александр
19.06.2011 16:45:57

Давайте перефразируем ваши слова...

Вячеслав, а вы считаете, что поддержка MSSQL 1С полностью удовлетворяет потребности клиентов, в том числе корпоративных? Есть приемлемые гарантированные сроки реакции с выездом на место?

Лично фирма 1С никакой поддержки с выездом на место не предоставляет (ни для файловых, ни для MSSQL, ни для Postgresql инсталляций). Вся работа с конечным потребителем идет через партнеров (франчайзи). А тут все зависит от заключенного договора с конкретной компанией (не 1С). Пропишете в SLA внешней техподдержки время реагирования и будете его получать. Не устраивает внешняя техподдержка, заводите свою. Надеюсь не надо объяснять, зачем существует должность DBA и должность программиста знающего особенности работы с конкретной DB?

PS все клиенты 1С в контексте данного вопроса корпоративные. 1С:Деньги и иже с ними не в счет, так как файловые, а до тех пор, пока толстый клиент работает только под Windows ни о какой поддержке СПО в файловых речи не идет.

Вячеслав
21.06.2011 22:46:15

>Есть приемлемые гарантированные сроки реакции с выездом на место?
у вендоров IBM и Microsoft есть, за оракл не подпишусь, но тоже должна быть
я сам пользовался премьер поддержкой майкрософта, так что это не абстрактно

21.06.2011 20:47:46

Конечно, Вячеслав. 2-3 часа в пределах МКАД, 12 часов - Московкая область (в рабочее время). На особых условиях - в любое время суток. Среднее время решения проблемы (впрочем, этот параметр очень похож на среднюю температуру по больнице smile:D ) - 50 мин. Не все тах плохо в датском королевстве smile:)

19.06.2011 13:05:04

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

И вопрос мой исходный (в предыдущем посте по теме, это уже второй пост) заключался в другом - почему заказчики 1С не очень активно используют базовые средства СПО.
Я со своем стороны готов продолжить тему.

19.06.2011 07:16:57

> Разрешите поинтересоваться почему Вы считаете, что поддержка 1С PostgreSQL плохая? На основани каких данных или доводов Вы сделали такой вывод.

Боюсь, что в этом мнении повинен я. Но я говорил не о "плохой", а о "странной" поддержке. Насколько я помню для работы с 1С в Postgres специально добавили блокировки уровня таблиц, что в итоге вылилось во взамные блокировки тормозящие одновременную работу в многопользовательском режиме.

Возможно с тех пор, многое изменилось, хотя победных реляций и положительных отзывов я не слышал. Но я действительно был бы рад ошибится.

Было бы очень интересно ,и думаю не только мне, узнать ваше мнение о текущей ситуации.

Лев
19.06.2011 23:24:21

Давайте разбираться по порядку:

Хочу повториться, что я не считаю, что поддержка PostgreSQL компанией 1С хуже остальных СУБД. Постараюсь аргументированно в этом Вас убедить smile:)

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

1) По проблеме блокировок.

С уже довольно продолжительного времени компания 1С включила механизм управляемых блокировок. Большинство выпускаемых конфигураций (если не все) идут по-умолчанию в включенным механизмом. Да, действительно, для самописных конфигураций требуется некоторая доработка кода для корректной работы, но доля таких изменений незначительна.
Подробнее про управляемые блокировки можно почитать тут.

2) По вопросу поддержки PostgreSQL в целом, в том числе и поддержке корп. решений.

Не хочу говорить фразами "плохо/нормально". Тут надо конкретизировать вопрос. Разбирать на конкретных фактах. Опять же насколько корректно такое сравнение с учетом пункта 3. Давайте будем обсуждать факты. Не знаю можно ли здесь публиковать данные из "баг" листа.

3) Почему кажется, что поддержка хуже, да и само решение не внушает доверия

Тут надо понимать, что у PostgreSQL в отличие от остальных трех (MS,IBM, Oracle) нет как таковой поддержки вендора (компании производителя). Патчи изготавливались с поддержкой сообщества (Бартунов, Сигаев). Основной источник поддержки - сообщество. Естественно это не всегда приемлемо для корпоративного сектора.

Вячеслав
21.06.2011 22:56:26

Лев, ни кто не говорит о "плохой субд", таковых вообще нет
проблемы в людях, кто обслуживает, ну исторически так сложилось, что скуль прост
постгре сложнее (хотя и не намного, но вот линухи не в кассу, они усложняют 1скам жизнь smile:))) )
вот ДБ2 и особенно Оракл, вот это спорные субд, но и идущий дорогу ее осилит

чего спорить, вы прекрасно видите ситуацию "Тут надо понимать, что у PostgreSQL в отличие от остальных трех (MS,IBM, Oracle) нет как таковой поддержки вендора (компании производителя). Патчи изготавливались с поддержкой сообщества (Бартунов, Сигаев). Основной источник поддержки - сообщество. Естественно это не всегда приемлемо для корпоративного сектора. "

лично мне кажется что постгре самый недооцененный 1Сом

Лев
22.06.2011 11:03:10

Вячеслав, если я правильно понимаю структуру момента в данной ветке никто нискем не спорит. По крайней мере я. smile;)

Вячеслав
22.06.2011 17:23:50

сверяем часы smile:)

Владис
19.06.2011 08:22:34

1С "из коробки" с MSSQL работает заметно быстрее, надежнее и предсказуемее, чем с PostgreSQL. В результате, логично, что франчи и фикси не хотят лишних проблем и проталкивают покупку MSSQL.

Vladislav Artukov
19.06.2011 10:51:26

Год работы на "бесплатной" версии IBM DB2 Express-C показал, что и DB2 заметно медленнее в эксплуатации. Перед эти "годовым боевым тестированием" стоял выбор - DB2 или PostgresSQL. Я рад, что интуитивный выбор пал на DB2. А теперь рад, что отказались от DB2.

Вообще, надо сказать о стиле работы 1C. Они, например, никогда не выпускают "быстрые фиксы" (такие, как QFE у Microsoft). Просто сидят и собирают баги. Некоторые из них исправляют в следующих релизах. Какой баг, когда и в каком релизе будет исправлен - никогда не говорят, ссылаясь на коммерческую тайну. Монопольное положение позволяет вести себя хамовато.

Владис
19.06.2011 11:41:19

Про DB2 я и не говорил, не пробовал, признаться. А PostgreSQL и MSSQL сравнивал. Не 8.2 правда, а 8.1. На MSSQL ощутимо быстрее и комфортнее работало.
И, кстати, на соотношение MSSQL vs другие SQL влияет ценовая политика 1С. Совместные лицензии 1С+MSSQL стоят несколько дешевле, чем отдельно лицензии 1C и лицензии MSSQL.
Хотя, тут какие еще лицензии и как считать...

Vladislav Artukov
20.06.2011 11:24:17

с этими "совместными" лицензиями "1С+MSSQL" для 1С:Предприятие 8.2 есть вот какая заковыка - допустим, купили вы несколько клиентских лицензий "1С+MSSQL" и захотели купить еще несколько "обычных"... и 1С вам их не продаст

и обратное тоже верно

21.06.2011 20:53:32

В случае коммерческого использованя СУБД (как информационного актива компании) имеет смысл сравнивать, скорее, среднюю приведенную стоимость транзакции, т.е. в какие деньги Вам обойдется быстродействие. При расчете этого параметра играет роль стоимость аппаратной части, лицензий, поддержки. В целом, параметр отвечает на вопрос "какое быстродействие мы получим, скажем, за 2000 долларов." И MS SQL категорически проигрывает в данном случае smile:D

Вячеслав
21.06.2011 22:52:17

боюсь, что применительно к 1С вы плохо представляете, о чем говорите
мерить быстродействие в транзакциях решения 1С, ну-ну...

21.06.2011 23:10:35

Вячеслав, я в 90% случаев на 1С и использую, хотя транзакции имел в виду не 1С, а к базе данных. Кстати, есть у меня и вполне объективные результаты замеров (с помощью нагрузочного тестирования от 1С - в данном случае больше ничем нельзя пользоваться).

Кстати, можно провести встречное тестирование по принципу - "есть некий потребный уровень производительности 1С, сделать решение дешевле". Я думаю, это было бы всем интересно....

Вячеслав
22.06.2011 01:19:02

Мы говорим об 1С:СНТ или о чем?

К тому же, если сравнивать стоимость владения MS SQL Server за 3 года и PostgreSQL (де факто зарплату программиста, который переписывает запросы 1С под постгре постоянно), то Постгре дороже выходит даже без всякой производительности транзакций...

Более того, очень многое зависит от того, кто этот программист, так что вообще очень частный вывод будет, не применимый ко всем.

Вообщем, как PR-щики или маркетологи мы можем обсудить сферического коня в вакууме, и даже убедить себя, что одна субд лучше другой, только в реальной жизни все по другому.

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

Лев
22.06.2011 11:09:42

Цитата
который переписывает запросы 1С под постгре постоянно


Ну тут Вы чуть-чуть лукавите, Вячеслав. Если изначально писать запросы в соответствии с методикой kb.1c.ru, то и на PostgreSQL они будут нормально работать. Я уже приводил где-то в обсуждении мою любимую "пирамиду Гилева". В 90% случаев с которыми я сталкивался она работала на 100%.

Очень не хочу начинать "холивар" на тему стоимости владения MS и PG. Хочу лишь сказать, что не все так однозначно как Вы пишите.

Вячеслав
22.06.2011 17:21:59

>Если изначально писать запросы в соответствии с методикой kb.1c.ru, то и на PostgreSQL они будут нормально работать.
если бы они изначально были бы так написаны, то так оно и было бы
но, в России очень много уже по факту внедрений, которые либо были начаты, когда эта методика была не известна и есть самописки фикси, которым эта методика возможно не известна
да и в новых решениях нет 100% гарантий, все ошибаются

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

Владис
22.06.2011 06:34:55

Цитата
В случае коммерческого использованя СУБД (как информационного актива компании) имеет смысл сравнивать, скорее, среднюю приведенную стоимость транзакции
Всегда имеет смысл сравнивать не частную "стоимость транзакции", а стоимость владения. В которую включить трудозатраты на обслуживание, стоимость простоев и многое другое. Именно в расчете стоимости владения даже бесплатные версии linux могут стоит сравнимо, а то и дороже windows.

Лев
19.06.2011 23:32:02

Не сочтите за спор, но хотел бы уточнить:

1) заметно быстрее
На каких операциях? На сколько быстрее в %? Вносились ли изменения и какие в конфигурацию PostgreSQL?

2) Надежнее
Как оценивался данный параметр, что под ним подразумевается.

3) предсказуемее
Расшифруйте ) Более точная работа планировщика запросов или что?

На самом деле мы прекрасно оба понимаем о чем речь. Я соглашусь с Вами, что компании франчайзи намного проще (больше специалистов) и выгоднее (продажа лицензии MSSQL) продавать MSSQL.

Владис
20.06.2011 21:37:18

1) Субъективно заметно. То есть не считанные проценты, хотя бы процентов 15-20. Оценивалась в первую очередь интерактивность работы. Потому что хотели оценить, что брать, какой-либо более-менее приличной базы, на которой бы медленно формировались отчеты не было. Метод оценки - берем кучку пользователей и заставляем их "долбить" в программу хоть чего нибудь, бегать по справочникам и журналам, открывать/закрывать документы/печатные формы/отчеты... Изменения никакие не вносились. Я же говорю "из коробки". Вариант, наиболее часто встречающийся среди миллиона леммингов клиентов 1С.
2) Надежнее оценивалось по статистике. У меня были базы 1С8 на MSSQL и очень редко возникали какие-то минорные проблемы. Пара мест, которые я лично знаю, на постгресе имеют проблемы относительно регулярно. Опять таки повторюсь, речь тут идет о решениях "из коробки", без какой либо профессиональной настройки. В рамках вопроса "почему относительно мало клиентов на PostgreSQL". А у подавляющего большинства клиентов ни о какой "настройке" речи не идет.
3) Предсказуемее, именно предсказуемее. Когда у вас система работает "предсказуемо" ? Когда либо она работает "бронебойно" и вы даже не знаете, что и как там устроено. Либо когда вы эту систему понимаете вплоть до интуитивного уровня. Думаю, вы согласитесь, что у MSSQL более хорошее сочетание надежности и понимаемости франчами и студентами, которых они часто нанимают, чем у PostgreSQL.

Vladislav Artukov
20.06.2011 23:34:09

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

ну вы ж прекрасно понимаете, что это методика из "пещерного века", про такую "методику" должно быть стыдно письменно вспоминать

на платформе 1С:Предприятие 8.2 нет ничего подобного "предрассчитанным" данным для построения отчетов, хотя на платформе MS SQL Server эта возможность доступна с черт знает каких времен - лет десять, точно

Приоритет Нуралиева -денежный пылесос. А технологическое совершенствование (даже на базе уже существующих платформ) осуществляется лишь тогда, когда "поджимает".

Одно лишь непонятно. Ну, вот есть Путин - ну нафига ему столько бабла? Или вот есть Нуралиев - ну нафига ему столько бабла? Пирамиды нынче не в моде... куда его девать-то в таких количествах?

Владис
21.06.2011 05:34:57

Цитата
ну вы ж прекрасно понимаете, что это методика из "пещерного века", про такую "методику" должно быть стыдно письменно вспоминать

С другой стороны пользователям глубоко все равно на абсолютные показатели быстродействия. Из интересует реакция программы. По шкале "тормозит/нетормозит". Множество раз наблюдал стандартную картину: пользователи жалуются "тормозит", админ с 1Сником рапортуют "загрузка сети низкая, загрузка дисков низкая, сервер вообще прохлаждается". Однако субъективно "тормозит", значит мы не достигли важного показателя - удовлетворенности пользователя. Одна из причин может быть, например, несовместимость TCP/IP Windows Vista/7 и Windows Server 2003 из-за которой сильно тормозит отрисовка экрана в клиенте терминалов. Как вы подобное "замерите" не "пещерным" методиками?

20.06.2011 03:54:17

> Хочу повториться, что я не считаю, что поддержка PostgreSQL компанией 1С хуже остальных СУБД.

1C 8.1/8.2 типовая бух или ТиС будет с сравнимой скоростью по сравнеию с MS SQL версией?

Лев
20.06.2011 08:16:26

В данном вопросе сложно ответить однозначно. Тут очень много зависит от:
- на каких операциях;
- на каком оборудовании; (PostgreSQL чувствителен к дисковой подсистеме)
- количество собранной статистики планировщиком запросов;

- ОЧЕНЬ много зависит и от кода 1с. Мне очень нравится вот эта картинка. На мой взгляд она очень точно отражает текущую ситуацию. Могу привести несколько примеров где одинаковый код будет быстро выполнятся на MSSQL и оочччень медленно на PostgreSQL.
У 1с есть рекомендации и методики "как правильно" писать код чтобы он одновременно хорошо работал и с MS и c PostgreSQL. Большинство из методик описывается тут

Много пишется об этом и на партнерском форме. Приводятся конкретные примеры как надо. Если интересно участвующим в обсуждении я могу привести несколько общедоступных примеров на эту тему.

Относительно MS PostgreSQL поддерживается 1с совсем не давно. Соответственно компания еще просто не успела адаптировать его всех типовых решениях, но этот процесс очень нагляден в свежих решениях для 8.2. Посмотрите например УТ11. Вот на базе этого решения можно сопоставлять MS и PostgreSQL.

PS
Поправлю Вас. ТИС - это торговля и склад, решение для версии 7.7. Для версии 8+ это называется Управление торговлей или УТ.

20.06.2011 04:04:50

> 1) По проблеме блокировок.

по ссылке, насколько понимаю приведеную таблицу, написано что версия для MS SQL поддерживает блокировку уровня записей и в автоматическом и для управляемом режиме. А версия для Postgres только в управляемом. В автоматическом используются блокировки уровня таблиц, что насколькоя понимаю и порождает более медленую работу по сравнению с версией для MS SQL. Или я упускаю еще какие-то тонкости?

Лев
20.06.2011 08:06:31

Да, Вы все верно написали, но

Цитата
Большинство выпускаемых конфигураций (если не все) идут по-умолчанию с включенным механизмом управляемых блокировок.


Вот несколько примеров:
Управление торговлей 11 - Управляемый
Бухгалтерия предприятия 2.0 - Управляемый

Как видите в вышеприведенных Вами конфигурациях уже по-умолчанию используется данный механизм. Соответственно поведение на СУБД PostgreSQL и MSSQL будет сопоставимо. Аналогично с PostgreSQL обстоит дело и с Oracle. Ведь это тоже "версионник".

Вообще говорить, что скорость работы зависит от уровня блокировки не совсем корректно. Я, например, вообще не представляю как можно работать с PostgreSQL в автоматическом режиме управления блокировками при количестве пользователей больше 20. Утоните в блокировках.

20.06.2011 04:18:07

> Не знаю можно ли здесь публиковать данные из "баг" листа.

Интернет велик. Можно попубликоватьв любом доступном месте и дать сюда ссылку. Если конечно его вобще можно публиковать.

Лев
20.06.2011 08:18:42

К примеру в одной из версий 1с единственным способом обхода ошибки при использовании Oracle был вариант использовать другую СУБД.

Антон
20.06.2011 08:55:38

Интересно, что по данному поводу сказали заказчики, сидящие на чём-нибудь типа Oracle + УПП?

20.06.2011 13:35:51

Лев, огромное спасибо за развернутый ликбез.

Леонид Кривошеин
21.10.2011 01:55:45

Категорически не согласен с логикой. Есть опыт внедрения 1C, причём на разных платформах. Считать статистику бесполезно, и причин тому много. Но самое интересное: бестолку спрашивать статистику в 1C. Большой рывок в сторону веб-клиента на 8.1 был сделан как ни странно в очень кризисный 2009-й год и уже никакого конфликта с M$ рядышком не было. Зато накануне состоялась встреча с президентом представителей ведущих компаний ИТ-индустрии. О чём у них был разговор с Медведевым, можно только догадываться. Но широкой огласке эту встречу не подвергали. Я всё же думаю, что 1C сделала этот рывок исключительно с целью быть готовой к чему-то важному и это вероятно связано с НПП.

21.10.2011 08:05:05

Все же "рывок в сторону Web-клиента" был сделан в 8.2....
Я думаю, что "встречи с Президентом" - это самый незначительный фактор развития нашего ИТ-рынка. И это - хорошо.
Насчет статистики - никак не могу согласиться. Она нужна. Очень. Если мы хотим серьезных разговоров, а не рекламных проспектов.

Леонид Кривошеин
21.10.2011 16:02:28

В то время под 8.2 ещё никто не работал, бухгалтерия тогда была, в основном, 1.6. Наверное частично соглашусь, 8.1 и 8.2, только 8.2 в то время была ещё сильно сыроватой. Статистику конечно интересно было бы узнать. Но вряд ли 1C пойдёт на то, чтобы показать статистику продаж юниксовых решений и тем более сделок по пере-лицензированию. Зачем им форсировать ситуацию раньше времени? Какой смысл 1C продвигать СПО?

21.10.2011 17:36:47

И я о том же smile:)

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии