Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 6 7 8 9 10 [11] 12 13 14 15 .. 106   вперед  Ctrl
 Re: CACHE и MSSQL  [new]
мытарь
Guest
LittleCat
мытарь
Очень давно мне довелось работать с ДИАМС на СМ1600 (СУБД и операционная система в одном флаконе). Разобрался, можно сказать, до тонкостей - изучил формат блоков данных и начал для решения некоторых задач использовать чистый ассемблер. На что уже тогда обратил внимание - фактически индекс и данные хранились вместе. Массированная вставка записей в глобаль приводила к жутким (тогда!) тормозам - индексные блоки ведь надо перестраивать. Избавиться от этого было невозможно. Используя Oracle, можно отключить все индексы, залить данные, и снова пересоздать индексные индексы. Получится быстрее и есть свобода для маневра.
Вы верите, что с тех пор прогресс не стоял на месте ? Я уже постил тут про нашу систему, где сетевой трафик с двух гигабитных каналов на лету разбирается и вливается в базу Cache. Так что насчет заливки базы, это еще надо посмотреть, кто быстрее :-)


Вы меня не так поняли. Я не пытался сравнивать по скорости обе СУБД. Я имел ввиду, что загрузка большого количества записей с отключенными индексами, как правило, происходит быстрее НА ОДНОЙ И ТОЙ ЖЕ СУБД.
В мире нет АБСОЛЮТНО хороших вещей. Каждая хороша по своему, со своими особенностями.
27 окт 06, 13:15    [3320462]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Sergei Obrastsov
Member

Откуда: Магадан
Сообщений: 584
Alexander A. Sak
В ближайшее время планируется внедрение комплексной медицинской информационной системы на базе Caché во все лечебные учреждения Пензенской области.

Вот ведь прокол-то какой :-)

Разница небольшая. Вот если бы там было "планировали, но в последний момент опомнились и заменили на Oracle", я бы оценил иронию.

Alexander A. Sak

PS. И все-таки, расскажите про
^dat(idx) = v1~v2~v3
^i1(v1) = idx
^i2(v2) = idx
^i3(v3) = idx

Да без проблем. Массив ^dat - одноуровневое дерево с данными, idx - некий уникальный идентификатор. v1, v2, v3 - некие данные при идентификаторе,
тоже уникальные, иначе потребовались бы несколько другие структуры.
Массивы ^i1, ^i2, ^i3 - индексные, инвертированные. На самом деле они
конечно просто массивы, как и ^dat. Структура простейшая донельзя.
Приведена для поиска "графа с циклами".
27 окт 06, 13:22    [3320521]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
Alexander A. Sak

PS. И все-таки, расскажите про
^dat(idx) = v1~v2~v3
^i1(v1) = idx
^i2(v2) = idx
^i3(v3) = idx

Да пожалуйста :-) Массив ^dat - данные, массивы ^i1, ^i2 и ^i3 индексы по соответствующему полю данных. (Автор видимо неудачно применил обозначения, я бы написал что-то типа
^i2(v2i)=idx
, а то складывается впечатление, что сами данные используются в качестве индекса в массивах i1, i2 и i3)
27 окт 06, 13:25    [3320547]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
мытарь

В мире нет АБСОЛЮТНО хороших вещей. Каждая хороша по своему, со своими особенностями.

Абсолютно с Вами согласен :-)
27 окт 06, 13:29    [3320585]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Sergei Obrastsov
Member

Откуда: Магадан
Сообщений: 584
LittleCat
Alexander A. Sak

PS. И все-таки, расскажите про
^dat(idx) = v1~v2~v3
^i1(v1) = idx
^i2(v2) = idx
^i3(v3) = idx

Да пожалуйста :-) Массив ^dat - данные, массивы ^i1, ^i2 и ^i3 индексы по соответствующему полю данных. (Автор видимо неудачно применил обозначения, я бы написал что-то типа
^i2(v2i)=idx
, а то складывается впечатление, что сами данные используются в качестве индекса в массивах i1, i2 и i3)

Именно сами данные и используются. По-моему это и называется инвертированием. Что-то не так?
27 окт 06, 13:32    [3320607]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19924
LittleCat
Я уже постил тут про нашу систему, где сетевой трафик с двух гигабитных каналов на лету разбирается и вливается в базу Cache. Так что насчет заливки базы, это еще надо посмотреть, кто быстрее :-)

Природу не обманешь никакими технологиями.
Индекс нуждается в обновлении структуры.
Про скорость заливки... Давайте лучше не будем соревноваться, ИМХО тут у cache шансов практически нет :)
27 окт 06, 13:38    [3320652]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
Sergei Obrastsov

Именно сами данные и используются. По-моему это и называется инвертированием. Что-то не так?

Может я чего-то не понял, а например
^dat(idx) = v1~v2~v3
^dat(idy) = v5~v2~v3
Чему будет равно ^i2(v2) ?
27 окт 06, 13:40    [3320665]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Я
Guest
Alexander A. Sak
Это я вам как человек своими глазами это видевший утверждаю.


Эт самое... я правильно понял, что Вы видели как внедрялась эта система?
Есди так, может чуток проясните ситуацию? Каким образом удалось "впарить" ?
Мне и в самом деле интересно. Да и не только мне, думаю.
Ведь не сработали значит там те доводы, которые здесь против Cache используются....


Может потому, что у медиков есть свой птичий язык (латынь)... Шутэ эта:)
27 окт 06, 13:41    [3320680]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
ну я
Member

Откуда: Москва
Сообщений: 1276
Sergei Obrastsov
LittleCat
Alexander A. Sak

PS. И все-таки, расскажите про
^dat(idx) = v1~v2~v3
^i1(v1) = idx
^i2(v2) = idx
^i3(v3) = idx

Да пожалуйста :-) Массив ^dat - данные, массивы ^i1, ^i2 и ^i3 индексы по соответствующему полю данных. (Автор видимо неудачно применил обозначения, я бы написал что-то типа
^i2(v2i)=idx
, а то складывается впечатление, что сами данные используются в качестве индекса в массивах i1, i2 и i3)

Именно сами данные и используются. По-моему это и называется инвертированием. Что-то не так?

Теоретически да, но практически есть нюансы. Если v2="123" то v2 как каноническое число начнет сортироваться как число. Если это должно трактоваться как строка то нужно
^i2(" 123")=idx
Обычно индексы используются не только для поиска но и для выборки с некоторой сортировкой.
Есть и другие нюансы, хотя принцип в целом верный.
27 окт 06, 13:45    [3320704]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Sergei Obrastsov
Member

Откуда: Магадан
Сообщений: 584
LittleCat
Sergei Obrastsov

Именно сами данные и используются. По-моему это и называется инвертированием. Что-то не так?

Может я чего-то не понял, а например
^dat(idx) = v1~v2~v3
^dat(idy) = v5~v2~v3
Чему будет равно ^i2(v2) ?

Так, тщательнее, пожалуйста. Я же сказал - "данные уникальны".
Это чтобы не писать структуру вида ^i2(v2,idx)
В данном случае ^i2(v2) даст idx, раз уж Вам так хочется использовать
то, что я считал переменными, в качестве значений. :)
27 окт 06, 13:45    [3320705]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
andrey_anonymous

Про скорость заливки... Давайте лучше не будем соревноваться, ИМХО тут у cache шансов практически нет :)

Хорошо что ИМХО :-) У нас есть работающая система, ее можно посмотреть, потрогать... Осталось рядом поставить аналогичную на основе другой базы и сравнить, кто быстрее :-) Ну или нашу систему перевести на тот же Oracle и посмотреть что получится. А до этого Ваша снисходительность не катит....
27 окт 06, 13:50    [3320752]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
Sergei Obrastsov

Так, тщательнее, пожалуйста. Я же сказал - "данные уникальны".
Это чтобы не писать структуру вида ^i2(v2,idx)
В данном случае ^i2(v2) даст idx, раз уж Вам так хочется использовать
то, что я считал переменными, в качестве значений. :)

Ну извините, я просто Вас не понял про постановку задачи, а мыслим мы на одном языке :-)
27 окт 06, 13:52    [3320779]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Sergei Obrastsov
Member

Откуда: Магадан
Сообщений: 584
ну я
Если v2="123" то v2 как каноническое число начнет сортироваться как число. Если это должно трактоваться как строка то нужно
^i2(" 123")=idx
Обычно индексы используются не только для поиска но и для выборки с некоторой сортировкой.
Есть и другие нюансы, хотя принцип в целом верный.

ну что Вы право придираетесь :) это же не рабочая база, а просто пример
"банальной" структуры с целью нахождения пресловутого "графа с циклами".
ну не могу я его самостоятельно найти
27 окт 06, 14:07    [3320958]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19924
LittleCat
andrey_anonymous

Про скорость заливки... Давайте лучше не будем соревноваться, ИМХО тут у cache шансов практически нет :)

Хорошо что ИМХО :-) У нас есть работающая система, ее можно посмотреть, потрогать... Осталось рядом поставить аналогичную на основе другой базы и сравнить, кто быстрее :-) Ну или нашу систему перевести на тот же Oracle и посмотреть что получится.

Снисходительность тут совершенно ни при чем - речь о физике процесса.
Попробуйте.
Вот Вам для референса кусочек лога sql*loader, для тех кто в курсе - не директ, оптимизация размещения целевой таблицы не проводилась, сама табличка в logging, загрузка проходила с рабочей станции по сети 100Мбит, в момент загрузки данный сервер находился под рабочей нагрузкой:
Table XXXXXXXXXXX:
  1324174 Rows successfully loaded.
  1 Row not loaded due to data errors.
  0 Rows not loaded because all WHEN clauses were failed.
  2 Rows not loaded because all fields were null.


Space allocated for bind array:                5240392 bytes(1979 rows)
Space allocated for memory besides bind array:        0 bytes

Total logical records skipped:          2
Total logical records read:       1324177
Total logical records rejected:         1
Total logical records discarded:        2

Run began on Tue Oct 17 17:52:34 2006
Run ended on Tue Oct 17 17:54:01 2006

Elapsed time was:     00:01:27.07
CPU time was:         00:00:42.35    
27 окт 06, 14:56    [3321414]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
MX -- ALEX
Guest
Мимо пробегал...
Кстати, можно замутить опрос на SQL.ru. Дать строку на этом причем языке и два вариантами ответов "понятно", "не понятно". Интерсно, скока людей с SQL.ru увидят "без комментариев" смысл этой строки. Наберется ли 3%?...ой сомневаюсь я.....



select sum(translate(regexp_substr(regexp_replace(s,'\D+$',''),'[+-]?\d+([.,]\d+)?(e[+-]?\d+)?$'),'.,','..')) S
11 , regexp_substr(s,'\D+$') M

например - эта строка
без комментариев, а все четко и ясно - не то что ваш МУМУ птичий

100 % бухгалтерш понимают
27 окт 06, 15:01    [3321455]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
andrey_anonymous

Снисходительность тут совершенно ни при чем - речь о физике процесса.
Попробуйте.
Вот Вам для референса кусочек лога sql*loader, для тех кто в курсе - не директ, оптимизация размещения целевой таблицы не проводилась, сама табличка в logging, загрузка проходила с рабочей станции по сети 100Мбит, в момент загрузки данный сервер находился под рабочей нагрузкой:

Параметры сервера ?
27 окт 06, 15:05    [3321486]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
MX -- ALEX
select sum(translate(regexp_substr(regexp_replace(s,'\D+$',''),'[+-]?\d+([.,]\d+)?(e[+-]?\d+)?$'),'.,','..')) S
11 , regexp_substr(s,'\D+$') M

100 % бухгалтерш понимают


Людей понимающих регулярные выражения пожалуй все-таки поболее, чем понимающих ваш птичий язык (на котором вы еще и думаете)
27 окт 06, 15:07    [3321510]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
Gluk (Kazan)

Людей понимающих регулярные выражения пожалуй все-таки поболее, чем понимающих ваш птичий язык (на котором вы еще и думаете)

Либо ссылку на исследования и публикации, либо добавлять ИМХО, а то уж больно категорично...
27 окт 06, 15:09    [3321530]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
Sergei Obrastsov
Member

Откуда: Магадан
Сообщений: 584
andrey_anonymous
Table XXXXXXXXXXX:
Total logical records skipped:          2
Total logical records read:       1324177

Elapsed time was:     00:01:27.07
CPU time was:         00:00:42.35    

Не впечатлило. Я ожидал чего-то более потрясающего. Скажем 20 секунд
на 1 млн. записей при нагрузке в 10 000 пользователей одновременно,
да на однопроцессорном компьютере в 700 Мгц. Потому как фраза
andrey_anonymous

Про скорость заливки... Давайте лучше не будем соревноваться, ИМХО тут у cache шансов практически нет :)

вообще-то обязывает. Или уже нет?
27 окт 06, 15:17    [3321606]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
MX -- ALEX
Guest
andrey_anonymous

Elapsed time was: 00:01:27.07
CPU time was: 00:00:42.35
[/src]


кажется вполне сопоставимо c CACHE по скорости
надеюсь LittleCat даст конкретные цифры "по жизни"
27 окт 06, 15:25    [3321675]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19924
Sergei Obrastsov
andrey_anonymous
Про скорость заливки... Давайте лучше не будем соревноваться, ИМХО тут у cache шансов практически нет :)
вообще-то обязывает. Или уже нет?

Покажите результаты cache в этих условиях, тогда я приму Ваш упрек.
Обратите внимание - это был всего лишь reference, то есть просто цифра, от которой можно начинать отталкиваться.
Это не лучший и не худший результат - это просто какой-то результат :)

LittleCat
Параметры сервера?

Точное имя железки сейчас не назову, но общая нагрузка примерно 10-15 тысяч одновременных подключений (ERP+сервера разработки+армия серверов тестирования+несколько вспомогательных баз).
Sun, разумеется. Толстый :)
Но это все не так важно - нам ведь надо что-то сравнимое? Вечером сделаю тест на буке.
27 окт 06, 15:28    [3321700]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
LittleCat
Member

Откуда: СПб
Сообщений: 435
andrey_anonymous

Про скорость заливки... Давайте лучше не будем соревноваться, ИМХО тут у cache шансов практически нет :)

Тут только что на своей настольной машине тест провел
w $zts f i=1:1:2000000 { s ^A(i)=1 } w !,$zts
вот результат
60565,41005.625
60565,41011.015
Вставка 2-х миллионов узлов за 41011.015-41005.625=3.39 секунд.
Cache было установлено по дефолту, ничего не подкручивал.
PS Вы уж извините, аргумент на уровне тех, что Вы приводите :-)
27 окт 06, 15:31    [3321725]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 19924
LittleCat
Вставка 2-х миллионов узлов за 41011.015-41005.625=3.39 секунд.
Cache было установлено по дефолту, ничего не подкручивал.
PS Вы уж извините, аргумент на уровне тех, что Вы приводите :-)

Каких узлов?
В моем случае это вполне реальные 500 метров:
D:\...\>dir data.txt
 Volume in drive D has no label.
 Volume Serial Number is 0817-44DB

 Directory of D:\...\part01

24.08.2006  12:31          512 657 605 data.txt

А тест, аналогичный Вашему, выглядит примерно так:
SQL> insert into ane_t select * from ane_t;

1000000 rows inserted

Executed in 1.733 seconds
27 окт 06, 15:45    [3321855]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
MX -- ALEX
Guest
Gluk (Kazan)
MX -- ALEX
select sum(translate(regexp_substr(regexp_replace(s,'\D+$',''),'[+-]?\d+([.,]\d+)?(e[+-]?\d+)?$'),'.,','..')) S
11 , regexp_substr(s,'\D+$') M

100 % бухгалтерш понимают


Людей понимающих регулярные выражения пожалуй все-таки поболее, чем понимающих ваш птичий язык (на котором вы еще и думаете)


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

насчет языка (говорите по русски чурки! здесь вам не тут! - тупой сержант с победным видом)

насчет национальности (а ты случайно не еврей ?)

потребовать паспорт и московскую прописку
- действует на собеседника безотказно
27 окт 06, 15:46    [3321869]     Ответить | Цитировать Сообщить модератору
 Re: CACHE и MSSQL  [new]
MX - ALEX
Guest
andrey_anonymous
[А тест, аналогичный Вашему, выглядит примерно так:
SQL> insert into ane_t select * from ane_t;

1000000 rows inserted

Executed in 1.733 seconds


1.7*2=3.4
или я неправ ?
27 окт 06, 15:51    [3321908]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 6 7 8 9 10 [11] 12 13 14 15 .. 106   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить