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

Откуда: 127.0.0.1
Сообщений: 67383
Блог
Бред
Значит ли это, что "вертикальное партиционирование" в Oracle отпадает, и нужно реализовывать в Oracle "какой-нибудь EAV-like dasign" мне сложно понять.

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

Бред
И это, надо думать, тоже мое право.

Безусловно.
24 июл 07, 19:50    [4431187]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
ChA
Бред
Я не смог обнаружить нечистоту, к сожалению, и обратился с вопросом к специалистам.
В данном случае лучше было писать "не" и "чистоту" раздельно, хотя фразу это все равно не спасает. Начнем с того, как Вы определили объем БД после выполнения всех операций ? В EM в свойствах БД посмотрели ?


Закончите, пожалуйста, тем каков правильный результат, и дело с концом. Я же уже согласился с полной бессмысленностью.
24 июл 07, 19:51    [4431193]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
ChA
Бред
Я не смог обнаружить нечистоту, к сожалению, и обратился с вопросом к специалистам.
В данном случае лучше было писать "не" и "чистоту" раздельно,


Это было бы орфографической ошибкой.
24 июл 07, 19:54    [4431200]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67383
Блог
SergSuper
какая у нас аллергия на сильноразреженность

Она в природе человеческой. Мы же не радуемся сильно разреженным товарам в магазинах и не отправляемся в отпуск с сильно разреженными вещами в чемоданах
24 июл 07, 19:56    [4431209]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
ChA
Member

Откуда: Москва
Сообщений: 11373
Бред
Закончите, пожалуйста, тем каков правильный результат, и дело с концом. Я же уже согласился с полной бессмысленностью.
Я не знаю, что Вы подразумеваете под правильным результатом. Грубый пример стандартного расчета объема таблицы уже был приведен. Все сильные отклонения от него могут быть результатом неизвестных мне факторов.
24 июл 07, 19:59    [4431217]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
ChA
Member

Откуда: Москва
Сообщений: 11373
MasterZiv
Это было бы орфографической ошибкой.
Модератор: Давайте остановимся на этом?


Сообщение было отредактировано: 24 июл 07, 20:06
24 июл 07, 20:01    [4431220]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Бред
Там разные способы хранения, и не совсем понятно о чем Вы говорите. В любом случае там не нужно бороться с разреженностью - количество колонок в таблице не ограничено.

Способы может быть и разные, но все сводится к одному - есть некий ключ и аттрибут. Сделайте так же на SQL - и тоже не надо будет бороться
24 июл 07, 20:03    [4431229]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
softwarer
SergSuper
какая у нас аллергия на сильноразреженность

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


Интересный пример с чемоданами. Сложно представить что-либо более разреженное. Я уж не говорю, что в любом магазине просто потрясающая разреженность товаров. Постоянно большинство нужных предметов нельзя купить в конкретном магазине...
24 июл 07, 20:04    [4431230]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
SergSuper
Бред
Там разные способы хранения, и не совсем понятно о чем Вы говорите. В любом случае там не нужно бороться с разреженностью - количество колонок в таблице не ограничено.

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


Вы мне предлагаете сделать количество колонок в таблице не ограниченным, и не занимать место под несуществующие данные в SQL Server ??? Я этого сделать не могу.
24 июл 07, 20:08    [4431244]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 67383
Блог
Бред
Я уж не говорю, что в любом магазине просто потрясающая разреженность товаров. Постоянно большинство нужных предметов нельзя купить в конкретном магазине...

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

Магазины - как раз пример вертикального партиционирования как варианта хранения разреженных данных. Благодаря ему во-первых полки магазина плотно забиты, во-вторых, гвозди как правило можно купить рядом с молотками, а в-третьих, покупая хлеб, мы не рискуем обнаружить в нем завалившийся гвоздь.
24 июл 07, 20:10    [4431251]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
ChA
Бред
Закончите, пожалуйста, тем каков правильный результат, и дело с концом. Я же уже согласился с полной бессмысленностью.
Я не знаю, что Вы подразумеваете под правильным результатом. Грубый пример стандартного расчета объема таблицы уже был приведен. Все сильные отклонения от него могут быть результатом неизвестных мне факторов.


Я могу только предположить, что в Вашем грубом примере есть серьезная ошибка. Но, предположим, что ошибка была у меня (куда-то не туда смотрел). Тогда:

SQL Server 2005 - 4 Гб
Cache 5.2 - 17 Мб
Oracle ??? - 1.11 Гб
24 июл 07, 20:12    [4431252]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
softwarer
Бред
Я уж не говорю, что в любом магазине просто потрясающая разреженность товаров. Постоянно большинство нужных предметов нельзя купить в конкретном магазине...

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

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


Лирика. Вы продолжаете настаивать на том, что данные могут быть разреженными (что это такое я понять не могу - не дано), а таблицы не могут. На этой оптимистической ноте позвольте закончить обсуждение изначально бессмысленного вопроса.
24 июл 07, 20:17    [4431263]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
ChA
Member

Откуда: Москва
Сообщений: 11373
MasterZiv
Это было бы орфографической ошибкой.
Уважаемый MasterZiv, рекомедую Вам ознакомиться со смыслом слова "нечистота", например, с помощью Google.

P.S. Модератор, так лучше ?
Модератор: Уважаемый ChA, рекомендую Вам ознакомиться с правилами хорошего тона


Сообщение было отредактировано: 24 июл 07, 23:06
24 июл 07, 20:20    [4431270]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
pavelvp
Member

Откуда:
Сообщений: 673
Бред
Там разные способы хранения, и не совсем понятно о чем Вы говорите. В любом случае там не нужно бороться с разреженностью - количество колонок в таблице не ограничено.
Конечно не ограничено. Ведь там нет ни того, ни другого. Ограничение на размер "ключа" всё же есть.
24 июл 07, 20:22    [4431276]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
Бред
Вы мне предлагаете сделать количество колонок в таблице не ограниченным, и не занимать место под несуществующие данные в SQL Server ??? Я этого сделать не могу.

Я ничего не предлагаю, я просто объясняю что структура данных в Cache эквивалентна таблице с двумя полями. Снимаю шляпу перед маркетологами Cache, которые для этого сумели придумать красивое название "разряженные массивы"
24 июл 07, 23:02    [4431583]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
hvlad
Member

Откуда:
Сообщений: 11551
Бред
Большое спасибо. Пусть и бессмысленный, но результат:

В таблице 1000 колонок типа Integer.
1 000 000 записей, и только в последней колонке каждой записи записали значение=1.

SQL Server 2005 - 17.2 Gb
Cache 5.2 - 17 Mb
Oracle ??? - 1.11 Gb

А разве любой из таких вот "отдельных результатов" нельзя назвать бессмысленным?
Наверное нужно закрывать этот раздел на форуме.
Гм. Не знаю - зачем я это делал :), но вот результаты Firebird
execute block returns (s varchar(20080))
as
declare i int;
begin
  s = 'create table t (id int)';
  execute statement :s;
  suspend;

  s = '';
  i = 1;
  while (i < 1000) do
  begin
    if (char_length(s) < 20000 or s = '')
    then begin
      if (s = '')
      then s = 'alter table t add col' || i || ' int';
      else s = s || ', add col' || i || ' int';
    end
    else begin
      execute statement :s;
      suspend;

      s = '';
    end

    i = i + 1;
  end

  if (s <> '')
  then begin
    execute statement :s;
    suspend;
  end
end;
commit;
execute block as
declare i int = 0;
begin
  while (i < 1000000) do
  begin
    insert into t (id) values (:i);
    i = i + 1;
  end
end
commit;
Сразу после этого :
Data pages: 14085, data page slots: 14085, average fill: 79%
Average record length: 73.93, total records: 1000000
Размер страницы 8К, т.е. имеем 112680КБ или 110МБ

Заносим 1 в последнюю колонку :
update t set col999 = 1
Статистика :
    Average record length: 77.26, total records: 1000000 
Data pages: 16796, data page slots: 16796, average fill: 98%
Т.е. 134368КБ или 131МБ
25 июл 07, 01:37    [4431716]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
hvlad
Member

Откуда:
Сообщений: 11551
Гм, чего-то со скриптом я намутил - ночь наверное ;) Создавать таблицу можно и так

execute block returns (s varchar(64))
as
declare i int = 1;
begin
  s = 'create table t (id int)';
  execute statement :s;
  suspend;

  while (i < 1000) do
  begin
    s = 'alter table t add col' || i || ' int';
    execute statement :s;
    suspend;

    i = i + 1;
  end
end;
commit;
Суть от этого, конечно, не меняется
25 июл 07, 01:48    [4431731]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Пьяный Лох
Member

Откуда:
Сообщений: 3652
Простите, а где ЧАЛ?
25 июл 07, 02:01    [4431738]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
Бред
Может чего не правильно настроил:

В таблице 1000 колонок типа Integer.
1 000 000 записей, и только в одной колонке каждой записи записал значение=1.

SQL Server 2005 - 17.2 Gb
Cache 5.2 - 17 Mb

И, если кто может, скажите какой результат в Oracle?


SQL> create table EmptyTable
  2  (RecordId integer,
  3  ColId integer,
  4  CalValue integer)
  5  storage(initial 1M next 0);

Table created.

SQL> insert into EmptyTable(RecordId,ColId,CalValue)
  2  select n,1000,1 from (select rownum n from dual connect by level < 1000001);

1000000 rows created.

SQL> select bytes/1024/1024 from dba_segments where segment_name=upper('EmptyTable');

BYTES/1024/1024
---------------
             18

То есть 18 Mb. Это слегка завышенная цифра, так как место выделяется экстентами. Без увеличения размера в эту табличку можно добавить еще около ста тысяч записей.
25 июл 07, 09:18    [4432135]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Выбегалло
Member

Откуда: Scottsdale, AZ, USA
Сообщений: 3823
Бред
говорил про базы данных, кажется. А именно про хранение "сильно разреженных таблиц", в которых иногда есть потребность. Но пусть это будет совершенно бессмысленным, в отличие от Ваших, всегда осмысленных, "сравнениях СУБД". Я не против.


Sybase IQ именно так и хранит данные - по столбцам. Если стобец пустой, или там "сильноразряженный", то он практически ничего на диске не занимает, независимо от числа строк в таблице. Более того - если в таблице миллион строк километровой длины, но в строках хранится всего десять - сто - тысяча уникальных значений, то эти значения будут закодированы и храниться будут толко пара байт (и образцы строк). Такая вот звездообразная схема реализована "унутре думателя".
При всем этом IQ является вполне себе реляционной СУБД (а не кашей какой-то), и даже Transact SQL понимает.
26 июл 07, 01:08    [4436940]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Выбегалло
Member

Откуда: Scottsdale, AZ, USA
Сообщений: 3823
Bogdanov Andrey
Бред
Может чего не правильно настроил:

В таблице 1000 колонок типа Integer.
1 000 000 записей, и только в одной колонке каждой записи записал значение=1.

SQL Server 2005 - 17.2 Gb
Cache 5.2 - 17 Mb

И, если кто может, скажите какой результат в Oracle?


SQL> create table EmptyTable
  2  (RecordId integer,
  3  ColId integer,
  4  CalValue integer)
  5  storage(initial 1M next 0);

Table created.

SQL> insert into EmptyTable(RecordId,ColId,CalValue)
  2  select n,1000,1 from (select rownum n from dual connect by level < 1000001);

1000000 rows created.

SQL> select bytes/1024/1024 from dba_segments where segment_name=upper('EmptyTable');

BYTES/1024/1024
---------------
             18

То есть 18 Mb. Это слегка завышенная цифра, так как место выделяется экстентами. Без увеличения размера в эту табличку можно добавить еще около ста тысяч записей.


А где тут 1000 колонок типа int ?
26 июл 07, 01:11    [4436942]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Выбегалло
Member

Откуда: Scottsdale, AZ, USA
Сообщений: 3823
Выбегалло
Bogdanov Andrey
Бред
Может чего не правильно настроил:

В таблице 1000 колонок типа Integer.
1 000 000 записей, и только в одной колонке каждой записи записал значение=1.

SQL Server 2005 - 17.2 Gb
Cache 5.2 - 17 Mb

И, если кто может, скажите какой результат в Oracle?


SQL> create table EmptyTable
  2  (RecordId integer,
  3  ColId integer,
  4  CalValue integer)
  5  storage(initial 1M next 0);

Table created.

SQL> insert into EmptyTable(RecordId,ColId,CalValue)
  2  select n,1000,1 from (select rownum n from dual connect by level < 1000001);

1000000 rows created.

SQL> select bytes/1024/1024 from dba_segments where segment_name=upper('EmptyTable');

BYTES/1024/1024
---------------
             18

То есть 18 Mb. Это слегка завышенная цифра, так как место выделяется экстентами. Без увеличения размера в эту табличку можно добавить еще около ста тысяч записей.


А где тут 1000 колонок типа int ?


А, пардон, сразу не просек. Ну да, ну да - это та самая схема хранения, в которой элементарный запрос надо полдня продумывать, а потом сервер полдня джойны хреначит. Знакомая штука.
26 июл 07, 01:15    [4436945]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
Выбегалло

А где тут 1000 колонок типа int ?

А где у Cashe 1000 колонок? Там вообще нет ни одной колонки.

Выбегалло

А, пардон, сразу не просек. Ну да, ну да - это та самая схема хранения, в которой элементарный запрос надо полдня продумывать, а потом сервер полдня джойны хреначит. Знакомая штука.

Время продумывания и время выполнения зависит в основном от умственных способностей продумывающего, а не от сервера и т.п.
26 июл 07, 09:03    [4437290]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
pavelvp
Бред
Там разные способы хранения, и не совсем понятно о чем Вы говорите. В любом случае там не нужно бороться с разреженностью - количество колонок в таблице не ограничено.
Конечно не ограничено. Ведь там нет ни того, ни другого. Ограничение на размер "ключа" всё же есть.


Где "там"? Я не так давно познакомился с Cache, но успел увидеть три СУБД. И во всех были таблицы и колонки. Может это у Вас ревность? Потому что "там" много чего есть. Лучше опубликуйте результат бессмысленного теста для Линтер, и сравните его, конечно же, с SQL Server.
26 июл 07, 10:42    [4437788]     Ответить | Цитировать Сообщить модератору
 Re: Разработка СУБД  [new]
Бред
Guest
SergSuper
Бред
Вы мне предлагаете сделать количество колонок в таблице не ограниченным, и не занимать место под несуществующие данные в SQL Server ??? Я этого сделать не могу.

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


Не правильно объясняете - не знаю - от незнания или умышленно? Структура данных в Cache эквивалентна, помимо прочего, таблице с неограниченным числом полей. А маркетинг у Cache просто нулевой. И у меня создается ощущение, что это совсем не беспокоит Intersystems.
26 июл 07, 10:45    [4437815]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4 5 6 7 8   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить