Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
вместо выжившего. потеряв PowerHA вы теряете доступность всего кластера, то самое "все". а как вы поднимать потом будете из бэкапа или заменой ноды это уже не суть важно.
Потерять "всё" и потерять временно доступность кластера - это не одно и то же.
Здесь оракл слишком вольно бросается словами.
Yo.!
ну пусть будет зачет, тогда вам в ответ сразу 2: автономные транзакции и кластер (не путать с RAC) в oracle xe
О! Первый зачёт! Пойду отпраздную :)
Autonomous transactions are supported.
Не смог найти ссылку на кластер с XE.
Не поможете?
5 ноя 10, 15:58    [9733586]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Mark Barinstein
Вы сравниваете разные версии тестов 5.4 против 5.3, на разных OS (rhel против aix), да ещё у оракла дисков и контроллеров больше.

21 April 2005 Revision 5.4 Modified Clause 3.3.3.2, Modified Clause 5.3.3, Integrated TPC Pricing Specification

Clause 3.3.3.2 - тесты на консистентность, 5.3.3 - дефиниция response time, т.е. ничего что могло бы хоть как-то повлиять не результат не изменилось.
мне кажется вполне логично сравнивать db2 на родной для него платформе aix и oracle на родном для него linux, это те платформы где каждая субд может показать максимум.
терял бы оракл много от писанины в UNDO, мы бы в этом тесте увидели бы другой результат и кол-во дисков никак бы ему не помогло.

Mark Barinstein
Для 1000 приложений рекомендованный максимум:
512*256*1000 ~ 130M
У сапа есть рекомендации начать с 40 000 страниц = 160M
Огромный, говорите, этот максимум?

интересно, а в z/OS 540 байт, ну да ладно не про него речь.
какой-же это максимум, это прикидка сколько максимум скушают если лочить будут не более 512 записей. у вас прикладухи по 512 записей читают ? да отчет которому понадобиться уровень выше Read Commited больше затребует, чем вы прикинули.
в общем камешек в db2 почему лимит в разы выше, чем ораклу устанавливать пришлось.

Mark Barinstein

Не смог найти ссылку на кластер с XE.
Не поможете?


concepts
Clusters are groups of one or more tables physically stored together because they share common columns and are often used together. Because related rows are physically stored together, disk access time improves.

Like indexes, clusters do not affect application design. Whether a table is part of a cluster is transparent to users and to applications. Data stored in a clustered table is accessed by SQL in the same way as data stored in a nonclustered table.

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/intro.htm#sthref77

вот тут мы эффективность с mssql меряли
https://www.sql.ru/forum/actualthread.aspx?bid=10&tid=593514&pg=8#6324928
5 ноя 10, 16:39    [9733725]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Mark Barinstein
Потерять "всё" и потерять временно доступность кластера - это не одно и то же.
Здесь оракл слишком вольно бросается словами.

не согласен, раз уж речь о high avilability то слова совершенно справедливы. а то при наличии бэкапа на ленте множно и при выгорании всех нод говорить что вобщем-то все не потеряно.
5 ноя 10, 17:00    [9733803]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Dimitry Sibiryakov

А это ничего, что вариант с джоинами работает как минимум не быстрее, а в ряде случаев
медленнее?.. Функция не будет читать t3 если значение найдено в t2. Join - будет всегда.

Видите ли, вы учитываете далеко не все расходы. Скажем, затраты на сам вызов функции. Потом,
select t2.val
from t1 join t2 on t1.some_id=t2.some_id
и
select (select t2.val from t2 where t1.some_id=t2.some_id) 
from t1 
выполняются по-разному.

И, конечно, я постарался бы приложить все усилия, чтобы t2 и t3 как-то объединить.
5 ноя 10, 19:26    [9734360]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Yo.!
Victor Metelitsa
Yo.!, советую оценивать полезность фич.

Например, у DB2 Express-C нет функции по индексам, а у Oracle XE, предположим (я его документацию не читал), есть. Что это значит? Некоторые таблицы в DB2 будут немного шире, чем могли бы.

Теперь вспомним пару подробностей про Oracle XE, Первая - ограничение всего 4 гига данных, что означает, что разумный разработчик будет его использовать только для баз с много меньшим размером данных, чтобы в обозримом будущем не выйти за рамки.

ну с 2 ядрами и 2гб у дб2 DWH тоже не построишь

Совсем недавно это были приличные машины.

Victor Metelitsa
Итак, после этого, как отсутствие функциональных индексов в DB2 послужит аргументом в пользу Oracle в сравнении "DB2 Express-C vs Oracle XE"?

ну на предыдущей странице индекс по регеспу я показывал.

Не без потерь, но выкрутиться можно (заполнить столбец вычисленными значениями).

Victor Metelitsa
Можно ещё повспоминать про фичи, присутствующие в DB2 и отсутствующие в Oracle - select from insert, update, delete.

а можно конкретный SQL который нельзя на оракле. я думаю returning clouse будет полным аналогом в оракле.

Марк написал.

Victor Metelitsa
Между тем... ну, вот то, что я вижу постоянно в поддерживаемых мой системах. К примеру, запросы, выглядящие так

тут не понял, набрали быдлокодеров которые не знают про coalesce/decode, а оракл то тут причем ?

по pureScale, допустим на поверах выкрутиться можно LPARами, а на x86 вы на вмваре предлагаете сажать


Не понимаю, о каких pureScale или RAC'ах можно разговаривать в теме про Oracle XE и DB2 Express-C.
5 ноя 10, 19:33    [9734382]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Dimitry Sibiryakov

Victor Metelitsa

Можно ещё повспоминать про фичи, присутствующие в DB2 и отсутствующие в Oracle - select
from insert, update, delete.

Это так в фантазиях IBM выглядят стандартные insert/update/delete...returning?..

Ага, про ораклиные стандартные я написал "Есть какие-то костыли, но на уровне PL/SQL". (Может, не совсем точно выразился, но суть, наверное, понятна).
5 ноя 10, 19:39    [9734401]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
мне кажется вполне логично сравнивать db2 на родной для него платформе aix и oracle на родном для него linux, это те платформы где каждая субд может показать максимум.
терял бы оракл много от писанины в UNDO, мы бы в этом тесте увидели бы другой результат и кол-во дисков никак бы ему не помогло.
Там db2 на rhel и oracle на aix, а не наоборот.
Yo.!
какой-же это максимум, это прикидка сколько максимум скушают если лочить будут не более 512 записей. у вас прикладухи по 512 записей читают ? да отчет которому понадобиться уровень выше Read Commited больше затребует, чем вы прикинули.
в общем камешек в db2 почему лимит в разы выше, чем ораклу устанавливать пришлось.
Эта цифра выведена из практики - ведь не все 1000 приложений одновременно отчёты делают.
Люди проанализировали работающие системы, и выдали средние цифры.
И в реальности так оно примерно и получается.

concepts
Clusters are groups of one or more tables physically stored together because they share common columns and are often used together. Because related rows are physically stored together, disk access time improves.

Like indexes, clusters do not affect application design. Whether a table is part of a cluster is transparent to users and to applications. Data stored in a clustered table is accessed by SQL in the same way as data stored in a nonclustered table.

И часто они используются в реальности?
По части извращённого хранения у нас свои примеры есть:
Range-clustered tables.
Они даже в tpc-c используются.
Есть более приближенные к реальности вещи:
Есть кластерные индексы, при которых данные в таблице пытаются хранить в порядке следования ссылок на них в индексе.
Есть табличное партиционирование для бедных:
вы делаете union all view на таблицы одинаковой структуры, на каждую таблицу - check constraint на "ключ партиционирования", чтоб любая запись могла содержаться только в одной таблице.
Потом вы можете делать insert / update / delete в эту вью, и запись будет в результате попадать в нужную таблицу (ну и select, естественно).
И даже partition elimination будет происходить, как при "взрослом" партиционировании.
5 ноя 10, 19:55    [9734449]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Dimitry Sibiryakov
Member

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

Victor Metelitsa
выполняются по-разному.

Если не забыть left, то с большой вероятностью и тот и другой сведутся к nested loop.

Posted via ActualForum NNTP Server 1.4

5 ноя 10, 19:56    [9734452]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
Mark Barinstein
Потерять "всё" и потерять временно доступность кластера - это не одно и то же.
Здесь оракл слишком вольно бросается словами.

не согласен, раз уж речь о high avilability то слова совершенно справедливы. а то при наличии бэкапа на ленте множно и при выгорании всех нод говорить что вобщем-то все не потеряно.
В любом случае речь тут ведётся о событии (падение 2-х серверов одновременно), которое вы навряд ли вообще встретите в реальности, особенно, если речь о System p.
5 ноя 10, 19:58    [9734463]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Victor Metelitsa

Эта цифра выведена из практики - ведь не все 1000 приложений одновременно отчёты делают.
Люди проанализировали работающие системы, и выдали средние цифры.
И в реальности так оно примерно и получается.

ну если у вас задача чистый tpc-c гонять то может быть, а вот пару одновременных отчетов даже по миллионным табличкам явно другие цифирки в среднем выдадут.

Mark Barinstein

Там db2 на rhel и oracle на aix, а не наоборот.

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

Mark Barinstein

По части извращённого хранения у нас свои примеры есть:
Range-clustered tables.
Они даже в tpc-c используются.
Есть более приближенные к реальности вещи:
Есть кластерные индексы, при которых данные в таблице пытаются хранить в порядке следования ссылок на них в индексе.
Есть табличное партиционирование для бедных:
вы делаете union all view на таблицы одинаковой структуры, на каждую таблицу - check constraint на "ключ партиционирования", чтоб любая запись могла содержаться только в одной таблице.
Потом вы можете делать insert / update / delete в эту вью, и запись будет в результате попадать в нужную таблицу (ну и select, естественно).
И даже partition elimination будет происходить, как при "взрослом" партиционировании.

а это все и в оракле есть: range-partitioning, index orgonized table и т.п.

Mark Barinstein

В любом случае речь тут ведётся о событии (падение 2-х серверов одновременно), которое вы навряд ли вообще встретите в реальности, особенно, если речь о System p.


бывает, бывает. и самолеты в окошко влетают и кластер из мегонадежнных мейнфремов (parallel syplex) бывает падает.

Victor Metelitsa

Не понимаю, о каких pureScale или RAC'ах можно разговаривать в теме про Oracle XE и DB2 Express-C.

да вы на тему торпика не глядите, все равно разговор закончиться firebird vs oracle
5 ноя 10, 20:31    [9734581]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
ну если у вас задача чистый tpc-c гонять то может быть, а вот пару одновременных отчетов даже по миллионным табличкам явно другие цифирки в среднем выдадут.
Да никто не гоняет сканирующие отчёты по многомиллионным табличкам с RS или RR изоляцией, это никому не нужно.
Если лень нормальные отчётные системы делать, то достаточно CS дефолтового или даже UR.
А вообще, вы так утверждаете, как будто у вас большой опыт администрирования db2.
Типа, мне по-боку, что там советуется, я сам лучше угадываю...
Yo.!
а это все и в оракле есть: range-partitioning, index orgonized table и т.п.
Range-partitioning в XE?
Yo.!
бывает, бывает. и самолеты в окошко влетают и кластер из мегонадежнных мейнфремов (parallel syplex) бывает падает.
Здесь неплохо бы смотрелась подтверждающая ссылка (про упавший parallel sysplex).
5 ноя 10, 21:52    [9734814]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Mark Barinstein
Да никто не гоняет сканирующие отчёты по многомиллионным табличкам с RS или RR изоляцией, это никому не нужно.
Если лень нормальные отчётные системы делать, то достаточно CS дефолтового или даже UR.
А вообще, вы так утверждаете, как будто у вас большой опыт администрирования db2.
Типа, мне по-боку, что там советуется, я сам лучше угадываю...

ну извините, среднее по больнице мне не указ. а секаса с блокировочником и в том числе с блокировками/эскалацией у меня в пассиве имеется.

Mark Barinstein
Range-partitioning в XE?

нет, партитионинг как и в дб2 только в Enterprise

Mark Barinstein
Здесь неплохо бы смотрелась подтверждающая ссылка (про упавший parallel sysplex).

мне не жалко
http://www.danskebank.com/en-uk/press/News/Pages/pr20030403a.aspx
5 ноя 10, 22:54    [9735078]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
Mark Barinstein
Range-partitioning в XE?

нет, партитионинг как и в дб2 только в Enterprise
А я про партиционирование в express-c писАл.
Yo.!

Mark Barinstein
Здесь неплохо бы смотрелась подтверждающая ссылка (про упавший parallel sysplex).

мне не жалко
http://www.danskebank.com/en-uk/press/News/Pages/pr20030403a.aspx
Это софтовая ошибка, может случиться у всех.
Я, наверное, не правильно выразился в вопросе.
В Parallel Sysplexs, откуда архитектура db2 purescale взята, роль PowerHA играют железки, называеимые Coupling Facility (CF).
Так вот, интересует ссылка, где Parallel Sysplex упал из-за одновременного отказа всех CF, мы же именно одновременный отказ обоих PowerHA имеем ввиду.
5 ноя 10, 23:22    [9735193]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
мне не жалко
http://www.danskebank.com/en-uk/press/News/Pages/pr20030403a.aspx
В догонку:
Там сам sysplex-то не упал.
Там всего лишь внутри одного из приложений в parallel sysplex (db2) произошла ошибка.
Это всё равно как на вопрос "приведите пример падения ОС" ответить, что, мол, вот случай, когда с данными в db2 на этой ОС случилась какая-то лажа - вот оно, падение, и произошло...
5 ноя 10, 23:37    [9735243]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Mark Barinstein
А я про партиционирование в express-c писАл.

я увидел что этот Range-partitioning в рвазделе "Table partitioning and data organization schemes" и решил, что это аналог range partitioning в оркале. сейчас пригляделся, понял что не оно, но что это даже со второго раза не понял.

Mark Barinstein

Так вот, интересует ссылка, где Parallel Sysplex упал из-за одновременного отказа всех CF, мы же именно одновременный отказ обоих PowerHA имеем ввиду.

я говорил о падающих мейнфреймах с Parallel Sysplex и вобщем-то не соврал.
5 ноя 10, 23:48    [9735284]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Иван Черников
Member

Откуда:
Сообщений: 58
Siemargl,

Здесь об 1С и DB2

https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=38f00ae6-df66-478c-b8ed-ebe8e5ba8cf7
6 ноя 10, 01:07    [9735503]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Dimitry Sibiryakov

Если не забыть left, то с большой вероятностью и тот и другой сведутся к nested loop.

Вы просто потестируйте. Начните с примера, который я привёл вначале. Функция или два левых джойна - что быстрее и насколько? Я многократно убеждался, что джойны, мягко говоря, много лучше. На всякий случай сделал сейчас ещё один тест. Пожалуй, переборщил с количеством данных (в таблице t1, реальные данные с купонами авиабилетов, 46 миллионов записей, в таблице t2 > 2000 городов и в t3 > 500 аэропортов) - с джойнами выполнилось за пару минут на 9-м и 10-м оракле (запустил одновременно на двух серверах), а с функцией же... прошло больше часа, но как бы месяц или год не потребовался.
6 ноя 10, 10:37    [9735853]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
(я group by сделал)
6 ноя 10, 10:39    [9735856]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
Mark Barinstein
А я про партиционирование в express-c писАл.

я увидел что этот Range-partitioning в рвазделе "Table partitioning and data organization schemes" и решил, что это аналог range partitioning в оркале. сейчас пригляделся, понял что не оно, но что это даже со второго раза не понял.

+ Range partitioning in express-c

create table part_t1 (id int not null, v varchar(10), d date not null, constraint t1_c check(d<'2010-11-01')) in userspace1;
create table part_t2 (id int not null, v varchar(10), d date not null, constraint t2_c check(d between '2010-11-01' and '2010-11-30')) in userspace1;
create table part_t3 (id int not null, v varchar(10), d date not null, constraint t3_c check(d>'2010-11-30')) in userspace1;
create view  part_v as 
select id, v, d from part_t1
  union all 
select id, v, d from part_t2
  union all 
select id, v, d from part_t3
with row movement;
create sequence part_s;

insert into part_v (id, v, d)
select nextval for part_s, v, date(d)
from table(values
  ('row1', '2010-01-01')
, ('row2', '2010-11-05')
, ('row3', '2010-12-05')) t(v, d);

select * from part_v;

ID          V          D         
----------- ---------- ----------
          1 row1       01.01.2010
          2 row2       05.11.2010
          3 row3       05.12.2010

select * from part_t1;

ID          V          D         
----------- ---------- ----------
          1 row1       01.01.2010

select * from part_t2;

ID          V          D         
----------- ---------- ----------
          2 row2       05.11.2010

select * from part_t3;

ID          V          D         
----------- ---------- ----------
          3 row3       05.12.2010

update part_v set d='2010-11-04' where id=1;

select * from part_t1;

ID          V          D         
----------- ---------- ----------

select * from part_t2;

ID          V          D         
----------- ---------- ----------
          2 row2       05.11.2010
          1 row1       04.11.2010
Чем не партиционирование?
Можно так в XE?
Yo.!
я говорил о падающих мейнфреймах с Parallel Sysplex и вобщем-то не соврал.

Ну, если договориться бабушку называть трамваем, то именование бабушки не будет считаться ложью.
Но говорить про случай, когда в db2 на мейнфрейме появились проблемы из-за софта и отказавшего диска, как про падение мейнфрейма или сисплекса (где вы там такое прочитали?), это как в шуточном примере выше - при определённых соглашениях не будет считаться ложью.

Причём:
Danske Bank Group
System operations at the Bank’s centre in Brabrand were largely unaffected, although the functioning of several systems was affected by the lack of data from the Ejby centre.
...
On Monday, March 17, Danske Bank settled all accumulated transactions with counter-parties outside the Bank and all operations were normal.
...
During the system problems, Danske Bank was not at risk for data loss

От такого рода ошибок не спасёт ни rac, ни purescale, ни sysplex - прекратят обслуживание все.
Я это к чему прицепился: когда оракл задаётся вопросом, что будет, если оба сервера PowerHA упадут, то надо бы самому подумать, а какова вероятность такого события?
6 ноя 10, 11:06    [9735879]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2559
Месяц-таки не потребовался, разница оказалась не такая большая - всего лишь в 26 раз на 10gR2 и в 36 раз на 9iR2... (компьютеры сильно разные).
6 ноя 10, 13:02    [9736044]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Mark Barinstein
Чем не партиционирование?
Можно так в XE?

а можно показать план для такого запроса:
select * from part_v where d between '2010-01-01' and '2010-04-04';

интересует догадается ли он сканировать одну партицию ?
в oracle xe с его 4гб такое не пригодиться, но работать думаю будет. в стандарт и SE1 эдишенах можно заюзать древнюю фичу из Oracle 7: Partition Views. там получается, что если включить PARTITION_VIEW_ENABLED то оптимизатор будет сканировать только нужную таблицу под низом от вью. начиная с 10g PARTITION_VIEW_ENABLED hidden, но в 11.2 еще работает. на само вью можно одеть INSTEAD OF Triggers и уже ими расбрасывать записи по табличкам.

Mark Barinstein

Я это к чему прицепился: когда оракл задаётся вопросом, что будет, если оба сервера PowerHA упадут, то надо бы самому подумать, а какова вероятность такого события?

1. что то вы увлеклись выдумыванием за оракл. оракл утверждал что потеряв один PowerHA вы теряете все и потому вам придется как минимум дублировать PowerHA.
2. вероятность выхода из строя двух PowerHA отлична от нуля и 100% если в окошко влетает самолет, например.
3. вы так и не ответили, что делать на x86. если железячки только две на вмваре весь кластер сажать ?
6 ноя 10, 16:49    [9736506]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Favn
Member

Откуда:
Сообщений: 585
Yo.!
[2. вероятность выхода из строя двух PowerHA отлична от нуля и 100% если в окошко влетает самолет, например.
Нет, ну забавный же человек! А ничего, что сам Оракл считает RAC скорее Scalability решением, а не High Availability? И Оракл таки прав - ибо, конечно, с куда бОльшей вероятностью накроется общий shared storage, а не оба PowerHA, например. И при прилете в окошко самолета всем будет глубоко пофиг, называлась раньше груда перемешанных с shared storage обломков RAC или pureScale :)
От самолета же может спасти только нормальный разнесенный по разным окошкам HA, который (Data Gard) в Оракл идет только платным довеском и только к Enterprise (не считая Windows-огрызка Fail Safe). А в DB2 - HADR уже в Express FTL входит в стоимость, бесплатным довеском за те же 2000$ в год.
Yo.!
3. вы так и не ответили, что делать на x86. если железячки только две на вмваре весь кластер сажать ?
Вот до сих пор не могу понять - ну кому окромя маркетологов нужны RAC/pureScale на 2-х железячках? При том, что оба в Standard/Workgroup вариантах лимитированы 2-мя сокетами на каждую (4-мя на весь кластер)?
Ну, то есть понятно, что Оракл предложил RAC в Standard чтобы не предлагать там же весьма платный Data Gard. А IBM дал pureScale в Workgroup потому что у Оракла RAC в Standard есть. Но и то, и другое ИМХО мало кому надо если доступен нормальный HA.
6 ноя 10, 18:08    [9736719]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 5032
Yo.!
Mark Barinstein
Чем не партиционирование?
Можно так в XE?

а можно показать план для такого запроса:
select * from part_v where d between '2010-01-01' and '2010-04-04';

интересует догадается ли он сканировать одну партицию ?

Догадается.
+ Access plan
DB2 Universal Database Version 9.5, 5622-044 (c) Copyright IBM Corp. 1991, 2007
Licensed Material - Program Property of IBM
IBM DATABASE 2 Explain Table Format Tool



******************** EXPLAIN INSTANCE ********************

DB2_VERSION: 09.05.5
SOURCE_NAME: SQLC2G15
SOURCE_SCHEMA: NULLID
SOURCE_VERSION:
EXPLAIN_TIME: 2010-11-06-17.04.23.984000
EXPLAIN_REQUESTER: BARIN_M

Database Context:
----------------
Parallelism: None
CPU Speed: 1,495757e-007
Comm Speed: 100
Buffer Pool size: 1250
Sort Heap size: 256
Database Heap size: 600
Lock List size: 50
Maximum Lock List: 22
Average Applications: 1
Locks Available: 935

Package Context:
---------------
SQL Type: Dynamic
Optimization Level: 5
Blocking: Block All Cursors
Isolation Level: Cursor Stability



---------------- STATEMENT 1 SECTION 203 ----------------
QUERYNO: 1
QUERYTAG:
Statement Type: Select
Updatable: No
Deletable: No
Query Degree: 1

Original Statement:
------------------
select *
from part_v
where d between '2010-01-01' and '2010-04-04'


Optimized Statement:
-------------------
SELECT Q1.ID AS "ID", Q1.V AS "V", Q1.D AS "D"
FROM BARIN_M.PART_T1 AS Q1
WHERE ('01.01.2010' <= Q1.D) AND (Q1.D <= '04.04.2010')

Access Plan:
-----------
Total Cost: 7,56822
Query Degree: 1

Rows
RETURN
( 1)
Cost
I/O
|
0,1
TBSCAN
( 2)
7,56822
1
|
1
TABLE: BARIN_M
PART_T1
Q1



Extended Diagnostic Information:
--------------------------------

Diagnostic Identifier: 1
Diagnostic Details: EXP0020W Table has no statistics. The table
"BARIN_M "."PART_T1" has not had runstats run on it.
This may result in a sub-optimal access plan and
poor performance.

Plan Details:
-------------


1) RETURN: (Return Result)
Cumulative Total Cost: 7,56822
Cumulative CPU Cost: 54980,3
Cumulative I/O Cost: 1
Cumulative Re-Total Cost: 0,000656238
Cumulative Re-CPU Cost: 4387,33
Cumulative Re-I/O Cost: 0
Cumulative First Row Cost: 7,56797
Estimated Bufferpool Buffers: 1

Arguments:
---------
BLDLEVEL: (Build level)
DB2 v9.5.500.784 : s091123
HEAPUSE : (Maximum Statement Heap Usage)
80 Pages
PREPTIME: (Statement prepare time)
58 milliseconds
STMTHEAP: (Statement heap size)
2048

Input Streams:
-------------
2) From Operator #2

Estimated number of rows: 0,1
Number of columns: 3
Subquery predicate ID: Not Applicable

Column Names:
------------
+Q2.D+Q2.V+Q2.ID


2) TBSCAN: (Table Scan)
Cumulative Total Cost: 7,56822
Cumulative CPU Cost: 54980,3
Cumulative I/O Cost: 1
Cumulative Re-Total Cost: 0,000656238
Cumulative Re-CPU Cost: 4387,33
Cumulative Re-I/O Cost: 0
Cumulative First Row Cost: 7,56797
Estimated Bufferpool Buffers: 1

Arguments:
---------
MAXPAGES: (Maximum pages for prefetch)
ALL
PREFETCH: (Type of Prefetch)
NONE
ROWLOCK : (Row Lock intent)
NEXT KEY SHARE
SCANDIR : (Scan Direction)
FORWARD
SKIP_DEL: (Skip Deleted Rows)
TRUE
SKIP_INS: (Skip Inserted Rows)
TRUE
TABLOCK : (Table Lock intent)
INTENT SHARE
TBISOLVL: (Table access Isolation Level)
CURSOR STABILITY

Predicates:
----------
2) Sargable Predicate
Comparison Operator: Less Than or Equal (<=)
Subquery Input Required: No
Filter Factor: 0,333333

Predicate Text:
--------------
('01.01.2010' <= Q1.D)

3) Sargable Predicate
Comparison Operator: Less Than or Equal (<=)
Subquery Input Required: No
Filter Factor: 0,333333

Predicate Text:
--------------
(Q1.D <= '04.04.2010')


Input Streams:
-------------
1) From Object BARIN_M.PART_T1

Estimated number of rows: 1
Number of columns: 4
Subquery predicate ID: Not Applicable

Column Names:
------------
+Q1.$RID$+Q1.D+Q1.V+Q1.ID


Output Streams:
--------------
2) To Operator #1

Estimated number of rows: 0,1
Number of columns: 3
Subquery predicate ID: Not Applicable

Column Names:
------------
+Q2.D+Q2.V+Q2.ID


Objects Used in Access Plan:
---------------------------

Schema: BARIN_M
Name: PART_T2
Type: Table (reference only)

Schema: BARIN_M
Name: PART_T3
Type: Table (reference only)

Schema: BARIN_M
Name: PART_V
Type: View (reference only)

Schema: BARIN_M
Name: PART_T1
Type: Table
Time of creation: 2010-11-06-10.22.52.390001
Last statistics update:
Number of columns: 3
Number of rows: 1
Width of rows: 24
Number of buffer pool pages: 1
Number of data partitions: 1
Distinct row values: No
Tablespace name: USERSPACE1
Tablespace overhead: 7,500000
Tablespace transfer rate: 0,060000
Source for statistics: Single Node
Prefetch page count: 32
Container extent page count: 32
Table overflow record count: 0
Table Active Blocks: -1
Average Row Compression Ratio: -1
Percentage Rows Compressed: -1
Average Compressed Row Size: -1

Yo.!
в oracle xe с его 4гб такое не пригодиться, но работать думаю будет. в стандарт и SE1 эдишенах можно заюзать древнюю фичу из Oracle 7: Partition Views. там получается, что если включить PARTITION_VIEW_ENABLED то оптимизатор будет сканировать только нужную таблицу под низом от вью. начиная с 10g PARTITION_VIEW_ENABLED hidden, но в 11.2 еще работает. на само вью можно одеть INSTEAD OF Triggers и уже ими расбрасывать записи по табличкам.
Да, наверное можно.
Только это целую программу в instead of update придётся написать, чтоб корректно обработать возможное перемещение строки из партиции в другую партицию.
Хотел бы я взглянуть на такой код (а ведь все три триггера ещё и переписывать надо будет при attach / detach партиции), скажем, для 12 партиций...
Yo.!
3. вы так и не ответили, что делать на x86. если железячки только две на вмваре весь кластер сажать ?
Нет, на x86 сейчас гипервизоры не поддерживаются.
Т.е. по-хорошему надо будет иметь 2 отдельные железки для PowerHA.
6 ноя 10, 22:20    [9737032]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Siemargl
Senya_L, вопрос малоинтересный - а не все ли равно, как сделано внутри черной коробочки?
Мне - да. Тебе вижу тоже. Но дело в другом. Yo как-то критиковал Firebird за то, что у него нет нормального SMP (тут пока не поспоришь до выхода 3-ки) и в частности утверждал, что CS - это несерьезно. Так как же у Oracle построена архитектура? Как interprocess communication организован?
7 ноя 10, 18:57    [9738484]     Ответить | Цитировать Сообщить модератору
 Re: Oracle XE: a five years of no progress  [new]
Yo.!
Guest
Mark Barinstein
Да, наверное можно.
Только это целую программу в instead of update придётся написать, чтоб корректно обработать возможное перемещение строки из партиции в другую партицию.

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

Mark Barinstein

Хотел бы я взглянуть на такой код (а ведь все три триггера ещё и переписывать надо будет при attach / detach партиции), скажем, для 12 партиций...

кстати, я могу в тригере нарисовать создание "партиции" и создавать их по мере надобности автоматом.
а в дб2 есть тригеры на вью ?
7 ноя 10, 19:59    [9738600]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 [4] 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить