Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
Есть БД на postgreSQL. Стоят на 5 различных серверах..одна мастер, 4 слейв.... для них есть веб аппликейшен на яве.

Руководство поставило задачу перевести бд на informix...

Вопрос какие может дать преимущества informix по сравнение с postgreSQL и какие проблемы возникнут с переносом... ..
по факту есть очень большое количество разных схем с одинаковым контентом (таблица функции).. общий объем баз данных порядка 200 Гб

пока что вижу проблемы..

отсутствие подобных PostgreSQL схем в informix.
не нашел альтернативы функции dblink.
различия в типовых полях проблема тока может быть datatime.

Если кто то еще видит проблемы по переводу или же может в чем то меня поправить прошу высказаться.
9 ноя 11, 16:53    [11571049]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Dimitry Sibiryakov
Member

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

Vyacheclav
Руководство поставило задачу перевести бд на informix...

Интересно: чем оно это аргументировало?

Posted via ActualForum NNTP Server 1.4

9 ноя 11, 16:57    [11571096]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
скажем так есть крупный клиент у него кучу приложений ))))) многое стоит на informix и один вэб аппликейшен на postgreSQL. Они считают что вэб аппликейшен работает медленно и что переход на informix дасть лучшую производительность. Все доводы по оптимизации бд ,явы логики отбрасываются. надо подготовить документ по переход с бд на бд...какие пробелмы будут... что необходимо сделать..какие будут затраты на бд информикс (5 серверов) и т.д. поэтому в первую очередь интересует какие возникнут проблемы при миграции, и какая есть альтернатива у informix функции dblink в postgreSQL
9 ноя 11, 17:08    [11571192]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Yo.!
Guest
Vyacheclav,

информикс это блокировочник, постгрес версионник. шансы, что апликуха спроектированная под версионник нормально пойдет на блокировочнике не так уж велики. вам придется нехилый анализ каждого запроса провести и вполне вероятно редизайн всей апликухи.
9 ноя 11, 17:16    [11571237]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
Vyacheclav
Есть БД на postgreSQL. Стоят на 5 различных серверах..одна мастер, 4 слейв.... для них есть веб аппликейшен на яве.

Руководство поставило задачу перевести бд на informix...

Вопрос какие может дать преимущества informix по сравнение с postgreSQL и какие проблемы возникнут с переносом... ..
по факту есть очень большое количество разных схем с одинаковым контентом (таблица функции).. общий объем баз данных порядка 200 Гб

пока что вижу проблемы..

отсутствие подобных PostgreSQL схем в informix.
не нашел альтернативы функции dblink.
различия в типовых полях проблема тока может быть datatime.

Если кто то еще видит проблемы по переводу или же может в чем то меня поправить прошу высказаться.


То что вы называете схемой в informix эмулируется через database.
Коннект между базами осуществляется одниаково ( с точки зрения программера )
не зависимо от того на каком сервере база работает ( у баз должны быть одинаковые внутренние кодировки).
Одни сервер ( железяка и ОС ) может тянуть несколько ( кажется до 255 ) инстансов ( с разными параметрами onconfig) ,
каждый из которых может иметь на борту кучу баз.

Есть возможность настроить ER репликацию, все что скажете заедет в одну базу из другой на автомате.

Заходите в профильный форум , вам там расскажут.


Что касается производительности ,
то если ваше приложение не будет висеть на блокировках, то
выиграш по скорости вы получите 99%.
С точки зрения расходования ресурсов - ИМХО очень экономная СУБД.
9 ноя 11, 17:41    [11571435]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Dimitry Sibiryakov
Member

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

Vyacheclav
есть крупный клиент у него кучу приложений ))))) многое стоит на informix и один вэб
аппликейшен на postgreSQL

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

Posted via ActualForum NNTP Server 1.4

9 ноя 11, 17:45    [11571459]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
Самое главное преймущество , которое бросается в глаза
Информикс имеет чесный DIO multiblock read а не через кш ФС как в PG .
Что не мешает работать другим приложения рядом, активно использующим кеш ФС.

Возможно я отстал от жизни и в PG уже есть чесный multiblock read ,
когда то это было принципильным вопросом , разработчики не видили
смысла его организовывать и полностью полагались на кеш ФС..
9 ноя 11, 17:55    [11571528]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
в прошлом информиксовод
Vyacheclav
Есть БД на postgreSQL. Стоят на 5 различных серверах..одна мастер, 4 слейв.... для них есть веб аппликейшен на яве.

Руководство поставило задачу перевести бд на informix...

Вопрос какие может дать преимущества informix по сравнение с postgreSQL и какие проблемы возникнут с переносом... ..
по факту есть очень большое количество разных схем с одинаковым контентом (таблица функции).. общий объем баз данных порядка 200 Гб

пока что вижу проблемы..

отсутствие подобных PostgreSQL схем в informix.
не нашел альтернативы функции dblink.
различия в типовых полях проблема тока может быть datatime.

Если кто то еще видит проблемы по переводу или же может в чем то меня поправить прошу высказаться.


То что вы называете схемой в informix эмулируется через database.
Коннект между базами осуществляется одниаково ( с точки зрения программера )
не зависимо от того на каком сервере база работает ( у баз должны быть одинаковые внутренние кодировки).
Одни сервер ( железяка и ОС ) может тянуть несколько ( кажется до 255 ) инстансов ( с разными параметрами onconfig) ,
каждый из которых может иметь на борту кучу баз.

Есть возможность настроить ER репликацию, все что скажете заедет в одну базу из другой на автомате.

Заходите в профильный форум , вам там расскажут.


Что касается производительности ,
то если ваше приложение не будет висеть на блокировках, то
выиграш по скорости вы получите 99%.
С точки зрения расходования ресурсов - ИМХО очень экономная СУБД.



Хотелось бы уточнить возможно ли в информик делать запросы между database и если да то каким образом для примера.

Второе с помошью функиции dblink я мог копировать данные по средства DB с другого сервера не через ява код.... (копирование 500 тысяч строк с другого сервера занимает примерно 7-9 секунд (на моем рабочем компьютере, доступ к серверу я не имею так как он находиться за бугром но там это еще быстрее было ))))) ..в то как через ява когда на это уходили минуты а то и больше .)
9 ноя 11, 18:09    [11571650]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
Эмуляция через database не совсем наверное подойдет так как в postgreSQL между схемами есть связанные таблицы по FK, триггеры по сохранению целостности, актуальности информации.
9 ноя 11, 18:19    [11571728]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
приблизительно так


create synonym xxx  for database@server:owner.table;

select * from xxx

Только нужно соотвествующим образом подправиль $INFORMIXDIR/etc/sqlhosts
Что бы одни сервер видел другой .
9 ноя 11, 18:20    [11571737]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
Vyacheclav
Эмуляция через database не совсем наверное подойдет так как в postgreSQL между схемами есть связанные таблицы по FK, триггеры по сохранению целостности, актуальности информации.


попробуйте повесть ФК на ПК синонима,
я не в курсе уже несколько лет как отошел от дел, попробовать даже негде.

Идите в профильный форум.
Там на редкость дружелеюбные люди , ввиду того что их круг узок ,
и залетных тролей нет, ввиду низкого интереса к БД у обывателей.
9 ноя 11, 18:26    [11571770]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
Vyacheclav
Эмуляция через database не совсем наверное подойдет так как в postgreSQL между схемами есть связанные таблицы по FK, триггеры по сохранению целостности, актуальности информации.



В Информикс внутри одной базы есть пользователи и гранты.
Вам нужно будет избавиться от конфликта имен,
которые у вас возможно решаются разнесением по схемам.

Это пока единственное ограничение которое я вижу,
что бы собрать несколько схем ПГ в одной БД Информикс.
9 ноя 11, 19:50    [11572130]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
нашел в документации informix 11.70 следующе

Programming > SQL > Guide to SQL: Tutorial > Modify data > Concurrency and locks
....
To prevent errors of this kind, the database server imposes a system of locks. A lock is a claim, or reservation, that a program can place on a piece of data. The database server guarantees that, as long as the data is locked, no other program can modify it. When another program requests the data, the database server either makes the program wait or turns it back with an error.
...


Так версионник это или блокировочник ? ибо postgreSQL так же может дать обнолвения данных если задействованна блокировка на таблицу (ручками) или же просто вернет актуальные данные на момент запроса.
10 ноя 11, 12:34    [11573927]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
Vyacheclav
нашел в документации informix 11.70 следующе

Programming > SQL > Guide to SQL: Tutorial > Modify data > Concurrency and locks
....
To prevent errors of this kind, the database server imposes a system of locks. A lock is a claim, or reservation, that a program can place on a piece of data. The database server guarantees that, as long as the data is locked, no other program can modify it. When another program requests the data, the database server either makes the program wait or turns it back with an error.
...


Так версионник это или блокировочник ? ибо postgreSQL так же может дать обнолвения данных если задействованна блокировка на таблицу (ручками) или же просто вернет актуальные данные на момент запроса.


не правильно вырозился...
postgreSQL так же может не вернуть данных если задействованна блокировка на таблицу (ручками) или же если нет блокировки но идет апдейт просто вернет актуальные данные на момент начало запроса
10 ноя 11, 12:37    [11573961]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Yo.!
Guest
Vyacheclav,

информикс это классический блокировочник и вот такого "просто вернет актуальные данные на момент запроса" не может, со всеми вытекающими для вашей апликухи.

зы. представление о постгесных уровнях изолированности у вас похоже весьма своебразное.
10 ноя 11, 12:39    [11573975]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
Yo.!
Vyacheclav,

информикс это классический блокировочник и вот такого "просто вернет актуальные данные на момент запроса" не может, со всеми вытекающими для вашей апликухи.

зы. представление о постгесных уровнях изолированности у вас похоже весьма своебразное.


Я на уровне БД мало что знаю ибо не администратор БД..потому тут и задал тему что бы хоть какаие то получить разумные для меня объяснения... Смущает следующее the database server either makes the program wait or turns it back with an error.

если я правильно понимаю то классический блокировочник должен сделать только he database server either makes the program wait но никак or turns it back with an error (может я не правильно перевел... но или вернет обратно данные с ошибками (тобишь данные до момента начало апдейта) )

Если я что то не понимаю может мне кто даст ссылки на различия блокировочниках и версионниках буду признателен.
10 ноя 11, 12:50    [11574073]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Dimitry Sibiryakov
Member

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

Vyacheclav
or turns it back with an error (может я не правильно перевел... но или вернет обратно
данные с ошибками (тобишь данные до момента начало апдейта) )

Неправильно перевёл. "Будет ждать или вернёт ошибку."

А если ты ничего не знаешь о БД, то кто ты тогда в этом проекте? Менеджер?

Posted via ActualForum NNTP Server 1.4

10 ноя 11, 12:54    [11574114]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Yo.!
Guest
Vyacheclav

Я на уровне БД мало что знаю ибо не администратор БД..потому тут и задал тему что бы хоть какаие то получить разумные для меня объяснения... Смущает следующее the database server either makes the program wait or turns it back with an error.

если я правильно понимаю то классический блокировочник должен сделать только he database server either makes the program wait но никак or turns it back with an error (может я не правильно перевел... но или вернет обратно данные с ошибками (тобишь данные до момента начало апдейта) )

Если я что то не понимаю может мне кто даст ссылки на различия блокировочниках и версионниках буду признателен.

or turns it back with an error - тут имеется ввиду, что вернет ошибку. блокировочник при чтении накладывает блокировку и может наткнуться на залоченную запись и начнет ждать пока другая транзакция освободит ему залоченую запись. другая же транзакция может ровно так же остановиться и ожидать когда первая осводит другую запись для редактирования. ситуация патовая, сервер выберет одну из этих транзакций и прихлопнет ее. в результате одна из транзакций завершиться "with an error"
почитайте для начала документацию информикса где описываются isolation levels, общих описаний не видел, но по версионности в кратце есть что-то тут
http://www.osp.ru/os/2005/01/185218/#top
10 ноя 11, 13:07    [11574244]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
Я программист.. но щас вот поставили задачу и сказали обучить, разберись и предоставь план перехода с + и - ))) То есть как я понимаю если в версионнике селект выполнится с данными до транзакции, то информик будет ждать окнчания транзакции или же просто вернет ошибку без данных ?
10 ноя 11, 13:09    [11574266]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
Vyacheclav
Member

Откуда:
Сообщений: 10
Yo.!
Vyacheclav
Я на уровне БД мало что знаю ибо не администратор БД..потому тут и задал тему что бы хоть какаие то получить разумные для меня объяснения... Смущает следующее the database server either makes the program wait or turns it back with an error.

если я правильно понимаю то классический блокировочник должен сделать только he database server either makes the program wait но никак or turns it back with an error (может я не правильно перевел... но или вернет обратно данные с ошибками (тобишь данные до момента начало апдейта) )

Если я что то не понимаю может мне кто даст ссылки на различия блокировочниках и версионниках буду признателен.

or turns it back with an error - тут имеется ввиду, что вернет ошибку. блокировочник при чтении накладывает блокировку и может наткнуться на залоченную запись и начнет ждать пока другая транзакция освободит ему залоченую запись. другая же транзакция может ровно так же остановиться и ожидать когда первая осводит другую запись для редактирования. ситуация патовая, сервер выберет одну из этих транзакций и прихлопнет ее. в результате одна из транзакций завершиться "with an error"
почитайте для начала документацию информикса где описываются isolation levels, общих описаний не видел, но по версионности в кратце есть что-то тут
http://www.osp.ru/os/2005/01/185218/#top


Большое спасибо !!!!!!!! помог ламеру )))
10 ноя 11, 13:11    [11574288]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
Vyacheclav
Я программист.. но щас вот поставили задачу и сказали обучить, разберись и предоставь план перехода с + и - ))) То есть как я понимаю если в версионнике селект выполнится с данными до транзакции, то информик будет ждать окнчания транзакции или же просто вернет ошибку без данных ?


Это как настроите.
может ждать пока освободится, , может жать указанное вами время и отдавать ошибку если за это время
блокировка не освободилась , может отдавать ошибку сразу.





.
10 ноя 11, 14:45    [11575346]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
дедлоки
Guest
в прошлом информиксовод
Vyacheclav
Я программист.. но щас вот поставили задачу и сказали обучить, разберись и предоставь план перехода с + и - ))) То есть как я понимаю если в версионнике селект выполнится с данными до транзакции, то информик будет ждать окнчания транзакции или же просто вернет ошибку без данных ?


Это как настроите.
может ждать пока освободится, , может жать указанное вами время и отдавать ошибку если за это время
блокировка не освободилась , может отдавать ошибку сразу.
.

В информиксе нету обхода по графу блокировок для поиска дедлоков, т.е. дедлоки исключительно таймаутами выявляются?
10 ноя 11, 14:54    [11575451]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
дедлоки
в прошлом информиксовод
пропущено...


Это как настроите.
может ждать пока освободится, , может жать указанное вами время и отдавать ошибку если за это время
блокировка не освободилась , может отдавать ошибку сразу.
.

В информиксе нету обхода по графу блокировок для поиска дедлоков, т.е. дедлоки исключительно таймаутами выявляются?


В моторе есть упреждающий механизм.
Внутри одного сервера сервер не должен допускать взаимных блокировок.
В всяком случае я не помню явных проблем с попаданием сессий на дедлоки.

А между серверами такого механизма нет и нарваться можно.

http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.perf.doc/perf242.htm
10 ноя 11, 15:04    [11575573]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
дедлоки
Guest
в прошлом информиксовод
дедлоки
пропущено...

В информиксе нету обхода по графу блокировок для поиска дедлоков, т.е. дедлоки исключительно таймаутами выявляются?


В моторе есть упреждающий механизм.
Внутри одного сервера сервер не должен допускать взаимных блокировок.
В всяком случае я не помню явных проблем с попаданием сессий на дедлоки.

А между серверами такого механизма нет и нарваться можно.

http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.perf.doc/perf242.htm

Понятно, "использует блокировку таблицы для обнаружения дедлоков автоматически, и остановливает их до их возникновения". Единственно не понятно почему делается упор на "не допустить дедлок".
Чем отличается "не должен допускать взаимных блокировок" от "поиска блокировок по графу", не в смысле реализации, а в смысле эффекта?
По сути так же выпадает с ошибкой и откатом транзакции.

Ситуацию с дедлоком от обычной штатной ситуации отделяет лишь одна блокировка, до которой невозможно предугадать/предотвратить дедлок, а после которой уже поздно.
10 ноя 11, 15:41    [11575976]     Ответить | Цитировать Сообщить модератору
 Re: Сравнении PostgreSQl и Informix 11.50  [new]
в прошлом информиксовод
Guest
дедлоки
в прошлом информиксовод
пропущено...


В моторе есть упреждающий механизм.
Внутри одного сервера сервер не должен допускать взаимных блокировок.
В всяком случае я не помню явных проблем с попаданием сессий на дедлоки.

А между серверами такого механизма нет и нарваться можно.

http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.perf.doc/perf242.htm

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


А где вы нашли информацию о блокировке таблицы?
Мне самому стало интересно

Или выдумали ?


дедлоки
Чем отличается "не должен допускать взаимных блокировок" от "поиска блокировок по графу", не в смысле реализации, а в смысле эффекта?
По сути так же выпадает с ошибкой и откатом транзакции.

Ситуацию с дедлоком от обычной штатной ситуации отделяет лишь одна блокировка, до которой невозможно предугадать/предотвратить дедлок, а после которой уже поздно.


Да , а как по другому.
Вопрос был про таймауте ожидания на дедлоке.
Я вам сказал что их быть не должно.
10 ноя 11, 15:52    [11576082]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить