powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / PostGree для 1С
6 сообщений из 6, страница 1 из 1
PostGree для 1С
    #39477418
Фотография netfrog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я рассматриваю возможность поставить PostGree на сервер, но на Windows или Linux. Туда же сервер 1С.

Например, я слышал, что у PostGree нет проверки верности бекапов. И анализатора запросов. Еще она сильно не любит запросы вложенные в запрос, нужны временные таблицы. Правда к вложенным запросом плохо относится и Sql Server.

Кто нибудь работал на PostGree, и какие результаты?
...
Рейтинг: 0 / 0
PostGree для 1С
    #39477771
rahzer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше под линь ставь..
Под виндой работает, но очень медленно, не смотря на все ухищрения.
...
Рейтинг: 0 / 0
PostGree для 1С
    #39478086
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и под виндой и под линуксом все робит нормально. Если у тебя не много народу
...
Рейтинг: 0 / 0
PostGree для 1С
    #39478089
sigmov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
netfrogЯ рассматриваю возможность поставить PostGree на сервер, но на Windows или Linux. Туда же сервер 1С.
Linux лучше.
netfrogНапример, я слышал, что у PostGree нет проверки верности бекапов. И анализатора запросов. Еще она сильно не любит запросы вложенные в запрос, нужны временные таблицы. Правда к вложенным запросом плохо относится и Sql Server.
1. Ни разу даже не задумывался о "проверке верности бэкапов". Бэкапы есть - всегда работают.
2. Анализатора запросов есть. Причем выбор большой. dbforge больше всего нравяться
3. Ни MSSQL ни PGS не любят временные таблицы. Временные таблицы - это костыль от 1С для совместимости с файловой БД.
netfrogКто нибудь работал на PostGree, и какие результаты?
1. MSSQL проще отлаживать. Если будут проблемы с производительностью.
...
Рейтинг: 0 / 0
PostGree для 1С
    #39478185
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sigmov,

3. Ни MSSQL ни PGS не любят временные таблицы. Временные таблицы - это костыль от 1С для совместимости с файловой БД.

Да конечно... А куда по вашему нужно временные данные (на время транзакции или сессии пользователя) складывать? Каждый раз в запрос вставлять? Точно не знаю как у MSSQL но у postgres'а с временными таблицами все более менее ничего (если уметь ими пользоваться, см. ниже)

Сама же postgres как база напоминает автомат калашникова работает надежно, но умеет то что умеет, если хочется чего-то больше надо изгаляться. Из того что навскидку помню:

1. Predicate pushdown'ов нет как класса. То есть да, во вложенные запросы надо всегда проталкивать внешний контекст. Строго говоря у MS SQL predicate pushdown хоть, и есть но тоже сильно примитивный.
2. Постгрес на каждое соединение создает поток и если их не pool'ить (а если хранить данные во временных таблицах их не получится эффективно pool'ить), то память начинает медленно но верно утекать. Решается демоном который скорит соединения и периодически их перестартует (не сильно тривиальная задача, но решается).
3. Достаточно часто косячит со статистикой (так как оптимист неимоверный), то есть если чего не знает сразу считает selectivity не корреллированной, то есть сильно уменьшает кол-во записей и здравствуй nested loop на пару десятков миллионов записей. Особенно это касается вложенных подзапросов. Лечится материализацией подзапросов + в 10 beta вроде появилась cross column статистика.
4. Он конечно версионник от рождения, что очень большой плюс по сравнению с MS SQL (хотя в 1С забили на все блокировки СУБД и переложили ответственность на 1С-программиста, не знаю кто там так сильно ударился головой принимая такое решение), но сделан он не так как оракл. Если последний хранит последнее состояние и лог отката, то постгрес хранит все версии непосредственно в таблице. Это во первых все же немного менее эффективно в не сильно конкурентной базе (но это не страшно), но хуже когда есть часто обновляемые таблицы (а это практически всегда) и вдруг зависает какая-то транзакция на долгое время. Это останавливает autovacuum (очистку неактуальных версий), и часто обновляемые таблицы (если работа идет с одним диапазоном данных скажем за сегодня) начинают очень заметно тормозить. И вообще с vacuum'ами есть определенный гемор (нужно периодически делать VACUUM FULL'ы и соответственно следить за долгими транзакциями)
5. Есть приколы с кластеризацией, а именно то что в базовой поставке slave по сути блокировочник (что конечно адский ад, и одна из причин возврата uber на mysql). Хотя возможно есть альтернативные реализации.
6. Ну и куча мелкой фигни вроде того что не поддерживает FULL JOIN по сути приходится UNION'ами обходиться (а там проблемы с округлениями) и т.п.

Честно говоря не знаю как 1С разбирается со всеми этими проблемами (возможно просто ORM'ит), но считать что просто взял и сменил одну СУБД на другую это мягко говоря весьма наивно.
...
Рейтинг: 0 / 0
PostGree для 1С
    #39478356
Zerro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nitro_Junkiesigmov,

3. Ни MSSQL ни PGS не любят временные таблицы. Временные таблицы - это костыль от 1С для совместимости с файловой БД.

Да конечно... А куда по вашему нужно временные данные (на время транзакции или сессии пользователя) складывать? Каждый раз в запрос вставлять? Точно не знаю как у MSSQL но у postgres'а с временными таблицами все более менее ничего (если уметь ими пользоваться, см. ниже)

Сама же postgres как база напоминает автомат калашникова работает надежно, но умеет то что умеет, если хочется чего-то больше надо изгаляться. Из того что навскидку помню:

1. Predicate pushdown'ов нет как класса. То есть да, во вложенные запросы надо всегда проталкивать внешний контекст. Строго говоря у MS SQL predicate pushdown хоть, и есть но тоже сильно примитивный.
2. Постгрес на каждое соединение создает поток и если их не pool'ить (а если хранить данные во временных таблицах их не получится эффективно pool'ить), то память начинает медленно но верно утекать. Решается демоном который скорит соединения и периодически их перестартует (не сильно тривиальная задача, но решается).
3. Достаточно часто косячит со статистикой (так как оптимист неимоверный), то есть если чего не знает сразу считает selectivity не корреллированной, то есть сильно уменьшает кол-во записей и здравствуй nested loop на пару десятков миллионов записей. Особенно это касается вложенных подзапросов. Лечится материализацией подзапросов + в 10 beta вроде появилась cross column статистика.
4. Он конечно версионник от рождения, что очень большой плюс по сравнению с MS SQL (хотя в 1С забили на все блокировки СУБД и переложили ответственность на 1С-программиста, не знаю кто там так сильно ударился головой принимая такое решение), но сделан он не так как оракл. Если последний хранит последнее состояние и лог отката, то постгрес хранит все версии непосредственно в таблице. Это во первых все же немного менее эффективно в не сильно конкурентной базе (но это не страшно), но хуже когда есть часто обновляемые таблицы (а это практически всегда) и вдруг зависает какая-то транзакция на долгое время. Это останавливает autovacuum (очистку неактуальных версий), и часто обновляемые таблицы (если работа идет с одним диапазоном данных скажем за сегодня) начинают очень заметно тормозить. И вообще с vacuum'ами есть определенный гемор (нужно периодически делать VACUUM FULL'ы и соответственно следить за долгими транзакциями)
5. Есть приколы с кластеризацией, а именно то что в базовой поставке slave по сути блокировочник (что конечно адский ад, и одна из причин возврата uber на mysql). Хотя возможно есть альтернативные реализации.
6. Ну и куча мелкой фигни вроде того что не поддерживает FULL JOIN по сути приходится UNION'ами обходиться (а там проблемы с округлениями) и т.п.

Честно говоря не знаю как 1С разбирается со всеми этими проблемами (возможно просто ORM'ит), но считать что просто взял и сменил одну СУБД на другую это мягко говоря весьма наивно.
какой сменить? люди уже лет по 10 живут
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / PostGree для 1С
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]