powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Oracle XE: a five years of no progress
25 сообщений из 200, страница 4 из 8
Oracle XE: a five years of no progress
    #36939348
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!вместо выжившего. потеряв PowerHA вы теряете доступность всего кластера, то самое "все". а как вы поднимать потом будете из бэкапа или заменой ноды это уже не суть важно.Потерять "всё" и потерять временно доступность кластера - это не одно и то же.
Здесь оракл слишком вольно бросается словами.
Yo.!ну пусть будет зачет, тогда вам в ответ сразу 2: автономные транзакции и кластер (не путать с RAC) в oracle xe О! Первый зачёт! Пойду отпраздную :)
Autonomous transactions are supported .
Не смог найти ссылку на кластер с XE.
Не поможете?
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939417
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
Не поможете?

conceptsClusters 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 меряли
/topic/593514&pg=8#6324928
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939436
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinПотерять "всё" и потерять временно доступность кластера - это не одно и то же.
Здесь оракл слишком вольно бросается словами.

не согласен, раз уж речь о high avilability то слова совершенно справедливы. а то при наличии бэкапа на ленте множно и при выгорании всех нод говорить что вобщем-то все не потеряно.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939569
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
А это ничего, что вариант с джоинами работает как минимум не быстрее, а в ряде случаев
медленнее?.. Функция не будет читать t3 если значение найдено в t2. Join - будет всегда.

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

И, конечно, я постарался бы приложить все усилия, чтобы t2 и t3 как-то объединить.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939576
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939583
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Victor Metelitsa
Можно ещё повспоминать про фичи, присутствующие в DB2 и отсутствующие в Oracle - select
from insert, update, delete.

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

Ага, про ораклиные стандартные я написал "Есть какие-то костыли, но на уровне PL/SQL". (Может, не совсем точно выразился, но суть, наверное, понятна).
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939596
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!мне кажется вполне логично сравнивать db2 на родной для него платформе aix и oracle на родном для него linux, это те платформы где каждая субд может показать максимум.
терял бы оракл много от писанины в UNDO, мы бы в этом тесте увидели бы другой результат и кол-во дисков никак бы ему не помогло.Там db2 на rhel и oracle на aix, а не наоборот.
Yo.!какой-же это максимум, это прикидка сколько максимум скушают если лочить будут не более 512 записей. у вас прикладухи по 512 записей читают ? да отчет которому понадобиться уровень выше Read Commited больше затребует, чем вы прикинули.
в общем камешек в db2 почему лимит в разы выше, чем ораклу устанавливать пришлось.Эта цифра выведена из практики - ведь не все 1000 приложений одновременно отчёты делают.
Люди проанализировали работающие системы, и выдали средние цифры.
И в реальности так оно примерно и получается.

conceptsClusters 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 будет происходить, как при "взрослом" партиционировании.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939597
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsaвыполняются по-разному.

Если не забыть left, то с большой вероятностью и тот и другой сведутся к nested loop.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939599
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.! Mark BarinsteinПотерять "всё" и потерять временно доступность кластера - это не одно и то же.
Здесь оракл слишком вольно бросается словами.

не согласен, раз уж речь о high avilability то слова совершенно справедливы. а то при наличии бэкапа на ленте множно и при выгорании всех нод говорить что вобщем-то все не потеряно.В любом случае речь тут ведётся о событии (падение 2-х серверов одновременно), которое вы навряд ли вообще встретите в реальности, особенно, если речь о System p.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939622
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939691
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!ну если у вас задача чистый tpc-c гонять то может быть, а вот пару одновременных отчетов даже по миллионным табличкам явно другие цифирки в среднем выдадут.Да никто не гоняет сканирующие отчёты по многомиллионным табличкам с RS или RR изоляцией, это никому не нужно.
Если лень нормальные отчётные системы делать, то достаточно CS дефолтового или даже UR.
А вообще, вы так утверждаете, как будто у вас большой опыт администрирования db2.
Типа, мне по-боку, что там советуется, я сам лучше угадываю...
Yo.!а это все и в оракле есть: range-partitioning, index orgonized table и т.п.Range-partitioning в XE?
Yo.!бывает, бывает. и самолеты в окошко влетают и кластер из мегонадежнных мейнфремов (parallel syplex) бывает падает.Здесь неплохо бы смотрелась подтверждающая ссылка (про упавший parallel sysplex).
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939747
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinДа никто не гоняет сканирующие отчёты по многомиллионным табличкам с RS или RR изоляцией, это никому не нужно.
Если лень нормальные отчётные системы делать, то достаточно CS дефолтового или даже UR.
А вообще, вы так утверждаете, как будто у вас большой опыт администрирования db2.
Типа, мне по-боку, что там советуется, я сам лучше угадываю...

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

Mark BarinsteinRange-partitioning в XE?
нет, партитионинг как и в дб2 только в Enterprise

Mark BarinsteinЗдесь неплохо бы смотрелась подтверждающая ссылка (про упавший parallel sysplex).
мне не жалко
http://www.danskebank.com/en-uk/press/News/Pages/pr20030403a.aspx
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939767
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.! Mark BarinsteinRange-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 имеем ввиду.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939777
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!мне не жалко
http://www.danskebank.com/en-uk/press/News/Pages/pr20030403a.aspx В догонку:
Там сам sysplex-то не упал.
Там всего лишь внутри одного из приложений в parallel sysplex (db2) произошла ошибка.
Это всё равно как на вопрос "приведите пример падения ОС" ответить, что, мол, вот случай, когда с данными в db2 на этой ОС случилась какая-то лажа - вот оно, падение, и произошло...
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939786
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinА я про партиционирование в express-c писАл.

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

Mark Barinstein
Так вот, интересует ссылка, где Parallel Sysplex упал из-за одновременного отказа всех CF, мы же именно одновременный отказ обоих PowerHA имеем ввиду.
я говорил о падающих мейнфреймах с Parallel Sysplex и вобщем-то не соврал.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939848
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939943
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Если не забыть left, то с большой вероятностью и тот и другой сведутся к nested loop.

Вы просто потестируйте. Начните с примера, который я привёл вначале. Функция или два левых джойна - что быстрее и насколько? Я многократно убеждался, что джойны, мягко говоря, много лучше. На всякий случай сделал сейчас ещё один тест. Пожалуй, переборщил с количеством данных (в таблице t1, реальные данные с купонами авиабилетов, 46 миллионов записей, в таблице t2 > 2000 городов и в t3 > 500 аэропортов) - с джойнами выполнилось за пару минут на 9-м и 10-м оракле (запустил одновременно на двух серверах), а с функцией же... прошло больше часа, но как бы месяц или год не потребовался.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939946
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(я group by сделал)
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36939959
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.! Mark BarinsteinА я про партиционирование в express-c писАл.
я увидел что этот Range-partitioning в рвазделе "Table partitioning and data organization schemes" и решил, что это аналог range partitioning в оркале. сейчас пригляделся, понял что не оно, но что это даже со второго раза не понял.
Range partitioning in express-c
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
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 GroupSystem 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 упадут, то надо бы самому подумать, а какова вероятность такого события?
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36940059
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Месяц-таки не потребовался, разница оказалась не такая большая - всего лишь в 26 раз на 10gR2 и в 36 раз на 9iR2... (компьютеры сильно разные).
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36940260
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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. если железячки только две на вмваре весь кластер сажать ?
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36940349
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36940450
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!Mark BarinsteinЧем не партиционирование?
Можно так в XE?

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

интересует догадается ли он сканировать одну партицию ?
Догадается.
Access plan
Код: 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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
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.
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36941057
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SiemarglSenya_L, вопрос малоинтересный - а не все ли равно, как сделано внутри черной коробочки?Мне - да. Тебе вижу тоже. Но дело в другом. Yo как-то критиковал Firebird за то, что у него нет нормального SMP (тут пока не поспоришь до выхода 3-ки) и в частности утверждал, что CS - это несерьезно. Так как же у Oracle построена архитектура? Как interprocess communication организован?
...
Рейтинг: 0 / 0
Oracle XE: a five years of no progress
    #36941117
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinДа, наверное можно.
Только это целую программу в instead of update придётся написать, чтоб корректно обработать возможное перемещение строки из партиции в другую партицию.

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

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

кстати, я могу в тригере нарисовать создание "партиции" и создавать их по мере надобности автоматом.
а в дб2 есть тригеры на вью ?
...
Рейтинг: 0 / 0
25 сообщений из 200, страница 4 из 8
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Oracle XE: a five years of no progress
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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