|
|
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, А это что по вашему было? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 10:24 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
упс. Не заметил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 11:36 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
А какая это версия? Просто с такой проблемой сталкивался не я один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 11:37 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Ух ты! 5.1.30-community проблемы нет, видимо, действительно, пофиксили. Лучше поздно, чем никогда... В версиях 5.0.20 - 5.0.30х я тестировал это под разными осями, под разными кодировками(и клиентов и серверов и осей) и разными либами. Дело было точно не в настройках, потому, как перед созданием триггера в этом же сеансе создавалась процедура с комментарием, и там было всё в порядке. При этом русский текст отображался правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2009, 13:05 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Хрен пишет: > Postgresql разрабатывается по принципу "вали все в кучу, потом > разберемся", толпой у которой даже багтрекера нет - форумом обходятся. > Поэтому там до фига фич, и те места, которые интересно писать - > прописаны хорошо. А скучные - типа тех же collation - никого не > вдохновляют. > > MySQL же разрабатывается одной командой, с вменяемой (платной) > техподдержкой и возможностью решить вопросы на любом уровне, включая > патчи специально под твои нужды. Не так давно к примеру видел такой > патч, который позоляет держать 20 - 30 тыщщ соединений. Ну, ну. Особенно про "MySQL же разрабатывается одной командой" здорово. Кстати, на счёт соединений. PGSQL использует (вроде бы) свою многозадачность. MySQL -- использует многозадачность операционной сисстемы, на каждый коннект создаёт поток. Это -- ОЧЕНЬ ПЛОХО по большому счёту, но дёшево (попсово) в реализации. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2009, 13:29 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН пишет: > Почему же к несчастью? Наоборот, к счастью. Потому что если бы он не работал, то люди не парили бы себе и разработчикам мозг по использованию и поддержке этого Г. А использовали бы либо нормальные платные СУБД (дешёвых не так мало), либо нормальные бесплатные СУБД. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2009, 13:32 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
MasterZiv Кстати, на счёт соединений. PGSQL использует (вроде бы) свою многозадачность. Не совсем. Слон использует процессы. Под виндами в этом есть минусы, т.к. процессы тут тормозят. Зато взаимодействие основанное на процессах значительно надёжнее, чем на потоках. ХренЕсли вы думаете, я никогда не видел sigsegv на нем, то ошибаетесь. А я видел то же самое на oracle. Видел, как M$SQL умирает. Баги есть везде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2009, 15:16 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
MasterZiv Кстати, на счёт соединений. PGSQL использует (вроде бы) свою многозадачность. MySQL -- использует многозадачность операционной сисстемы, на каждый коннект создаёт поток. Это -- ОЧЕНЬ ПЛОХО по большому счёту, но дёшево (попсово) в реализации. Во первых pgsql не использует "свою многозадачность". Он использует process per connect стратегию для соединений. Во вторых "ОЧЕНЬ ПЛОХО" - нуждается в обосновании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 00:38 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН Под виндами в этом есть минусы, т.к. процессы тут тормозят. Зато взаимодействие основанное на процессах значительно надёжнее, чем на потоках. Не в случае с pgsql. Сервера, с process per connect считаются надежнее, так как процессы изолированы друг от друга, не имеют общей памяти, и не могут нагадить друг другу. Но pgsql имеет общую память для всех процессов в shared memory, которая синхронизируется семафорами. Поэтому нагадить друг другу - они могут точно также как threads в mysql. Собственно - так и происходит в случае внезапной кончины одного из процессов в pgsql. В таком случае - семафоры и shared memory остаются в неопределенном состоянии, поэтому postmaster - управляющий процесс - просто убивает все остальные соединения, и ре-инициализирует семафоры и shared memory заново. То есть - pgsql просто не использует те advantages, которые дает архитектура process per connect. А drawbacks такой архитектуры - более ресурсоемкие соединения - они остаются, их никуда не денешь.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 00:47 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
2Хрен меня терзают смутные сомнения. о каких семофорах идет речь, операционной системы ? что за ОСь такая у которой остаются болтаться семофоры ? но больше заинтриговало shared memory - что там такого может оставить юзерский процесс, чего там такого чего нет в оракле ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 01:31 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
ХренНе в случае с pgsql. Сервера, с process per connect считаются надежнее, так как процессы изолированы друг от друга, не имеют общей памяти, и не могут нагадить друг другу. Но pgsql имеет общую память для всех процессов в shared memory, которая синхронизируется семафорами. Поэтому нагадить друг другу - они могут точно также как threads в mysql. Собственно - так и происходит в случае внезапной кончины одного из процессов в pgsql. В таком случае - семафоры и shared memory остаются в неопределенном состоянии, поэтому postmaster - управляющий процесс - просто убивает все остальные соединения, и ре-инициализирует семафоры и shared memory заново. То есть - pgsql просто не использует те advantages, которые дает архитектура process per connect.Вы как-то сами себе противоречите, возможность отследить разрушение данных в общей памяти, падение процесса и произвести после этого корректный перезапуск как раз и есть то самое использование преимуществ раздельных процессов в pg. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 01:35 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Хрен, эксперимент показывает, что убийства процессов не происходит. На остальных сеансах это не отражается(8.4) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 10:22 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, а как именно ты заставил коннект умереть лютой смертью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 12:05 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
dimitrа как именно ты заставил коннект умереть лютой смертью? кому-то известно более одного способа "убийства процессов" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 12:19 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНХрен, эксперимент показывает, что убийства процессов не происходит. На остальных сеансах это не отражается(8.4) Это интересно, надо попробовать. Быстрая проба на 8.3: В двух окнах открываем 2 соединения psql потом убиваем один из процессов: Код: plaintext 1. Потом в каждом из соединений делаем скажем select 1; Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. и во втором Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. В логе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. То есть по крайней мере, в 8-3 происходит именно так, как я описывал.. А в 8-4 надо будет обязательно попробовать, как только руки дойдут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 12:28 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
интересно, а если 8.3 именно убивать, kill -9 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 12:42 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Yo.!, под вендой завершались через диспетчер задач-завершение процесса. И 8.3.7 и 8.4 другие клиентские процессы при этом не завершались. Особенности системы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 12:56 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
скорее segfault постгрес решает обрабатывать перегрузкой сервера, нужно под линуксом 8.3 попробовать прибить по -9, тогда можно будет делать выводы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 13:08 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Yo.!кому-то известно более одного способа "убийства процессов" ? более интересна была бы реакция на AV/SEGV в одном из рабочих процессов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 13:14 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Yo.!скорее segfault постгрес решает обрабатывать перегрузкой сервера, нужно под линуксом 8.3 попробовать прибить по -9, тогда можно будет делать выводы ... то же самое при kill -9 Первое соединение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Второе соединение: Код: plaintext 1. 2. 3. 4. 5. в логе Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 14:40 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Хрен пишет: > Во первых pgsql *не* использует "свою многозадачность". Он использует > process per connect стратегию для соединений. Ну не знаю. Надо посмотреть как у них серверный процесс выглядит. > Во вторых "ОЧЕНЬ ПЛОХО" - нуждается в обосновании. Для всего-то вам обоснования нужны ... В любой операционной системе создавать бесконечное число потоков невозможно, и бессмысленно с точки зрения СУБД -- у неё все равно 5-20 процессоров только есть, больше потоков создавать бессмысленно -- это одна накладуха (в ОС). Лучше иметь 5-20 потоков и брать их из пула и выполнять в них запросы, передавая им структуру контекста выполнения серверного процесса. Последнюю структуру надо иметь в любом случае, так зачем тогда 2000 потоков ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 15:53 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Хрен пишет: > Не в случае с pgsql. Сервера, с process per connect считаются надежнее, > так как процессы изолированы друг от друга, не имеют общей памяти, и не > могут нагадить друг другу. Как процессы сервера БД могут не иметь общей памяти, скажи пожалуйста ? Это что же, каждому коннекту свой кэш данных ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 15:55 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
Yo.! пишет: > меня терзают смутные сомнения. о каких семофорах идет речь, операционной > системы ? что за ОСь такая у которой остаются болтаться семофоры ? но > больше заинтриговало shared memory - что там такого может оставить > юзерский процесс, чего там такого чего нет в оракле ? Да гонит он. Чепуху какую-то сморозил. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 15:56 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
MasterZiv Хрен пишет: > Во первых pgsql *не* использует "свою многозадачность". Он использует > process per connect стратегию для соединений. Ну не знаю. Надо посмотреть как у них серверный процесс выглядит. Посмотрите, посмотрите.. прежде чем спорить. MasterZiv В любой операционной системе создавать бесконечное число потоков невозможно, и бессмысленно с точки зрения СУБД -- у неё все равно 5-20 процессоров только есть, больше потоков создавать бессмысленно -- это одна накладуха (в ОС). Лучше иметь 5-20 потоков и брать их из пула и выполнять в них запросы, передавая им структуру контекста выполнения серверного процесса. Последнюю структуру надо иметь в любом случае, так зачем тогда 2000 потоков ? Вот то что вы привели - это модель mysql 6. А pgsql этого не делает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 17:50 |
|
||
|
PostgreSQL vs MySQL
|
|||
|---|---|---|---|
|
#18+
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? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2009, 17:54 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=36150800&tid=1552804]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 388ms |

| 0 / 0 |
