Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Излазил множество сайтов по инету, нашел из полезных только Cybercluster, который основан на PGCluster (который ещё до кучи и не настроил до конца, т.к. не могу в винде поднять rsync и ssh), кто ещё может посоветовать для решения репликаций мультимастер в постгресе? Нужна мультиплатформенная утилитка, т.к. базы будут стоять и в виндах и в линуксах... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 19:25 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Ну ещё можно глянуть SkyTools, оно вроде тоже, что такое умеет...:-\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 19:45 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
SkyTools не имеет ничего общего в мультимастером. Это proxy-решение, позволяющее сделать горизонтальное партиционирование между серверами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2008, 12:31 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Ну и все же есть ещё решение (кроме pgpool-II, т.к. он только под линух) мультимастера для постгреса? Или все таки придется пытаться писать свою утилиту синхронизации данных... А вообще как бы поподробнее узнать о процессе репликации? Потому что я пока его очень отдаленно понимаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2008, 21:05 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
-devICE-Ну и все же есть ещё решение (кроме pgpool-II, т.к. он только под линух) мультимастера для постгреса? Или все таки придется пытаться писать свою утилиту синхронизации данных... А вообще как бы поподробнее узнать о процессе репликации? Потому что я пока его очень отдаленно понимаю...1) есть аналоги пгпула для java. 2) если что-то не очень хорошо понимаете, то почитайте сначала общую литературу, тогда и 95% вопросов отпадёт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2008, 02:03 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Dan Black -devICE-Ну и все же есть ещё решение (кроме pgpool-II, т.к. он только под линух) мультимастера для постгреса? Или все таки придется пытаться писать свою утилиту синхронизации данных... А вообще как бы поподробнее узнать о процессе репликации? Потому что я пока его очень отдаленно понимаю...1) есть аналоги пгпула для java. 2) если что-то не очень хорошо понимаете, то почитайте сначала общую литературу, тогда и 95% вопросов отпадёт 1. можете подсказать аналоги пгпула? 2. посоветуйте литературу по которой можно нормально изучить процесс репликации данных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2008, 13:13 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
-devICE-1. можете подсказать аналоги пгпула? 2. посоветуйте литературу по которой можно нормально изучить процесс репликации данных...Буду краток: тынц , тынц Q: Почему не даю прямых ссылок? A: У меня их нет Q: А почему тогда я влез в эту тему? A: Потому что где-то, когда-то в интернете видел материалы на эти темы. И считаю, что если топикстартер напряжется, то легко их найдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2008, 14:35 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
уже давали на форуме линк http://bucardo.org/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2008, 10:54 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Вышел Cybercluster 1.2 - http://www.postgresql-support.de/english/downloads_e.html. Вроде, в отличие от PgPool-II умеет работать с sequence и т.д. Но надо проверять. Когда же блин, эти ...пипи... разработчики Постгреса дотумкают своим мозгами, что без нормальной репликации и всего с ней связанного функционала, их продукт никогда не перерастет по классу MySQL, а уж про соревнования с Oracle можно не заикаться. Интересно, у EnterpriseDB все так же плачевно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2008, 18:01 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
alex_v13Когда же блин, эти ...пипи... разработчики Постгреса дотумкают своим мозгами, что без нормальной репликации и всего с ней связанного функционала, их продукт никогда не перерастет по классу MySQL, а уж про соревнования с Oracle можно не заикаться. Полностью согласен. Отсутствие нормально репликации очень напрягает. авторИнтересно, у EnterpriseDB все так же плачевно?Год назад ничего принципиально нового не заметил :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2008, 18:05 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
alex_v13Вышел Cybercluster 1.2 - http://www.postgresql-support.de/english/downloads_e.html. Вроде, в отличие от PgPool-II умеет работать с sequence и т.д. Но надо проверять. Когда же блин, эти ...пипи... разработчики Постгреса дотумкают своим мозгами, что без нормальной репликации и всего с ней связанного функционала, их продукт никогда не перерастет по классу MySQL, а уж про соревнования с Oracle можно не заикаться. Неприятно и отсутствие конструкций вида CREATE ... IF NOT EXISTS, DROP ... IF EXISTS, INSERT OR REPLACE и т.п., что заставляет писать лишние функции и триггеры. В 8.1, который продакшен, нет вообще ничего из перечисленного, в 8.2 что-то есть, но он тормозной и глючный, а 8.3 сырой. Впрочем, когда я обнаружил, что при после переноса базы с 8.1 на 8.3 скорость выполнения многих запросов падает в разы и за несколько часов настройки конфига удалось это компенсировать лишь частично, возникло серьезное раздражение по поводу реализации модных фич вроде работы с xml и полнотекстового поиска (на кой ляд он нужен в ядре, если он может прекрасно работать модулем) на фоне пренебрежения планировщиком, репликацией и многими другими, жизненно необходимыми вещами. Если модуль для работы с xml можно самому написать, не сильно напрягаясь и не влезая в код постгреса, то с планировщиком пусть уж сами разработчики воюют. Кстати, если кто знает, как можно с постгреса с хорошо настроенной статистикой (то есть БД долго кормим нужными последовательностями соответствующих запросов, статистика собирается, планы выполнения оптимизируются как мы хотим) перенести эту статистику на другой сервер и запретить ее менять при работе? А то сейчас в зависимости от типа активности пользователей план и время выполнения запросов меняются со временем. В итоге два одинаковых хоста с одной и той же базой работают по-разному, чем больше времени проходит, тем больше разница. Какая тут к черту репликация и балансировка нагрузки, когда на одинаковых хостах с одной базой разные планы выполнения (и в разы отличное время выполнения)? Еще может кто подскажет, в 8.3 исправили наконец баги пгдампа при работе с многими схемами и объектами в них, принадлежащими разным пользователям? В 8.1 приходится дамп патчить, иначе не ресторится, поскольку выставление прав происходит в неверной последовательности и приводит к конфликтам доступа. При переносе на другой хост эти грабли жутко мешают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2008, 14:34 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
С правами и юзерами в дампах вечные косяки. Я всегда дамп/рестор делаю на схеме без прав, а потом их накатываю отдельно. У меня проблем с переходом на 8.3.1 с 8.2.5 не было. Скорость работы базы выросла значительно. Что делать с планами не могу предположить, они сбрасываются при рестарте сервера. Физического доступа к статистике нет, есть только аналитика по системным view, ну Вы сами знаете :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2008, 15:21 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
alex_v13С правами и юзерами в дампах вечные косяки. Я всегда дамп/рестор делаю на схеме без прав, а потом их накатываю отдельно. Я маленький патчик состряпал, после него загружается. Типа такого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ну и языки в базе создаю до загрузки дампа. alex_v13У меня проблем с переходом на 8.3.1 с 8.2.5 не было. Скорость работы базы выросла значительно. Что делать с планами не могу предположить, они сбрасываются при рестарте сервера. Физического доступа к статистике нет, есть только аналитика по системным view, ну Вы сами знаете :) 8.3 побыстрее 8.2, но во многих случаях медленнее 8.1. А со статистикой проблема получается вроде как вообще нерешаемая, ибо нет возможностей с ней работать вручную, хотя можно опосредованно воздействовать, подобрав соответствующий набор запросов и выполнив их многократно. Но на каждую ночь натравливать такой набор на сервер не хочется, да и за день статистика успевает перестроиться на работающем сервере... В sqlite есть замечательная фишка - статистику планировщика можно выгружать и загружать, что целиком решает указанный вопрос, хотелось бы что-то подобное придумать и с постгресом, но боюсь, это решается только ценой серьезной модификации ядра СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2008, 20:49 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
MBG 8.3 побыстрее 8.2, но во многих случаях медленнее 8.1. А со статистикой проблема получается вроде как вообще нерешаемая, ибо нет возможностей с ней работать вручную, хотя можно опосредованно воздействовать, подобрав соответствующий набор запросов и выполнив их многократно. Но на каждую ночь натравливать такой набор на сервер не хочется, да и за день статистика успевает перестроиться на работающем сервере... В sqlite есть замечательная фишка - статистику планировщика можно выгружать и загружать, что целиком решает указанный вопрос, хотелось бы что-то подобное придумать и с постгресом, но боюсь, это решается только ценой серьезной модификации ядра СУБД. Что-то у Вас странное творится, по моему мнению. Мне хватает просто адекватно настроенного автовакуума с аналайзом, ну и раз в день принудительный вакуум по тройке критических таблиц (не фриз, его раз в месяц запускаю). И пока все планы адекватные, ну есть пара глюков планировщика, но они запросами перестроенными исправляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2008, 20:56 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
alex_v13 Что-то у Вас странное творится, по моему мнению. Мне хватает просто адекватно настроенного автовакуума с аналайзом, ну и раз в день принудительный вакуум по тройке критических таблиц (не фриз, его раз в месяц запускаю). И пока все планы адекватные, ну есть пара глюков планировщика, но они запросами перестроенными исправляются. На запросах, работающих с двумя-тремя таблицами и у меня все хорошо, а вот когда речь идет примерно о 10 таблицах и более, начинаются вещи совершенно странные. Хотя и таблицы не большие, от тысяч до миллионов записей, и все индексы есть и используются. Тем не менее, запросы на выборку тысячи записей могут требовать удивительно большого времени. Вот пример несложного view: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. И вот такой довольно элементарный запрос требует существенного времени (извлекается несколько сот записей): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. Запрос генерируется автоматически, так что может сильно отличаться от вышеприведенного и занимать время до 10 секунд на сотнях возвращаемых записей. Список возвращаемых полей, временная зона, условия могут варьироваться. Что интересно, попытка добавить два объединения с auth.users непосредственно в offline.view_documents приводят к резкому падению производительности. Притом план выполнения указанного запроса очень сильно зависит от собранной статистики и после нескольких сотен запусков перестраивается и работает намного быстрее. Я рад, разумеется, что на рабочем сервере работает быстрее, но невозможность это воспроизвести на тестовом сервере очень мешает разработке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2008, 21:50 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Едва ли стоит совать с советами плану такого запроса, не зная ни размерности таблиц, ни индексов. Однако, не пробовали ли вы делать partial index таблицу attribute по условию where value = 'Отклонен' ? Если отклоненных документов мало, а индекс по attribute.value большой, то ради 100 документов планировщик может предпринять seqscan. Что за функция lindex(avalue(avalue(fields_array, 'attribute'), 'values'), 0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2008, 10:24 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tadminЕдва ли стоит совать с советами плану такого запроса, не зная ни размерности таблиц, ни индексов. Однако, не пробовали ли вы делать partial index таблицу attribute по условию where value = 'Отклонен' ? Если отклоненных документов мало, а индекс по attribute.value большой, то ради 100 документов планировщик может предпринять seqscan. Что за функция lindex(avalue(avalue(fields_array, 'attribute'), 'values'), 0) Всех статусов может быть много. То есть в идеальном случае отклоненных вообще нет, а на практике их может оказаться сколько угодно, так что приходится "честно" делать индекс по значению статуса. Функции для работы с тиклевскими структурами данных - список (lindex возвращает элемент списка), массив (avalue возвращает элемент ассоциативного массива по его ключу). Так что конструкция lindex(avalue(avalue( вернет некий элемент многомерного массива, сохраненного в виде строкового значения. Постгресовские массивы меня категорически не устраивают, так что сделал свою реализацию. Вот здесь некоторые функции описаны: http://postgrestips.blogspot.com/2007/06/array.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2008, 20:05 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
MBG Всех статусов может быть много. То есть в идеальном случае отклоненных вообще нет, а на практике их может оказаться сколько угодно, так что приходится "честно" делать индекс по значению статуса. Не уверен, что в вашем случае это поможет, но я получил весьма устойчивый прирост скорости от использования partial index. Есть таблица объектов и типов (PK ObjectID+ObjectTypeID) в ней же хранятся состояния объектов. Записей порядка n*10^6.Типов объектов ~200, данные предметной области хранятся в своих таблицах (~200). Если нужно найти неудаленные объекты с типом Заказ, то нужен запрос (условно) Код: plaintext 1. 2. 3. В этом запросе используется индекс по таблице объектов ObjectID+ObjectTypeID+ObjectStatusID. Беда в том, что размер этого индекса может быть в 10 раз больше таблицы предметной области (orders). Для меня было выходом создать partial index по таблице объектов для некоторых типов: Код: plaintext 1. 2. 3. 4. В чем выигрыш? При выборках планировщик вместо индекса общего из 700 страниц использует частные индексы из 5-6 страниц. Если для данного вида объекта частный индекс не создан, то используется общий (лучше чем ничего). Если таблицу объектов кластеризовать по нему раз в сутки, это тоже улучшает жизнь. Есть и проигрыш, потому что при записи в таблицу объектов почти всегда приходится обновлять 2 индекса - один общий и один частный. На практике замедления не заметил. Пока я не создал частные индексы - наблюдал невоспроизводимость плана и времени выполнения сложных запросов (10-12 таблиц). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2008, 10:37 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
alex_v13 Когда же блин, эти ...пипи... разработчики Постгреса дотумкают своим мозгами, что без нормальной репликации и всего с ней связанного функционала, их продукт никогда не перерастет по классу MySQL, а уж про соревнования с Oracle можно не заикаться. Типа докумекали :) == PostgreSQL Weekly News - June 01 2008 == Core has announced the goal of including easy-to-use WAL-based replication in PostgreSQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 09:47 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
на самом деле они давно это докумекали :) но сначала нужно сделать определённые шаги в этом направлении, например изменение связанное с НЕ увеличением номера транзакции для только читающих транзакций в 8.3 - как раз направлено в том числе и на облегчение реализации репликации в будущем. :) -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 12:05 |
|
||
|
Multi-Master в PostgreSQL
|
|||
|---|---|---|---|
|
#18+
tadminНе уверен, что в вашем случае это поможет, но я получил весьма устойчивый прирост скорости от использования partial index. Сколько у вас таких индексов на таблицу? Если один-два, то все должно быть хорошо, но это недостаточно для типичных запросов. Для десятков будет намного хуже из-за их количества и размера на диске. А планировщик умеет пользоваться частными индексами в конструкциях вида between? tadminПока я не создал частные индексы - наблюдал невоспроизводимость плана и времени выполнения сложных запросов (10-12 таблиц). То есть с этими индексами план выполнения стабилизируется и перестает перестраиваться во время работы? Это интересно, хотя пока я даже не могу придумать такую ситуацию, когда можно воспользоваться подобным индексом - это должно быть какое-то приложение, где диапазоны выборки забиты "намертво". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2008, 18:43 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35348610&tid=2004326]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 381ms |

| 0 / 0 |
