Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8   вперед  Ctrl      все
 Re: Чем PostgreSQL хуже MS SQL?  [new]
непонимайу
Member

Откуда:
Сообщений: 177
Слоны
А как же slony ?
slony I это master-slave репликация, те односторонняя. про slony II ничего не слышно.
25 дек 07, 12:18    [5092558]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Vector
Member

Откуда: Новосибирск
Сообщений: 360
PostgreSQL 8.2 версии (не могу ничего сказать про 8.3) в отличие от MSSQL не умеет распараллеливать запрос по разным ядрам.
Столкнулся с этим при одновременной выгрузки данных из разных потоков своей клиентской программы.
Более того мне не удалось на программе, написанной на Java, работающей через стандартный jdbc драйвер, взятый с сайта PostgreSQL заставить использовать несколько ядер даже одного процессора в рамках одного подключения из несколькой потоков программы, пришлось на каждый поток городить дополнительное подключение. Это конечно решение, но все же распределением нагрузки между своими ресурсами сервер должен заниматься сам (это мое личное мнение).
Считаю, что этот недостаток будет немного меньше заметен при большом количестве пользователей.
6 фев 08, 05:24    [5249179]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

ЯЕХХ пишет:

> обратишься, любимые квадратные скобки не работают, и самое страшное -
> select count(*) тормозит


select count(*) уже должен по-идее и в MSSQL тормозить...

Posted via ActualForum NNTP Server 1.4

6 фев 08, 11:24    [5250421]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Локшин Марк пишет:
> будет не так хорошо использовать. Но это только на уровне ощущений. А
> так интересующимся никто не мешает взять какой-нибудь 4-8 процесорный
> сервачек и погонять на нем тесты какие-нибудь TPC-H, TPC-C и сравнить
> что к чему.

Если бы ты хоть раз сам этим занимался, то не стал бы так вот легко
советовать "взять и погонять"

Posted via ActualForum NNTP Server 1.4

6 фев 08, 11:31    [5250490]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Leximus пишет:
> Тоесть в принцепе как я понимаю кроме репликаций в принцепе я понимаю
> отличий нет?
Репликация же есть в PG.

Posted via ActualForum NNTP Server 1.4

6 фев 08, 11:32    [5250497]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3155
MasterZiv
Если бы ты хоть раз сам этим занимался, то не стал бы так вот легко
советовать "взять и погонять"

А в чем проблема? Вижу только 3 варианта:
1. Есть сервер и на нем уже что-то крутится. Считаю, что переходить с одной системы на другую нет резона. Если даже есть - нужен тестовый сервер для моделировании нагрузки при переводе системы в любом случае. Берем, ставим и смотрим как со скоростью (пусть даже тестовый сервер сильно слабее боевого, сейчас даже desktop'ные процессоры 4-х ядерные есть).
2. Сервер куплен, еще ничего не крутится - ставим смотрим, нет проблем
3. Сервер не куплен - договориться поставить систему и оценить производительность - нет проблем. Причем проблем тем меньше, чем круче сервер берешь.

Так что взять и посмотреть на своем приложении как оно будет работать - не проблема. Ну если только захотеть, а не искать всякие "отмазы".

По поводу использования PostgreSQL 1C советую почитать форумы по 1С. Там что-то особой радости по этому поводу не видно.
6 фев 08, 12:32    [5251018]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Локшин Марк пишет:
> А в чем проблема? Вижу только 3 варианта:

Ты пускал когда-нибудь ?
Попробуй ...

Posted via ActualForum NNTP Server 1.4

6 фев 08, 15:13    [5252401]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3155
MasterZiv
Ты пускал когда-нибудь ?
Попробуй ...

Чего пускал, кого пускал? По 1,2 варианту работал, по 3-му варианту знаю примеры такой реальной работы.
Чего пробовать-то?
6 фев 08, 15:27    [5252540]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
apapacy
Member

Откуда:
Сообщений: 1297
Я держал данные под MSSQL2000, потом перекачал на Postgre под Windows.
Из отличий для использования заметил следующее - при выполнении повторных запросов
типа select .. where id>A select .. where id>B MSSQL хорошо сечет что запрос повторный
и выполняет его быстрее.

В Postgre - и первый и последующий запросы выполняются за равное время -
видимо план не сохраняется или не понимает, что запрос похожий.

Но это под Виндой. Не исключаю, что под Линухом на том же железе будет работать даже быстрее,
чем на Винде.
6 фев 08, 18:37    [5253948]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
LeXa NalBat
Member

Откуда: Москва
Сообщений: 2892
apapacy
В Postgre - и первый и последующий запросы выполняются за равное время
это не так. например в приведенном ниже примере ускорение в четыре раза за счет кэширования данных в постгресе и ОС.
nw=# explain analyze select count(*) from plprice_00 where plno between 1365700000 and 1365800000;
                                                                 QUERY PLAN
---------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=145080.83..145080.84 rows=1 width=0) (actual time=2109.820..2109.823 rows=1 loops=1)
   ->  Bitmap Heap Scan on plprice_00  (cost=1120.16..144820.76 rows=104026 width=0) (actual time=348.160..1898.853 rows=99628 loops=1)
         Recheck Cond: ((plno >= 1365700000) AND (plno <= 1365800000))
         ->  Bitmap Index Scan on pk_prc_plno_00  (cost=0.00..1120.16 rows=104026 width=0) (actual time=316.900..316.900 rows=99628 loops=1)
               Index Cond: ((plno >= 1365700000) AND (plno <= 1365800000))
 Total runtime: 2109.988 ms
(6 rows)

nw=# explain analyze select count(*) from plprice_00 where plno between 1365700000 and 1365800000;
                                                                QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=145080.83..145080.84 rows=1 width=0) (actual time=489.857..489.859 rows=1 loops=1)
   ->  Bitmap Heap Scan on plprice_00  (cost=1120.16..144820.76 rows=104026 width=0) (actual time=21.590..278.674 rows=99628 loops=1)
         Recheck Cond: ((plno >= 1365700000) AND (plno <= 1365800000))
         ->  Bitmap Index Scan on pk_prc_plno_00  (cost=0.00..1120.16 rows=104026 width=0) (actual time=18.827..18.827 rows=99628 loops=1)
               Index Cond: ((plno >= 1365700000) AND (plno <= 1365800000))
 Total runtime: 489.998 ms
(6 rows)

nw=# explain analyze select count(*) from plprice_00 where plno between 1365700000 and 1365800000;
                                                                QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------
 Aggregate  (cost=145080.83..145080.84 rows=1 width=0) (actual time=490.234..490.236 rows=1 loops=1)
   ->  Bitmap Heap Scan on plprice_00  (cost=1120.16..144820.76 rows=104026 width=0) (actual time=21.589..278.760 rows=99628 loops=1)
         Recheck Cond: ((plno >= 1365700000) AND (plno <= 1365800000))
         ->  Bitmap Index Scan on pk_prc_plno_00  (cost=0.00..1120.16 rows=104026 width=0) (actual time=18.802..18.802 rows=99628 loops=1)
               Index Cond: ((plno >= 1365700000) AND (plno <= 1365800000))
 Total runtime: 490.374 ms
(6 rows)
7 фев 08, 10:36    [5255599]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
apapacy
Member

Откуда:
Сообщений: 1297
Вы опровергли не совсем мой пример. Ваши запросы абсолютно идентичны. А я в одном случае привел ID>A, а в другом ID>B. То есть запрос обращается к разным данным, но сам запрос аналогичный.

Я это стыкнулся так. Из большой таблицы выбираю для отражения в комбобкосе через
JDBC несколько строк. Затем по введенным буквам тем же запросом выбираю другие несколько строк. То есть данные не повторяются. Под MS запроса второй и так далее запрос работал
заметно быстрее. Под Postgrе такого заметного ускорения нет.
7 фев 08, 21:44    [5260347]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
LeXa NalBat
Member

Откуда: Москва
Сообщений: 2892
apapacy
Вы опровергли не совсем мой пример. Ваши запросы абсолютно идентичны. А я в одном случае привел ID>A, а в другом ID>B. То есть запрос обращается к разным данным, но сам запрос аналогичный.
да, невнимательно прочитал

apapacy
Я это стыкнулся так. Из большой таблицы выбираю для отражения в комбобкосе через
JDBC несколько строк. Затем по введенным буквам тем же запросом выбираю другие несколько строк. То есть данные не повторяются. Под MS запроса второй и так далее запрос работал
заметно быстрее. Под Postgrе такого заметного ускорения нет.
не понятно, откуда тут может получиться ускорение последующих запросов. имхо, гораздо больше времени тратится на то, чтобы прочитать данные с HDD, а не на построение плана запроса. в постгресе есть возможность однократного построения плана запроса, при использовании sql-операторов PREPARE и EXECUTE.
8 фев 08, 10:58    [5261657]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
VoDA
Member

Откуда: сеРверная пальмира :)
Сообщений: 4898
apapacy
Вы опровергли не совсем мой пример. Ваши запросы абсолютно идентичны. А я в одном случае привел ID>A, а в другом ID>B. То есть запрос обращается к разным данным, но сам запрос аналогичный.
Для того чтобы постгре сказать что это одинаковые запросы нужно использовать связанные переменные. смотрим в сторону PREPARE и EXECUTE.

MS SQL к этому относится проще ))))
8 фев 08, 16:45    [5265159]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Степан H.
Member

Откуда: Министерство Хунты❄
Сообщений: 1371
Leximus
Всем привет!
Меня очень интересует вопрос Чем PostgreSQL хуже MS SQL?
Жду ваших мнений! :-)


Не отклоняясь от темы ...

НИЧЕМ.
все зависит от прямоты (или кривизны) рук
23 фев 08, 18:53    [5331332]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
мимоходящий сисадмин
Guest
Локшин Марк

По поводу использования PostgreSQL 1C советую почитать форумы по 1С. Там что-то особой радости по этому поводу не видно.

это и есть главная беда постгреса под 1С - спецы по м$sql, писавшие 1С под постгрес(пусть и с помощью видных спецов по постгресу) и спецы(или EM-щики) по m$sql, пытающиеся админить установленные на постгрес системы.

и вообще
Степан H.

все зависит от прямоты (или кривизны) рук

истинная правда!
11 мар 08, 09:03    [5391956]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
gdv
Guest
1. У Постгреса послабее оптимизатор запросов. МС у меня практически всегда выдавал приемлемые планы даже для весьма запутанных запросов, Постгресс иногда сбивается даже на относительно простых.
2. У Постгресса нет возможности явно указать план (дать подсказку) оптимизатору. В комбинации с п.1. может создавать проблеммы. Все решается вменяемыми программистами, но несколько более геморно.
3. Хуже масштабируемость на действительно больших нагрузках. Необходимость создавать новый процесс для каждого нового подключения + доп.затраты при использовании общих ресурсов. Возможность кластеризации под вопросом. Нет инкрементальных бэкапов, и еженощный бэкап большой базы может стать проблемой.
10 май 08, 21:00    [5646815]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53011
Читал книгу по PostgreSQL. Сильно удивила рекомендация "...для ускорения работы запросов проводить vacuum и analyze..".

Насчёт анализа - понятно. Сбор статистики для оптимизатора и всё такое. Но вот зачем нужен вакуум? Это что шаг в сторону мелких СУБД типа Ассеss? Дескать - дать пользователю освободившееся после чистки таблиц дисковое пространство? Но пардон. Зачем пользователь сидит на сервере? На секунду преставил себе как в нашем биллинге (база размером 1Тб в режиме 24/7) проходит вакууум и.... перекрестился.

Если уж Постгрес засирает сегмент данных так, что сам не может в нём работать, то может быть ввести в него ручки управления пространством (сегменты, экстенты и т.п как Oracle)? Или ввести экспоненциальный рост размера экстента?

Вобсчем вот такое вот... ИМХО.
11 май 08, 12:20    [5647433]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Yo.!
Guest
mayton

Если уж Постгрес засирает сегмент данных так, что сам не может в нём работать, то может быть ввести в него ручки управления пространством (сегменты, экстенты и т.п как Oracle)? Или ввести экспоненциальный рост размера экстента?

а это каким боком поможет ? проблема в том, что постгрес и mssql держат версии строк (для MVCC) прямо в файлах данных и нужен процесс который будет вычищать никому ненужные версии. в оракле же поступили мудрее и UNDO имеет циклическую структуру, потому и зачищать ничего не нужно.
11 май 08, 12:47    [5647484]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
hvlad
Member

Откуда:
Сообщений: 11555
mayton
Читал книгу по PostgreSQL. Сильно удивила рекомендация "...для ускорения работы запросов проводить vacuum и analyze..".

Насчёт анализа - понятно. Сбор статистики для оптимизатора и всё такое. Но вот зачем нужен вакуум? Это что шаг в сторону мелких СУБД типа Ассеss? Дескать - дать пользователю освободившееся после чистки таблиц дисковое пространство?
Не пользователю.
Из-за не нужных более версий, данные в таблицах становятся разреженными. Т.е. актуальных версий на странице становится меньше, чем могло бы быть. Соответственно растёт IO.

Не дайте рассказам о дешёвых гигабайтах затмить разум :) Стоимость мега\гига\терабайта тут совершенно не при чём.
11 май 08, 14:18    [5647644]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

mayton пишет:

> Но вот зачем нужен вакуум? Это что шаг в сторону мелких СУБД типа

Чтобы очистить БД от старых версий записей. На
самом деле уже не парься, vacuum в современных версиях уже
не нужен, делается сам.

Posted via ActualForum NNTP Server 1.4

11 май 08, 23:10    [5648481]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365

ID>A, а в другом ID>B


А биндинг точно использовался ?
12 май 08, 09:54    [5649042]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Зл0й
Member

Откуда: Северная Калифорния
Сообщений: 686
mayton
Читал книгу по PostgreSQL. Сильно удивила рекомендация "...для ускорения работы запросов проводить vacuum и analyze..".

Насчёт анализа - понятно. Сбор статистики для оптимизатора и всё такое. Но вот зачем нужен вакуум? Это что шаг в сторону мелких СУБД типа Ассеss? Дескать - дать пользователю освободившееся после чистки таблиц дисковое пространство?


У Постгреса крайне неудачная (читай - идиотская) идеология storage engine, за что отдельное спасибо товарищу Майклу Стоунбрэйкеру. Все нормальные СУБД, как "версионники" так и "блокировщики" (Oracle, DB2, Teradata, MS SQL, Sybase, ...) пишут логи отдельно от tablespaces. В Постгресе все свалено в одну кучу, в тот самый tablespace. То есть, при отсутсвии vacuum, если у нас прошло 25 update'ов на некую запись Х у нас в базе будет валяться 26 версий этой записи, из которых 25 будут помечены "сия версия записи X убита тогда-то". Логи-то гораздо удобнее, их потихоньку сархивировать можно, или на более дешевый и медленный дисковый массив или на ленту. А сборка мусора это всегда зло, процесс труднопредсказуемый.

Исправить это безобразие малореально, т.к. storage engine в постгресе весьма тесно интегрирован с остальными компонентами СУБД. Если его переписывать - придется очень много чего вне storage engine переписать. Заниматься этим скорее всего никто не будет. Вот и занимает постгрес нишу систем где масштабируемость особо никого не волнует.

Единственное известное мне семейство уродцев с постгресоподобной идеологией это Интербэйс сотоварищи. Причем, если я ничего не путаю, то там идея чуть более грамотная - читатели выполняют сборку мусора. Тут правда я могу наврать, потому что я очень давно не трогал интэрбэйсоподобное.

Объяснения "на пальцах" наверняка есть к чему прикопаться, так что строго не судите.
17 май 08, 05:59    [5677087]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
hvlad
Member

Откуда:
Сообщений: 11555
Зл0й
У Постгреса крайне неудачная (читай - идиотская) идеология storage engine, за что отдельное спасибо товарищу Майклу Стоунбрэйкеру. Все нормальные СУБД, как "версионники" так и "блокировщики" (Oracle, DB2, Teradata, MS SQL, Sybase, ...) пишут логи отдельно от tablespaces. В Постгресе все свалено в одну кучу, в тот самый tablespace. То есть, при отсутсвии vacuum, если у нас прошло 25 update'ов на некую запись Х у нас в базе будет валяться 26 версий этой записи, из которых 25 будут помечены "сия версия записи X убита тогда-то". Логи-то гораздо удобнее, их потихоньку сархивировать можно, или на более дешевый и медленный дисковый массив или на ленту. А сборка мусора это всегда зло, процесс труднопредсказуемый.

Исправить это безобразие малореально, т.к. storage engine в постгресе весьма тесно интегрирован с остальными компонентами СУБД. Если его переписывать - придется очень много чего вне storage engine переписать. Заниматься этим скорее всего никто не будет. Вот и занимает постгрес нишу систем где масштабируемость особо никого не волнует.

Единственное известное мне семейство уродцев с постгресоподобной идеологией это Интербэйс сотоварищи. Причем, если я ничего не путаю, то там идея чуть более грамотная - читатели выполняют сборку мусора. Тут правда я могу наврать, потому что я очень давно не трогал интэрбэйсоподобное.

Объяснения "на пальцах" наверняка есть к чему прикопаться, так что строго не судите.
Дабы не судили строго, не стоит давать такие оценки (идиотская, уродцы и т.п.)
Насчёт сборки мусора - ты её ел, что позволяешь себе судить ?
Насчёт версий в логе - а что с индексами делать будешь ? Там версии в лог не запихнёшь.

Иногда стоит всё же думать, прежде чем "оценивать". Не стоит опыт, полученный в одних СУБД, слепо переносить на другие и хаять всё подряд.

Строго получилось ? :)
17 май 08, 10:29    [5677155]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709

Зл0й пишет:

> У Постгреса крайне неудачная (читай - идиотская) идеология storage
> engine, за что отдельное спасибо товарищу Майклу Стоунбрэйкеру. Все
> нормальные СУБД, как "версионники" так и "блокировщики" (Oracle, DB2,
> Teradata, MS SQL, Sybase, ...) пишут логи отдельно от tablespaces. В
> Постгресе все свалено в одну кучу, в тот самый tablespace. То есть, при
> отсутсвии vacuum, если у нас прошло 25 update'ов на некую запись Х у нас
> в базе будет валяться 26 версий этой записи, из которых 25 будут
> помечены "сия версия записи X убита тогда-то". Логи-то гораздо удобнее,
> их потихоньку сархивировать можно, или на более дешевый и медленный
> дисковый массив или на ленту. А сборка мусора это всегда зло, процесс
> труднопредсказуемый.

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

> Исправить это безобразие малореально, т.к. storage engine в постгресе
> весьма тесно интегрирован с остальными компонентами СУБД. Если его
> переписывать - придется очень много чего вне storage engine переписать.
> Заниматься этим скорее всего никто не будет. Вот и занимает постгрес
> нишу систем где масштабируемость особо никого не волнует.

Главное - что не за чем, потому что там как раз все в порядке.
А Зл0й, видимо, адепт MySQL c его отделенностью оптимизатора
и процессора от хранилищь, которая никому не нужна (фактически
используют только один энжин, MyISQM в одной нише - WEB,
и один энжин InnoDB - в другой, бизнес приложениях), и очень
вредна с точки знения программирования всего этого дела.

> Единственное известное мне семейство уродцев с постгресоподобной
> идеологией это Интербэйс сотоварищи. Причем, если я ничего не путаю, то
> там идея чуть более грамотная - читатели выполняют сборку мусора. Тут

Это - самая дебильная идея в Interbase, но сейчас уже давно они от нее
отказались, собирают точно так же, как и в PostgreSQL.

> правда я могу наврать, потому что я очень давно не трогал
> интэрбэйсоподобное.

Заметно.

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

Posted via ActualForum NNTP Server 1.4

17 май 08, 13:00    [5677287]     Ответить | Цитировать Сообщить модератору
 Re: Чем PostgreSQL хуже MS SQL?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54803

MasterZiv

Это - самая дебильная идея в Interbase, но сейчас уже давно они от нее
отказались, собирают точно так же, как и в PostgreSQL.

Вообще-то - с точностью до наоборот. Отказ от выделенного фонового
сборщика позволил избавиться от просадки производительности на больших
нагрузках. Так что тип сборки мусора теперь конфигурябелен.

Posted via ActualForum NNTP Server 1.4

17 май 08, 13:22    [5677333]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить