powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PostgreSQL vs MySQL
25 сообщений из 190, страница 3 из 8
PostgreSQL vs MySQL
    #36143625
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

А это что по вашему было?
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36143854
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упс. Не заметил.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36143859
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая это версия?
Просто с такой проблемой сталкивался не я один.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36144221
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ух ты! 5.1.30-community проблемы нет, видимо, действительно, пофиксили.
Лучше поздно, чем никогда...
В версиях 5.0.20 - 5.0.30х я тестировал это под разными осями, под разными кодировками(и клиентов и серверов и осей) и разными либами. Дело было точно не в настройках,
потому, как перед созданием триггера в этом же сеансе создавалась процедура с комментарием, и там было всё в порядке. При этом русский текст отображался правильно.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36147556
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен пишет:

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

Ну, ну. Особенно про "MySQL же разрабатывается одной командой" здорово.

Кстати, на счёт соединений. PGSQL использует (вроде бы) свою многозадачность.
MySQL -- использует многозадачность операционной сисстемы, на каждый
коннект создаёт поток. Это -- ОЧЕНЬ ПЛОХО по большому счёту, но дёшево
(попсово) в реализации.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36147565
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН пишет:

> Почему же к несчастью? Наоборот, к счастью.

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


А использовали бы либо нормальные платные СУБД (дешёвых не так мало),
либо нормальные бесплатные СУБД.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36147976
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Кстати, на счёт соединений. PGSQL использует (вроде бы) свою многозадачность.

Не совсем. Слон использует процессы.
Под виндами в этом есть минусы, т.к. процессы тут тормозят.
Зато взаимодействие основанное на процессах значительно надёжнее,
чем на потоках.
ХренЕсли вы думаете, я никогда не видел sigsegv на нем, то ошибаетесь.
А я видел то же самое на oracle. Видел, как M$SQL умирает. Баги есть везде.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36148923
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Кстати, на счёт соединений. PGSQL использует (вроде бы) свою многозадачность.
MySQL -- использует многозадачность операционной сисстемы, на каждый
коннект создаёт поток. Это -- ОЧЕНЬ ПЛОХО по большому счёту, но дёшево
(попсово) в реализации.


Во первых pgsql не использует "свою многозадачность". Он использует process per connect стратегию для соединений.
Во вторых "ОЧЕНЬ ПЛОХО" - нуждается в обосновании.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36148929
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН
Под виндами в этом есть минусы, т.к. процессы тут тормозят.
Зато взаимодействие основанное на процессах значительно надёжнее,
чем на потоках.


Не в случае с pgsql. Сервера, с process per connect считаются надежнее, так как процессы изолированы друг от друга, не имеют общей памяти, и не могут нагадить друг другу. Но pgsql имеет общую память для всех процессов в shared memory, которая синхронизируется семафорами. Поэтому нагадить друг другу - они могут точно также как threads в mysql.

Собственно - так и происходит в случае внезапной кончины одного из процессов в pgsql. В таком случае - семафоры и shared memory остаются в неопределенном состоянии, поэтому postmaster - управляющий процесс - просто убивает все остальные соединения, и ре-инициализирует семафоры и shared memory заново. То есть - pgsql просто не использует те advantages, которые дает архитектура process per connect.

А drawbacks такой архитектуры - более ресурсоемкие соединения - они остаются, их никуда не денешь..
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36148941
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Хрен

меня терзают смутные сомнения. о каких семофорах идет речь, операционной системы ? что за ОСь такая у которой остаются болтаться семофоры ? но больше заинтриговало shared memory - что там такого может оставить юзерский процесс, чего там такого чего нет в оракле ?
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36148942
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренНе в случае с pgsql. Сервера, с process per connect считаются надежнее, так как процессы изолированы друг от друга, не имеют общей памяти, и не могут нагадить друг другу. Но pgsql имеет общую память для всех процессов в shared memory, которая синхронизируется семафорами. Поэтому нагадить друг другу - они могут точно также как threads в mysql.

Собственно - так и происходит в случае внезапной кончины одного из процессов в pgsql. В таком случае - семафоры и shared memory остаются в неопределенном состоянии, поэтому postmaster - управляющий процесс - просто убивает все остальные соединения, и ре-инициализирует семафоры и shared memory заново. То есть - pgsql просто не использует те advantages, которые дает архитектура process per connect.Вы как-то сами себе противоречите, возможность отследить разрушение данных в общей памяти, падение процесса и произвести после этого корректный перезапуск как раз и есть то самое использование преимуществ раздельных процессов в pg.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149251
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен, эксперимент показывает, что убийства процессов не происходит.
На остальных сеансах это не отражается(8.4)
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149624
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,
а как именно ты заставил коннект умереть лютой смертью?
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149676
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dimitrа как именно ты заставил коннект умереть лютой смертью?
кому-то известно более одного способа "убийства процессов" ?
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149703
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНХрен, эксперимент показывает, что убийства процессов не происходит.
На остальных сеансах это не отражается(8.4)

Это интересно, надо попробовать. Быстрая проба на 8.3:

В двух окнах открываем 2 соединения psql
потом убиваем один из процессов:
Код: plaintext
1.
root@home:~# kill - 11   20204 

Потом в каждом из соединений делаем скажем select 1;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
$ psql
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

walrus=# 
walrus=# select 1;
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
Соединение с сервером было потеряно. Попытка переустановить: Успешно.

и во втором
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
$ psql 
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

walrus=# 
walrus=# select 1;
WARNING:  terminating connection because of crash of another server process
DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
HINT:  In a moment you should be able to reconnect to the database and repeat your command.
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
Соединение с сервером было потеряно. Попытка переустановить: Успешно.

В логе:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
2009-08-18 16:33:20 EST LOG:  server process (PID 20204) was terminated by signal 11: Segmentation fault
2009-08-18 16:33:20 EST LOG:  terminating any other active server processes
2009-08-18 16:33:20 EST WARNING:  terminating connection because of crash of another server process
2009-08-18 16:33:20 EST DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2009-08-18 16:33:20 EST HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2009-08-18 16:33:20 EST LOG:  all server processes terminated; reinitializing
2009-08-18 16:33:20 EST LOG:  database system was interrupted; last known up at 2009-08-18 16:32:37 EST
2009-08-18 16:33:20 EST LOG:  database system was not properly shut down; automatic recovery in progress
2009-08-18 16:33:20 EST LOG:  record with zero length at 0/3C7F17AC
2009-08-18 16:33:20 EST LOG:  redo is not required
2009-08-18 16:33:20 EST LOG:  autovacuum launcher started
2009-08-18 16:33:20 EST LOG:  database system is ready to accept connections

То есть по крайней мере, в 8-3 происходит именно так, как я описывал.. А в 8-4 надо будет обязательно попробовать, как только руки дойдут
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149746
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интересно, а если 8.3 именно убивать, kill -9 ?
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149794
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!, под вендой завершались через диспетчер задач-завершение процесса.
И 8.3.7 и 8.4 другие клиентские процессы при этом не завершались.
Особенности системы?
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149842
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скорее segfault постгрес решает обрабатывать перегрузкой сервера, нужно под линуксом 8.3 попробовать прибить по -9, тогда можно будет делать выводы ...
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36149857
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!кому-то известно более одного способа "убийства процессов" ?
более интересна была бы реакция на AV/SEGV в одном из рабочих процессов
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36150178
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!скорее segfault постгрес решает обрабатывать перегрузкой сервера, нужно под линуксом 8.3 попробовать прибить по -9, тогда можно будет делать выводы ...

то же самое при kill -9

Первое соединение:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
walrus=# select 1;
WARNING:  terminating connection because of crash of another server process
DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
HINT:  In a moment you should be able to reconnect to the database and repeat your command.
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
Соединение с сервером было потеряно. Попытка переустановить: Успешно.

Второе соединение:

Код: plaintext
1.
2.
3.
4.
5.
walrus=# select 1;
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
Соединение с сервером было потеряно. Попытка переустановить: Успешно.
walrus=# 


в логе
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
2009-08-18 20:33:36 EST LOG:  server process (PID 20215) was terminated by signal 9: Killed
2009-08-18 20:33:36 EST LOG:  terminating any other active server processes
2009-08-18 20:33:36 EST WARNING:  terminating connection because of crash of another server process
2009-08-18 20:33:36 EST DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2009-08-18 20:33:36 EST HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2009-08-18 20:33:36 EST LOG:  all server processes terminated; reinitializing
2009-08-18 20:33:36 EST LOG:  database system was interrupted; last known up at 2009-08-18 16:33:20 EST
2009-08-18 20:33:36 EST LOG:  database system was not properly shut down; automatic recovery in progress
2009-08-18 20:33:36 EST LOG:  record with zero length at 0/3C7F17EC
2009-08-18 20:33:36 EST LOG:  redo is not required
2009-08-18 20:33:36 EST LOG:  autovacuum launcher started
2009-08-18 20:33:36 EST LOG:  database system is ready to accept connections
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36150425
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен пишет:

> Во первых pgsql *не* использует "свою многозадачность". Он использует
> process per connect стратегию для соединений.

Ну не знаю. Надо посмотреть как у них серверный процесс выглядит.

> Во вторых "ОЧЕНЬ ПЛОХО" - нуждается в обосновании.

Для всего-то вам обоснования нужны ...
В любой операционной системе создавать бесконечное число потоков
невозможно, и бессмысленно с точки зрения СУБД -- у неё все равно
5-20 процессоров только есть, больше потоков создавать бессмысленно --
это одна накладуха (в ОС). Лучше иметь 5-20 потоков и брать их
из пула и выполнять в них запросы, передавая им структуру контекста
выполнения серверного процесса. Последнюю структуру надо иметь
в любом случае, так зачем тогда 2000 потоков ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36150439
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен пишет:

> Не в случае с pgsql. Сервера, с process per connect считаются надежнее,
> так как процессы изолированы друг от друга, не имеют общей памяти, и не
> могут нагадить друг другу.

Как процессы сервера БД могут не иметь общей памяти, скажи пожалуйста ?
Это что же, каждому коннекту свой кэш данных ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36150446
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.! пишет:

> меня терзают смутные сомнения. о каких семофорах идет речь, операционной
> системы ? что за ОСь такая у которой остаются болтаться семофоры ? но
> больше заинтриговало shared memory - что там такого может оставить
> юзерский процесс, чего там такого чего нет в оракле ?

Да гонит он. Чепуху какую-то сморозил.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36150789
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Хрен пишет:

> Во первых pgsql *не* использует "свою многозадачность". Он использует
> process per connect стратегию для соединений.

Ну не знаю. Надо посмотреть как у них серверный процесс выглядит.


Посмотрите, посмотрите.. прежде чем спорить.

MasterZiv
В любой операционной системе создавать бесконечное число потоков
невозможно, и бессмысленно с точки зрения СУБД -- у неё все равно
5-20 процессоров только есть, больше потоков создавать бессмысленно --
это одна накладуха (в ОС). Лучше иметь 5-20 потоков и брать их
из пула и выполнять в них запросы, передавая им структуру контекста
выполнения серверного процесса. Последнюю структуру надо иметь
в любом случае, так зачем тогда 2000 потоков ?


Вот то что вы привели - это модель mysql 6. А pgsql этого не делает.
...
Рейтинг: 0 / 0
PostgreSQL vs MySQL
    #36150800
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Как процессы сервера БД могут не иметь общей памяти, скажи пожалуйста ?
Это что же, каждому коннекту свой кэш данных ?


Может быть и такое. interbase classic к примеру
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_ss_vs_classic Classic architecture, the design in InterBase 4.0 and earlier, was process-based. For every client connection, a separate server process was started to execute the database engine, and each server process had a dedicated database cache.

А теперь сделайте еще один шаг и скажите, если shared data все равно нужна - в чем преимущество модели process per connection, которую использует postgres относительно mysql thread per connection?
...
Рейтинг: 0 / 0
25 сообщений из 190, страница 3 из 8
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PostgreSQL vs MySQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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