powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PostgreSQL или MySQL вместо Oracle
87 сообщений из 87, показаны все 4 страниц
PostgreSQL или MySQL вместо Oracle
    #35857391
Intser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

По политическим соображениям требуется перенести существующий проект с Oracle на MySQL и PostgreSQL. C MySQL имею некоторый опыт общения, с постгресом нет.
Параметры проекта следующие
1. База работает в режиме 24х7 и представляет из себя хранилище данных - раз в 15 минут загружаются новые данные, пользователи в основном только просматривают отчеты - web интерфейс.
2. Размер базы 80-100 гигов
3. Загружаемые данные хранятся в клобах(большая часть) - размер от 1М до 10М, может быть и больше.
4. Широко используется серверная логика pl/sql, в частности для парсинга клобов и выдачи курсоров приложениям.
5. Используеся партицирование для больших таблиц - по мере накопления данных устаревшии партиции экспортируются и удаляются из базы освобождая место.

Вопрос такой - какую базу из выше перечесленных стоит предпочесть? Требуется хорошая поддержка CLOB и точно экспорт таблиц - думаю отказаться от партиций и просто создавать отдельные таблицы с префиксами.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35857479
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Intser,

автор
4. Широко используется серверная логика pl/sql, в частности для парсинга клобов и выдачи курсоров приложениям.

тогда разумнее постгрес
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35857492
Intser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренIntser,

автор
4. Широко используется серверная логика pl/sql, в частности для парсинга клобов и выдачи курсоров приложениям.

тогда разумнее постгрес

Я тоже склоняюсь к постгресу - из плюсов там есть pl/sql - мельком видел что он достаточно мощный, pl/perl - это интересно, но не смотрел пока. Партицирование тоже имеется - скорее всего все-же заюзаю. Из минусов - похоже нету olap - правда его и в MySQL нет.
Просто хотелось услышать разные мнения.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35857503
Фотография barrabas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
триггеры то есть, значит и olap замутить не сложно.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35859272
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
barrabasтриггеры то есть, значит и olap замутить не сложно.
Как одно к другому относится?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35860645
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IntserПо политическим соображениям требуется перенести существующий проект с Oracle на MySQL и PostgreSQL. C MySQL имею некоторый опыт общения, с постгресом нет.
Параметры проекта следующие
1. База работает в режиме 24х7 и представляет из себя хранилище данных - раз в 15 минут загружаются новые данные, пользователи в основном только просматривают отчеты - web интерфейс.
2. Размер базы 80-100 гигов.
3. Загружаемые данные хранятся в клобах(большая часть) - размер от 1М до 10М, может быть и больше.
4. Широко используется серверная логика pl/sql, в частности для парсинга клобов и выдачи курсоров приложениям.
5. Используеся партицирование для больших таблиц - по мере накопления данных устаревшии партиции экспортируются и удаляются из базы освобождая место.
Вопрос такой - какую базу из выше перечесленных стоит предпочесть? Требуется хорошая поддержка CLOB и точно экспорт таблиц - думаю отказаться от партиций и просто создавать отдельные таблицы с префиксами.Посмотрите на DB2 Express-C - бесплатен, нет ограничений на объем БД, SQL всяко не беднее Oracle.
1. Очень быстрые средства пакетной заливки данных. Работает со всеми web app. серверами
2,3. В общем, не много, хотя и зависит от числа пользователей.
4. Oracle pl/sql не поддерживается, хотя в след. версии вроде обещают. Но есть Java, в т.ч. для SP. Вообще, вместо парсинга клобов посмотрите на мощный XML storage - глядишь, и парсинг не понадобится (в смысле, станет автоматическим), зато появятся XML-индексы, текстовые индексы и XQuery. Если структура ложится на XML, скорость возрастет многократно.
5. В бесплатном table partitioning нет.
С импортом-экспортом, в т.ч. XML, все замечательно. OLAP в виде оконных функций есть.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35860803
Intser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Apexbarrabasтриггеры то есть, значит и olap замутить не сложно.
Как одно к другому относится?
я тоже не понял :)
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35860807
Intser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FavnIntserПо политическим соображениям требуется перенести существующий проект с Oracle на MySQL и PostgreSQL. C MySQL имею некоторый опыт общения, с постгресом нет.
Параметры проекта следующие
1. База работает в режиме 24х7 и представляет из себя хранилище данных - раз в 15 минут загружаются новые данные, пользователи в основном только просматривают отчеты - web интерфейс.
2. Размер базы 80-100 гигов.
3. Загружаемые данные хранятся в клобах(большая часть) - размер от 1М до 10М, может быть и больше.
4. Широко используется серверная логика pl/sql, в частности для парсинга клобов и выдачи курсоров приложениям.
5. Используеся партицирование для больших таблиц - по мере накопления данных устаревшии партиции экспортируются и удаляются из базы освобождая место.
Вопрос такой - какую базу из выше перечесленных стоит предпочесть? Требуется хорошая поддержка CLOB и точно экспорт таблиц - думаю отказаться от партиций и просто создавать отдельные таблицы с префиксами.Посмотрите на DB2 Express-C - бесплатен, нет ограничений на объем БД, SQL всяко не беднее Oracle.
1. Очень быстрые средства пакетной заливки данных. Работает со всеми web app. серверами
2,3. В общем, не много, хотя и зависит от числа пользователей.
4. Oracle pl/sql не поддерживается, хотя в след. версии вроде обещают. Но есть Java, в т.ч. для SP. Вообще, вместо парсинга клобов посмотрите на мощный XML storage - глядишь, и парсинг не понадобится (в смысле, станет автоматическим), зато появятся XML-индексы, текстовые индексы и XQuery. Если структура ложится на XML, скорость возрастет многократно.
5. В бесплатном table partitioning нет.
С импортом-экспортом, в т.ч. XML, все замечательно. OLAP в виде оконных функций есть.
Спасибо. Но все же на выбор имеется только MySQL или PostgreSQL :). Я буду использовать постгрес - есть реальная возможность большую часть pl/sql перенести + партицирование. Для клобов использую видимо text. Насчет хмл для клобов - интересная идея кстати, посмотрю обязательно.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35860989
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IntserЯ буду использовать постгрес - есть реальная возможность большую часть pl/sql перенести + партицирование. Для клобов использую видимо text. Насчет хмл для клобов - интересная идея кстати, посмотрю обязательно.

вот как раз насчет partitioning postgres то и не блещет.. у mysql получше будет. зато plsql конечно намного ближе к оракловскому по синтаксису, так что Вы правильно выбрали
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35864075
Stas Tristan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тому же MySQL стал платным, а это немаловажно.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35866222
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stas TristanК тому же MySQL стал платным, а это немаловажно.

Нет, не стал.. Вы ошибаетесь. Он также как и был под GPL.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35866331
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренStas TristanК тому же MySQL стал платным, а это немаловажно.

Нет, не стал.. Вы ошибаетесь. Он также как и был под GPL.

И не только ;) (c) Домик в деревне
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35866532
Фотография BION
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan)ХренStas TristanК тому же MySQL стал платным, а это немаловажно.

Нет, не стал.. Вы ошибаетесь. Он также как и был под GPL.

И не только ;) (c) Домик в деревне

http://dev.mysql.com/downloads/

...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35867708
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас Хрен скажет, что "я возьму бесплатный Community Edition", и все будет ок.
И отчасти будет прав. Потому что для MySQL требование использовать коммерческие версии начинается, когда MySQL распространяется в составе коммерческих приложений. Для себя-то, понятно, его можно юзать бесплатно.

С другой стороны, если ему понадобятся фичи Enterprise - придется платить.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35867954
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Какие фичи для энтерпрайс вы имеете в виду? По фичам энтерпрайс и коммьюнити версии не отличаются.. Они отличаются саппортом и возможностью распространения в не-GPL окружении...
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35869202
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне всегда было смешно, когда человек выбирает после Оракла Мускуль или Постгресс!

Конечно, бери Постгресс, какой к черту Мусуль?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35869443
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абсолют,

Зависит от задачи. Многие вещи "мускуль" (как вы его называете) делает лучше. А советовать базу просто по принципу "потому что с оракла" - это непрофессинально.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35869601
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренАбсолют,

Зависит от задачи. Многие вещи "мускуль" (как вы его называете) делает лучше. А советовать базу просто по принципу "потому что с оракла" - это непрофессинально.
Например?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35869694
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренКакие фичи для энтерпрайс вы имеете в виду? По фичам энтерпрайс и коммьюнити версии не отличаются..
ну только что же BION привел страничку с таблицей разницы Community и Enterprise. Я имел в виду то, что может потребоваться, что написано во втором столбце для Enterprise. Дистрибутив может быть и один.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35869755
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ApexХренАбсолют,

Зависит от задачи. Многие вещи "мускуль" (как вы его называете) делает лучше. А советовать базу просто по принципу "потому что с оракла" - это непрофессинально.
Например?

Например все что касается кодировок и collate.. В постгресе кодировка одна на всю базу, а collate еще хуже - одна на весь набор баз (то, что в pg называется cluster)

Например тот же partitioning.. В посгресе его нет. То что есть - это инструкция "как нам обойтись без partitioning используя наследование"

Например репликация в mysql уже отболела детскими болезнями, и вполне рабочий инструмент. В pg - намного хуже - есть только сторонние примочки, которые ругают большинство тех, кто пользовался.

Например pluggable engines... если нужен memory engine или archive engine - pg не подходит

Например mysql cluster.. Не слишком удобен, но для pg вообще нет аналогичного решения.

Например использование raw disks (без использования файловой система) для хранения данных.

И тд и тп.

Правильный подход - использовать привильный инструмент в правильных задачах.. К сожалению нет "серебряной пули" которая бы подходила везде.. И postgres не везде подходит..
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35869865
Фотография Apex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен,

Сенкс, я вообще чисто из академического интереса спрашивал, т.к. не спец не по первой не по второй СУБД)
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35870053
Фотография Абсолют
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренАбсолют,

Зависит от задачи. Многие вещи "мускуль" (как вы его называете) делает лучше. А советовать базу просто по принципу "потому что с оракла" - это непрофессинально.
В моей реплики было главное слово "после" Оракла. А к мускулю претензий нет, я просто его нигде не использую. Да и постгресс уже давно тоже.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35877642
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен
Например репликация в mysql уже отболела детскими болезнями, и вполне рабочий инструмент. В pg - намного хуже - есть только сторонние примочки, которые ругают большинство тех, кто пользовался.

Например pluggable engines... если нужен memory engine или archive engine - pg не подходит

Великолепный образчик двоемыслия: "сторонние примочки" для репликации в PgSQL --- плохо, "сторонние примочки" для движков таблиц в MySQL --- замечательно.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35877861
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Хрен

а можно тем кто не в теме пояснить чем партитионинг постгре через наследование плох ? особенно на фоне майскл.

на счет кластера - его нет в майскл - та хреновина в памяти которую вдруг обозвали кластером весчь полезная в двух, максимум трех случаях. имхо "кластер" от skype для PG поинтересней выглядит.

ЗЫ. у PG посерьезней оптимизатор, а это многое перевешивает
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35880291
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sad SpiritХрен
Например репликация в mysql уже отболела детскими болезнями, и вполне рабочий инструмент. В pg - намного хуже - есть только сторонние примочки, которые ругают большинство тех, кто пользовался.

Например pluggable engines... если нужен memory engine или archive engine - pg не подходит

Великолепный образчик двоемыслия: "сторонние примочки" для репликации в PgSQL --- плохо, "сторонние примочки" для движков таблиц в MySQL --- замечательно.

Не передергивайте. Есть разница между "сторонними примочками" и возможностью расширения сервера.

Сторонние примочки для репликации в PG -- плохо, потому что нет никакого другого решения, кроме 3rd party. Это значит, что 1) при выпуске новых версий pg нет никакой гарантии, что сторонние примочки будут отрабатывать также как и для предыдущей версии.. 2) нет никакой гарантии что у 3rd party не пропадет интерес развивать свой продукт. 3) чтобы обеспечить полноценную репликацию, необходимо более серьезное взаимодействие серверов, чем это может обеспечить отдельный процесс, который отлавливает изменения через триггеры в мастер базе.

А плагины в mysql - это не сторонние примочки. Это расширение mysql, потому что родные движки точно так же поставляются в виде плагинов, и есть возможность и использовать родные движки, и добавлять новые если есть желание. Это не замена, это расширение.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35880309
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!,

авторсчет кластера - его нет в майскл - та хреновина в памяти которую вдруг обозвали кластером весчь полезная в двух, максимум трех случаях. имхо "кластер" от skype для PG поинтересней выглядит.


Значит Вы не владеете вопросом.

То что делают утилиты skype (I assume you mean plproxy & pgbounce) - это называется шардинг, и к кластерам никакого отношения не имеет. В mysql btw также есть аналогичные решения.. "От производителя", кстати.

А клсатер mysql это именно кластер и Ваше пренебрежение говорит в основном о том, что Вы с ним не работали.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35880340
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!2Хрен
а можно тем кто не в теме пояснить чем партитионинг постгре через наследование плох ? особенно на фоне майскл.


Пояснить можно.. тем что:
1) таким способом можно реализовать только range и list partitioning.. в mysql + к тому hash и key partitioning

2) вы не можете менять ключевое поле, по которому partitioning. Если обноволенная запись должна попадать в другой partition, реализация через наследование просто обломается.

3) вам придется навешивать триггер и писать ручками в триггере куда добавлять новую запись при инсерте.. И не дай бог ошибетесь. То есть границы каждой partition - вам придется указывать в 2 местах - в check table в самой таблице, и в триггере.. Если не совпадет, то сам виноват.

И тд. И тп..
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35880377
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хрен

3) вам придется навешивать триггер и писать ручками в триггере куда добавлять новую запись при инсерте.. И не дай бог ошибетесь. То есть границы каждой partition - вам придется указывать в 2 местах - в check table в самой таблице, и в триггере.. Если не совпадет, то сам виноват.


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

по поводу кластера mysql, он элементарно не умеет хранить данные на диске, посчитать агригаты и имеет только read committed - т.е. консистентный набор с этого кеша в памяти не получить. не так уж много задач приживутся на таком "кластере".
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35883108
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренSad Spirit
Великолепный образчик двоемыслия: "сторонние примочки" для репликации в PgSQL --- плохо, "сторонние примочки" для движков таблиц в MySQL --- замечательно.

Не передергивайте. Есть разница между "сторонними примочками" и возможностью расширения сервера.

Сторонние примочки для репликации в PG -- плохо, потому что нет никакого другого решения, кроме 3rd party. Это значит, что 1) при выпуске новых версий pg нет никакой гарантии, что сторонние примочки будут отрабатывать также как и для предыдущей версии.. 2) нет никакой гарантии что у 3rd party не пропадет интерес развивать свой продукт.

А вы не могли бы заодно дать гарантию , что разработчики MySQL в полном составе не пойдут на следующей неделе в Химки торговать деревянными членами?..

Что, тоже нет гарантии ? Обидно-то как...


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

А доказать утверждение можно? Я понимаю, что в MySQL триггеры появились буквально на днях и реализовывать репликацию пришлось на гораздо более низком уровне, но не очень понимаю, как из этого следует, что репликация на триггерах неполноценна?..

А плагины в mysql - это не сторонние примочки. Это расширение mysql, потому что родные движки точно так же поставляются в виде плагинов, и есть возможность и использовать родные движки, и добавлять новые если есть желание. Это не замена, это расширение.
Да-да-да, при этом единственный приличный "родной движок" TM принадлежит заклятым друзьям из
фирмы Оракле. Кстати, а есть гарантия , что тем не надоест его разрабатывать?..
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35932695
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sad Spirit, а с полнотекстом, к примеру, в этом движке как быть и не ясно.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35934482
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sad Spirit
А вы не могли бы заодно дать гарантию , что разработчики MySQL в полном составе не пойдут на следующей неделе в Химки торговать деревянными членами?..


А где гарантия что завтра солнце не потухнет?

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

Sad Spirit

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

А доказать утверждение можно? Я понимаю, что в MySQL триггеры появились буквально на днях и реализовывать репликацию пришлось на гораздо более низком уровне, но не очень понимаю, как из этого следует, что репликация на триггерах неполноценна?..


Легко. Любые действия которые не отлавливаются триггерами - остаются за бортом. Например alter table. Например drop table; create table с тем же именем и другими полями введет вашу основанную на триггерах репликацию в ступор.

Например что случится если пропадет связь мастера со слоником? Куда денутся изменения таблиц во время такой сетевой проблемы?

Sad Spirit
А плагины в mysql - это не сторонние примочки. Это расширение mysql, потому что родные движки точно так же поставляются в виде плагинов, и есть возможность и использовать родные движки, и добавлять новые если есть желание. Это не замена, это расширение.
Да-да-да, при этом единственный приличный "родной движок" TM принадлежит заклятым друзьям из
фирмы Оракле. Кстати, а есть гарантия , что тем не надоест его разрабатывать?..

Любой из движков mysql даст фору постгресу на том типе загрузки для которого он был разработан.. Так что лучше бы помолчали про "единственный приличный".

А гарантии - innodb находится под лицензией GPL, и вот например: форк innodb.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35934491
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!
по поводу кластера mysql, он элементарно не умеет хранить данные на диске,


умеет

Yo.!
посчитать агригаты


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

Yo.!
не так уж много задач приживутся на таком "кластере".


Во первых - таких задач достаточно. Во вторых не забывайте, у постгреса этого вообще нет. Никакого варианта.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35934589
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен
Например drop table; create table с тем же именем и другими полями
введет вашу основанную на триггерах репликацию в ступор.

drop таблицы в распределённой БД... Это сильно. А уж как введёт в ступор
репликацию на триггерах нечаянный "format c:", это просто неописуемо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35934632
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Хрен
Например drop table; create table с тем же именем и другими полями
введет вашу основанную на триггерах репликацию в ступор.

drop таблицы в распределённой БД... Это сильно. А уж как введёт в ступор
репликацию на триггерах нечаянный "format c:", это просто неописуемо.


Если Вы полагаете что Вам никогда не придется править схему базы после запуска репликации - вы живете в выдуманном Вами мире.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35934655
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хрен
Если Вы полагаете что Вам никогда не придется править схему базы после
запуска репликации - вы живете в выдуманном Вами мире.

Если Вы полагаете, что схему распределённой базы будут править кретины,
неспособные поставить об этом в известность репликатор - я не хочу
жить в Вашем мире.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35936314
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХренSad Spirit
А вы не могли бы заодно дать гарантию , что разработчики MySQL в полном составе не пойдут на следующей неделе в Химки торговать деревянными членами?..


А где гарантия что завтра солнце не потухнет?

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

Фиксируем: товарищ Хрен не может дать гарантии дальнейшего существования проекта MySQL, но имеет наглость требовать таких гарантий от других проектов.

Хрен
Sad Spirit
А плагины в mysql - это не сторонние примочки. Это расширение mysql, потому что родные движки точно так же поставляются в виде плагинов, и есть возможность и использовать родные движки, и добавлять новые если есть желание. Это не замена, это расширение.
Да-да-да, при этом единственный приличный "родной движок" TM принадлежит заклятым друзьям из
фирмы Оракле. Кстати, а есть гарантия , что тем не надоест его разрабатывать?..

Любой из движков mysql даст фору постгресу на том типе загрузки для которого он был разработан.. Так что лучше бы помолчали про "единственный приличный".

Да, и мы все великолепно знаем тип загрузки , для которого они был разработаны, он называется "бенчмарки MySQL". Как только для оценки пытаются использовать бенчмарки других производителей, "фора" ВНЕЗАПНО куда-то испаряется.

И ещё, верны ли утверждения:

Любой из движков mysql даст фору Oracle на том типе загрузки для которого он был разработан.


Любой из движков mysql даст фору MS SQL на том типе загрузки для которого он был разработан.


Любой из движков mysql даст фору DB2 на том типе загрузки для которого он был разработан.

Если да, то почему Вы так выделяете Postgres?..


А гарантии - innodb находится под лицензией GPL, и вот например: форк innodb.
То есть 3rd party расширения для PostgreSQL --- это плохо, а чудовищный зоопарк fork'ов MySQL --- хорошо? Вы либо крестик снимите, либо трусы оденьте...
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35936554
дддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Intser

По политическим соображениям требуется перенести существующий проект с Oracle на MySQL и PostgreSQL.

почему бу не перейти на бесплатный ORacle 10g?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35936582
йа_тупицо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дддддд,
а нофега огрызками пользоваццо?
Особенно если есть PostgreSQL
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35936759
ддддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Чтобы не переписывать логику, написанную на PL/SQL
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35936814
йа_тупиццо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ддддддд, а что там нужно переписывать?
По-моему там таких мест очень мало, если вообще есть.
Сам язык идентичен, единственное, SQL ближе к стандартам.
Вместо NVL --- COALESCE
Вместо CONNECTBY - WITH/WITH RECURSIVE,
Аналитические функции недостаточно оттестированы.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35936963
ддддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возможно.
но мне непонятны именнно политические соображения
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35937022
йа_тупиццо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ддддддд, возможно, люди упёрлись носом в ограничения бесплатной версии, полную покупать не хотят.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35937614
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йа_тупиццоддддддд, а что там нужно переписывать?
По-моему там таких мест очень мало, если вообще есть.
Сам язык идентичен, единственное, SQL ближе к стандартам.
Вместо NVL --- COALESCE
Вместо CONNECTBY - WITH/WITH RECURSIVE,
Аналитические функции недостаточно оттестированы.

ага, таких мест МАЛО. Всего одно :)
Весь язык
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35938385
йа_тупиццо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan), особенности работы конечно же есть.
И надо десять раз подумать и взвесить, прежде, чем переходить.
Но если переходить на другую СУБД, тут и думать нечего, ибо pl/pgsql и pl/SQL родственны,
а pl/pgsql и язык ХП MySQL - нет. И по возможностям различаются примерно как самосвал от самоката.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943239
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А не ответит ли уважаемая публика за два вопроса.

Есть ли в ПостГресе аналитические функции как в Оракле и МССКЛ
(их еше называют виндовые - оконные) ?

Есть ли в ПостГресе переменные как у Мускл-а?
(не в ПЛ/СКЛ а имено в СКЛ-е)

Спасибо.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943331
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторMySQL вместо Oracle
Скоро это будет одно и то же
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943460
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc, аналитические функции есть 8.4.
Называются оконными, ранжирования 11 штук+ все агрегатные можно пользовать как аналитические.
Переменных как в мускуле нет(((
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943697
йа_тупиццо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbc, но можно написать функцию, которая будет выполнять скрипт. Там и переменнные, можно заюзать и циклы и т.п.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943720
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcЕсть ли в ПостГресе переменные как у Мускл-а?
(не в ПЛ/СКЛ а имено в СКЛ-е)можно сделать с помощью custom_variable_classes
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943821
йа_тупиццо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeXa NalBat, а как?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943860
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йа_тупиццо,

http://sql.ru/forum/actualtopics.aspx?search=custom_variable_classes&bid=7

http://sql.ru/forum/actualthread.aspx?tid=517064#5184022
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35943861
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeXa NalBatjavajdbcЕсть ли в ПостГресе переменные как у Мускл-а?
(не в ПЛ/СКЛ а имено в СКЛ-е)можно сделать с помощью custom_variable_classesБолее корректным был бы вопрос - "а зачем имено в СКЛ-е?"
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944636
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,LeXa NalBat,йа_тупиццо

Спасибо , здорово что ПостГрес заимел аналитику.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944711
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FavnLeXa NalBatjavajdbcЕсть ли в ПостГресе переменные как у Мускл-а?
(не в ПЛ/СКЛ а имено в СКЛ-е)можно сделать с помощью custom_variable_classesБолее корректным был бы вопрос - "а зачем имено в СКЛ-е?"

С переменными в МуСКЛ можно делать много интересного.
Например ROWNUM которого нет в МУСКЛ (непонятно почему).
На переменных можно делать много аналитических функций:
топ-Н, лаг-лид, движушееся окно, накопление с разбивкой, итд.

Кроме того, например такая задача решена на МуСКЛ-е с перемеными:
имеются две НЕСВЯЗАНЫЕ таблицы.
1. Таблица задач с требуемым количеством людей на задачу:
2- Таблица людей-работников
Необходимо распределить работников по задачам.

TASK
T_id description resources1"calculation"22"managing"13"washing"2

RESOURCES
R_id name1"Vasia"2"Natasha"3"Alex"4"Freddy"5"Petia"

На выходе получить распределение людей по задачам
(допустим, задачи и люди отсортированы по ИД)

T_id R_id1112233435

Как решит такую (екзоотическую) задачу ПостГрес на СКЛ-е?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944746
дддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может лучше создать таблицу для связи много-ко-многим и не париться?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944753
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пояснение -- плохо назвал колонки.
Последняя колонка в таблице ТАСК
НЕ является связкой (ето НЕ форенг кей) на таблицу РЕСОРСЕС.
Ето требуемое для задачи количество людей.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944754
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ддддддМожет лучше создать таблицу для связи много-ко-многим и не париться?

Ну фактически ето задача заполнения такой много-ко-много таблицы
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944788
дддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой смысл из обычной задачи создавать экзотическую?
Наверняка на практике задачи должны иметь более расширенные атрибуты.
например уровень сложности, срочность, важность, и т.д.
А у ресурсов могут быть реквизиты такие как опыт работы, направление, знания различных ЯП и т.д.
как это все увязать без промежуточной таблицы?
(хотя на самом деле - это главная таблица)
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944802
Sad Spirit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc
С переменными в МуСКЛ можно делать много интересного.
Например ROWNUM которого нет в МУСКЛ (непонятно почему).

Для этого в PostgreSQL лучше использовать CREATE TEMPORARY SEQUENCE
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944987
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sad Spirit, голову ломать лень, но если ты думаешь об этом ...
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35944991
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНSad Spirit, голову ломать лень, но если ты думаешь об этом ...
Очепятка, обращение к javajdbc
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945069
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

ага, точно, по линку -- ето "аналитика" (как такие функции назвали в Оракле).
спасибо!
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945094
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ддддддКакой смысл из обычной задачи создавать экзотическую?
Наверняка на практике задачи должны иметь более расширенные атрибуты.
например уровень сложности, срочность, важность, и т.д.
А у ресурсов могут быть реквизиты такие как опыт работы, направление, знания различных ЯП и т.д.
как это все увязать без промежуточной таблицы?
(хотя на самом деле - это главная таблица)

ОК, задача дана так как она поставлена:
Приходит один заказчик, говорит, мне нужно 5 работников -- ему выдают
5 работников (в простейшем случае отсортированые по ИД).
приходит другоиз заказчик, просит 3 работника.
Таперь представим: заказы собираются за целый день и распределяются в конце дня
по мере поступления или по ИД. Все работники могут делать все работы;
работников заведомо достаточно для всех заказов.

(Приоритеты задач и "опытность" работников могут повлиять только на
ордер бай блок, который тут не важен семь раз)
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945137
дддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это что - курсовик?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945165
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ддддддЭто что - курсовик?

Ето пример что может мускл с переменными , как часть ответа на вопрос Favn.
В тоже время интерсно знать если ПостГрес может решать такие
нестандартные задачи.
(надо посмотреть на того студента который решит такой курсовичек! :-)) )
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945195
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, javajdbc!
You wrote on Tue, 21 Apr 09 14:47:23 GMT:

javajdbc j> Ето пример что может мускл с переменными , как часть ответа на вопрос Favn.
j> В тоже время интерсно знать если ПостГрес может решать такие
j> нестандартные задачи.
j> (надо посмотреть на того студента который решит такой курсовичек! :-)) )я чот не понял, в чем сложности то?

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945309
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Hello, javajdbc!
You wrote on Tue, 21 Apr 09 14:47:23 GMT:

javajdbc j> Ето пример что может мускл с переменными , как часть ответа на вопрос Favn.
j> В тоже время интерсно знать если ПостГрес может решать такие
j> нестандартные задачи.
j> (надо посмотреть на того студента который решит такой курсовичек! :-)) )я чот не понял, в чем сложности то?

--
With best regards, Мимопроходящий.



Ничего сложного, просто решить задачу на ПостГрес СКЛ-е
(на стандартном СКЛ-е задача не решается. МуСКЛ решает ето с помошью СКЛ-переменых).
Выше преведены две таблицы исходных данных и таблица ожидаемых результатов.
All yours :-)
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945342
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcНичего сложного, просто решить задачу на ПостГрес СКЛ-е
(на стандартном СКЛ-е задача не решается. МуСКЛ решает ето с помошью СКЛ-переменых).если не ошибаюсь, в постгресе эту задачу несложно решить на PL/PGSQL
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945377
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatjavajdbcНичего сложного, просто решить задачу на ПостГрес СКЛ-е
(на стандартном СКЛ-е задача не решается. МуСКЛ решает ето с помошью СКЛ-переменых).если не ошибаюсь, в постгресе эту задачу несложно решить на PL/PGSQL

Ету задачу можно легко решить на ЛЮБОМ языке, кроме СКЛ :-)))
Кроме того, 100% понятно, что при необходимости
ее надо решать вне СКЛ-а. Вопрос был про нестандартные фичи
разных баз. Вот, типа мускл может такое сделать.

Никаких задних мыслей, я буду рад узнать если на ПостГресс-СКЛ-е ето делается просто.
Я даже не уверен что Оракл-СКЛ сделает такое.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945387
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcддддддКакой смысл из обычной задачи создавать экзотическую?
Наверняка на практике задачи должны иметь более расширенные атрибуты.
например уровень сложности, срочность, важность, и т.д.
А у ресурсов могут быть реквизиты такие как опыт работы, направление, знания различных ЯП и т.д.
как это все увязать без промежуточной таблицы?
(хотя на самом деле - это главная таблица)

ОК, задача дана так как она поставлена:
Приходит один заказчик, говорит, мне нужно 5 работников -- ему выдают
5 работников (в простейшем случае отсортированые по ИД).
приходит другоиз заказчик, просит 3 работника.
Таперь представим: заказы собираются за целый день и распределяются в конце дня
по мере поступления или по ИД. Все работники могут делать все работы;
работников заведомо достаточно для всех заказов.

(Приоритеты задач и "опытность" работников могут повлиять только на
ордер бай блок, который тут не важен семь раз)
В постгрессе есть контриб, позволяющий строить очереди(или стеки)))) заказов без таких
извращений. Фича называется Advisory Locks, кажись, или pg_locks. Точно не помню.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945404
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcВопрос был про нестандартные фичи разных баз...

Никаких задних мыслей, я буду рад узнать если на ПостГресс-СКЛ-е ето делается просто.имхо, на постгресе озвученная вами задача решается просто, причем без применения нестандартных фич :-)
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945419
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeXa NalBatjavajdbcВопрос был про нестандартные фичи разных баз...

Никаких задних мыслей, я буду рад узнать если на ПостГресс-СКЛ-е ето делается просто.имхо, на постгресе озвученная вами задача решается просто, причем без применения нестандартных фич :-)

То, что ето "просто", мне уже несколько человек сказали.
Но никто не привел ни строчки СКЛ-а
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945576
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcLeXa NalBatjavajdbcВопрос был про нестандартные фичи разных баз...

Никаких задних мыслей, я буду рад узнать если на ПостГресс-СКЛ-е ето делается просто.имхо, на постгресе озвученная вами задача решается просто, причем без применения нестандартных фич :-)

То, что ето "просто", мне уже несколько человек сказали.
Но никто не привел ни строчки СКЛ-а
Я имел ввиду это
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35945612
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

Интересная фишка. я обычно решаю такие задачи дополнительным
полем где записываю апдейтом ИД_потока,а потом перечитываю селектом
по етому ИД (ну и процессинг_статус конечно).

Однако не совсем понятно -- вы хотите напустить такое
много-потоковое решение на ету задачу?
Ето будет один СКЛ?
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35946308
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcимеются две НЕСВЯЗАНЫЕ таблицы.
1. Таблица задач с требуемым количеством людей на задачу:
2- Таблица людей-работников
Необходимо распределить работников по задачам.

TASK
T_id description resources1"calculation"22"managing"13"washing"2

RESOURCES
R_id name1"Vasia"2"Natasha"3"Alex"4"Freddy"5"Petia"

На выходе получить распределение людей по задачам
(допустим, задачи и люди отсортированы по ИД)

T_id R_id1112233435

Как решит такую (екзоотическую) задачу ПостГрес на СКЛ-е?javajdbcТо, что ето "просто", мне уже несколько человек сказали.
Но никто не привел ни строчки СКЛ-а
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
LOOP
  SELECT t_id, resources-(SELECT count(*) FROM task_resources WHERE t_id=task.t_id) AS t_num
    INTO task_id, task_num FROM task ORDER BY  2  DESC,  1  ASC LIMIT  1 ; -- выбираем task
  IF task_num THEN
    SELECT r_id, (SELECT count(*) FROM task_resources WHERE r_id=resources.r_id) AS r_num
      INTO resource_id, resource_num  FROM resources WHERE r_id NOT IN
      ( SELECT r_id FROM task_resources WHERE t_id = task_id ) ORDER BY  2  ASC,  1  ASC LIMIT  1 ; -- выбираем resource
    IF r_id THEN
      INSERT INTO task_resources ( t_id, r_id ) VALUES ( task_id, resource_id );
    ELSE
      RAISE; -- EXCEPTION
    END IF;
  ELSE
    EXIT; -- LOOP
  END IF;
END LOOP;
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35946332
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
javajdbcFavnБолее корректным был бы вопрос - "а зачем имено в СКЛ-е?" Кроме того, например такая задача решена на МуСКЛ-е с перемеными:
Как решит такую (екзоотическую) задачу ПостГрес на СКЛ-е?
Ету задачу можно легко решить на ЛЮБОМ языке, кроме СКЛ :-)))
Кроме того, 100% понятно, что при необходимости ее надо решать вне СКЛ-а. Вопрос был про нестандартные фичи разных баз.
Я даже не уверен что Оракл-СКЛ сделает такое.Нашел время написать и проверить. Задача не стоит выеденного яйца и решается примитивными стандартными (SQL3) методами.
Чтобы было чуть интереснее, выкинем нафиг не нужные тут суррогатные ключи и получим возможность произвольной сортировки (по приоритету, например). Кроме того, выкинем и таблицы - нечего DDL по пустякам дергать. Все равно скучно - рекурсии нет, OLAP (window) функции примитивны. Вобщем, в DB2 решение м.б. таким:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
with TASK( DESCRIPTION, RESOURCES ) as (
	values  ( 'calculation',  2  ),
		( 'managing',  1  ),
		( 'washing',  2  ) 
), RESOURCES( NAME ) as (
	values  ('Vasia'), ('Natasha'), ('Alex'), 
		('Freddy'), ('Petia') 
), T( NUMB, DESC, RES, SUM_RES ) as (
	select row_number() over(order by order of S), DESCRIPTION, 
		RESOURCES, sum(RESOURCES) over(order by order of S) 
		from ( select * from TASK order by DESCRIPTION ) as S 
), R( NUMB, NAME ) as (
	select row_number() over(order by order of S), NAME
		from ( select * from RESOURCES order by NAME ) as S
)  	
select T.NUMB, T.DESC, T.RES, R.NUMB, R.NAME 
	from T left outer join R 
		on R.NUMB > T.SUM_RES - T.RES and R.NUMB <= T.SUM_RES;
Результат:
Код: plaintext
1.
2.
3.
4.
5.
T.NUMB     T.DESC     T.RES  R.NUMB   R.NAME 
    1    calculation   2         1     Alex
    1    calculation   2         2     Freddy
    2    managing      1         3     Natasha
    3    washing       2         4     Petia
    3    washing       2         5     Vasia

Не знаю как насчет фокуса с values, но все остальное должно выглядеть примерно так же для любой SQL3-совместимой СУБД. То есть уже почти для любой современной - кроме мускля, конечно
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35946517
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbcОКТОГЕН,

Интересная фишка. я обычно решаю такие задачи дополнительным
полем где записываю апдейтом ИД_потока,а потом перечитываю селектом
по етому ИД (ну и процессинг_статус конечно).

Однако не совсем понятно -- вы хотите напустить такое
много-потоковое решение на ету задачу?
Ето будет один СКЛ?
Запрос, выбирающий из пула заказы один. А что ещё надо-то?
Прежде чем решать какую-то задачу, смотрю на фичи, которые есть в наличии,
и, исходя из этого, решаю.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35946612
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, в postgresql теперь 3 штатных метода работы с иерархическими данными: контриб connectby, ltree тип и WITH RECURSIVE. В mySQL придётся писать специальную ХП.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35947500
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Favn,

Отлично, примерно такое я и спрашивал. Спасибо!

Да, к сожалению в МуСКЛ нет аналитики.
Однако многие аналитические задачи, включая ету, мускл
решает с помошью переменных.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35947513
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

Ну всем понятно, что задача решается лупом на ЛЮБОМ языке где есть луп.
Вопрос был про СКЛ. Вот FAVN конкретно привел работающий единичный СКЛ с
аналитикой на ДБ2.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35947636
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc, согласитесь, это чисто академическая задача.
Чесслово, пересилить себя не могу, лень жуткая.
Но псевдопредставления, насколько я помню, в PgSQL теперь также имеются,
правда появились они относительно недавно и разобраться до конца пока не успел.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35947668
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решения с переменными будут работать почти также как и в MySQL.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35948152
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНjavajdbc, согласитесь, это чисто академическая задача.
Чесслово, пересилить себя не могу, лень жуткая.
Но псевдопредставления, насколько я помню, в PgSQL теперь также имеются,
правда появились они относительно недавно и разобраться до конца пока не успел.

Ок, задача действительно ради прикола, стандартные веши вроде все базы делают,
а вот на грани (за гранью) стандартов и начинается все интересное :-))

Спасибо всем, до встречи.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35954786
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc, живёт под постгрисом!!!
Код: 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.
31.
32.
with 
TASK as (        

SELECT DESCRIPTION, RESOURCES 
      FROM
	  (values ( 'calculation',  2  ),
		      ( 'managing',  1  ),
		      ( 'washing',  2  )) AS TASK( DESCRIPTION, RESOURCES )
                     
                     ), 
RESOURCES as (

 SELECT  NAME  FROM 	
               (values  ('Vasia'), ('Natasha'), ('Alex'), 
		                ('Freddy'), ('Petia')) AS RESOURCES( NAME )

), 
T as (	select 
          row_number() over(order by DESCRIPTION ) AS SUMB, 
          DESCRIPTION AS DESC, 
		  RESOURCES AS  RES, 
          sum(RESOURCES) over(order by DESCRIPTION)  AS  SUM_RES
		from  TASK 
        order by DESCRIPTION  
), 
R as (select row_number() over(order by NAME) AS NUMB, NAME
		from ( select * from RESOURCES order by NAME ) AS S
) 

select T.SUMB, T.DESC, T.RES, R.NUMB, R.NAME 
	from T left outer join R 
		on R.NUMB > T.SUM_RES - T.RES and R.NUMB <= T.SUM_RES;

Результат идентичен натуральному)))))))
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35954822
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

понятно, аналитические функции рулят!
Под Ораклом, мускл, наверное не получит СКЛ3 вообше.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35954872
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javajdbc, короче, думал я, что это не сработает. Потом стал разбираться, как оказалось:
1) У DB Синтаксис CTE отличается
2) SELECT FROM VALUE в постгре скобка стоит не там
3) orderby orderby в окне аналитических функций не срабатывал, но это можно заменить на название поля.
4) Самое смешное, мой клиент(EMS), просто не выводил результаты этого селекта. Там парсер запроса тупой. Он считает, что если запрос не начинается со слова SELECT или SHOW, то запрос не выводит данные.
А вообще, если есть СТЕ, то можно очень нехилые вещи делать.
...
Рейтинг: 0 / 0
PostgreSQL или MySQL вместо Oracle
    #35955023
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНjavajdbc, короче, думал я, что это не сработает. Потом стал разбираться, как оказалось:
1) У DB Синтаксис CTE отличается
2) SELECT FROM VALUE в постгре скобка стоит не там
3) orderby orderby в окне аналитических функций не срабатывал, но это можно заменить на название поля.
4) Самое смешное, мой клиент(EMS), просто не выводил результаты этого селекта. Там парсер запроса тупой. Он считает, что если запрос не начинается со слова SELECT или SHOW, то запрос не выводит данные.
А вообще, если есть СТЕ, то можно очень нехилые вещи делать.

Понятно. я в Оракле подобных вкусных запросов обожрался :-)
Теперь в Мускле сижу на диете, только @переменые на десерт :-)
...
Рейтинг: 0 / 0
87 сообщений из 87, показаны все 4 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / PostgreSQL или MySQL вместо Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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