Oracle10g на Линухе - быстрее всех!

User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

zVlad wrote:On my question:

"...why don't change it to case sensitive? Like we have in DB2."

our SQL Server guy answered:

"...will be performance hit to the database. using UCase(..) will force SQL Server to scan the table rather than utilizing indexes. and more problem with table joins."

zVlad, по этим обрывкам информации непонятно вообще в чём была исходная проблема. Переход на case insensitive, напротив, немного поднимет производительность, так как сравнение символов будет делаться двоичное, а не через таблицы, поэтому те проблемы о которых они пишут - это проблемы проектирования и реализации, а платформа тут не при чём. ucase для joins использовать не нужно, при условии, что DRI сделана правильно. В общем, я так и не понял, в чём исходная проблема и почему при collation по умолчанию не удаётся с ней справиться. Единственное, что может быть помехой - если репликация делается из case-sensitive системы и case-insensitive система обнаруживает нарушения уникальности. Но - это проблема дурного проектирования приложения. Причём, именно того, которое case-sensitive. Во времена SQL Server 4.2 (1994) всё было совсем наоборот - binary sort order, используемый им по умолчанию, был крайне неудобен для большинства обычных случаев. Современные умолчания (dictionary sort order) при наличии гибкости регулировать collation на уровне отдельной колонки - гигантский шаг вперёд.
Cheers
User avatar
flip_flop
Уже с Приветом
Posts: 4379
Joined: 20 Jun 2001 09:01

Post by flip_flop »

tengiz wrote:
flip_flop wrote:...Алаверды - Почему?

Я полагаю, что поё представление о предмете сильно не соответстует реальному положение вещей. Я наивно считал, что программируемая логика сейчас это типа самый-самый мейнстрим в этой области. А также я не думал, что разрыв в производельности программируемых кристаллов и обычных чипов настолько велик. Вроде бы раньше эта разница была значительной только для пере-программируемой логики, а однократно прошиваемая и так была достаточно шустрой, единственное серьёзное отличие было в неизбежной избыточности и, как следствие, значительно меньшей результирующей степени интеграции. Так что учитывая моё невежество в этой области, я не осмелюсь продолжить этот тост за упокой :).

Тенгиз,
Следствие неизбежной избыточности проявляется в силиконе по всем статьям - площади, потребляемой мощности, быстродействию, стоимости. Лет десять назад проигрыш выражался и в 10 и в 100 раз. Однако сейчас положение выравнивается. Кроме того комплексные решения (от Xilinx, например) являются гетерогенными - ядро FPGA и тщательные custom IP (IO, processors, memory, serial links). Последние новости от Xilinx и Алтера впечатляют. Дискуссии ASIC vs FPGA vs "DSP/controllers/conventional processors" не утихают. Вот старая (1999), но IMHO хорошая ссылка: http://brass.cs.berkeley.edu/documents/rc_dac99.html

По вопросу "mainstream" я не знаю по всем областям. Однако использование FPGA в DSP и embedded systems мне кажется недостаточным - предпочитают обычные kонтроллеры и/или программируемюе DSP процессоры, хотя умелое воплощение алгоритмов в FPGA может повысить еффективность на порядки. К тому же методы проектирования FPGA приближаютса ближе к программированию - дизайнер может быть из области computer science, в отличие от chip design.

Дисклаймер: Вышеприведенные положения к вопросу о FPGA и "mainstream" являются всего лишь частным мнением человека, "вышедшего погулять" в новую интересную область (то бишь дилетанта) и могут не отражать действительного положения вещей.
Так что учитывая моё невежество в этой области, я осмелюсь продолжить этот тост за здравие всех дилетанствующих :) Алаверды?
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Я согласен с tengiz
Похоже что ваши SQL guys ищут excuse чтобы этого не делать
ucase при верно описанном collation у колонок не нужен вообще
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Post by vc »

Dmitry67 wrote:2 vc
Я сейчас проверить не могу
Но мне кажется что изменить collation у колонки по которой создан индекс так посто не удасться
Или можно ? Я не пробовал
Аналогичо интересно провеить что будет пи изменеии collation базы CS -> CI, если в базе есть таблицы A и a


No, you cannot change the collation for an indexed column unless you drop the index

Yes, you can change the db collation regardless of the table name case.

By the way, the table name case-sensitivity (introduced by a case-sensitive collation) is contrary to the '92/'99 statndards.

VC
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

zVlad wrote:но если вы о микропрограммировании процессоров, то в тех мэйнфрэйм это уже давно используется. Я имею в виду микропрограммное изменение логики работы процессора. Если к примеру обнаруживается ошибка на этом уровне, то процессор менять не нужно - нужно лишь перезагрузить память микропрограмм. Еще это используется для расширения набора команд процессора, например, командами совсем другого процессора. К командам процессора мэйнфрэйм можно было добавить команды Минск-32.

Нет, мы говорили о другом. Речь шла о технологии программируемых логических устройств: это некая болванка, в которой изначально отсутствует какой-либо глубокий смысл. Она исходно представляет из себя набор логических элементов, регистров и пр. россыпью, между которыми в результате электрического "программирования" делаются "соединения". В итоге получается узкоспециализированное устройство в точности соответствующее Вашим нуждам. Например, можно из "болванки" путём "прошивки" сделать полноценный z80 или, скажем, контроллер флоппи диска. Т.е. вместо сложного и дорогого цикла проектирования и изготовления "обычных" интегральных схем, для которого требуется целый завод, небольшая фирма может для себя изготовить мелкую серию нужных ей устройств.

В общем, отличие от микропрограммирования здесь в том, что "программа" в конечном счёте трансформируется не в набор команд, а в электрические связи между элементами на кристалле.

Вроде я нигде не наврал. А если наврал, flip_flop и dB13 меня поправят.
Cheers
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

И что же будет с двумя таблицами A и a ?
А что кстати говорит стандарт о case-sensitivity имен колонок (не таблиц) и данных ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

"Я об этом тоже догадался. Только немного раньше Вас" (c) Принц Флоризель
В смысле мне такая идея по поводу процессоров тоже приходило в голову
В частности приходило в голову что 99% времени приходитя на крошечный самый самый вложенный цикл который можно запогрммировать в таком железном виде и все будет просто летать
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
flip_flop
Уже с Приветом
Posts: 4379
Joined: 20 Jun 2001 09:01

Post by flip_flop »

tengiz wrote:
zVlad wrote:но если вы о микропрограммировании процессоров, то в тех мэйнфрэйм это уже давно используется. Я имею в виду микропрограммное изменение логики работы процессора. Если к примеру обнаруживается ошибка на этом уровне, то процессор менять не нужно - нужно лишь перезагрузить память микропрограмм. Еще это используется для расширения набора команд процессора, например, командами совсем другого процессора. К командам процессора мэйнфрэйм можно было добавить команды Минск-32.

Нет, мы говорили о другом. Речь шла о технологии программируемых логических устройств: это некая болванка, в которой изначально отсутствует какой-либо глубокий смысл. Она исходно представляет из себя набор логических элементов, регистров и пр. россыпью, между которыми в результате электрического "программирования" делаются "соединения". В итоге получается узкоспециализированное устройство в точности соответствующее Вашим нуждам. Например, можно из "болванки" путём "прошивки" сделать полноценный z80 или, скажем, контроллер флоппи диска. Т.е. вместо сложного и дорогого цикла проектирования и изготовления "обычных" интегральных схем, для которого требуется целый завод, небольшая фирма может для себя изготовить мелкую серию нужных ей устройств.

В общем, отличие от микропрограммирования здесь в том, что "программа" в конечном счёте трансформируется не в набор команд, а в электрические связи между элементами на кристалле.

Вроде я нигде не наврал. А если наврал, flip_flop и dB13 меня поправят.

Все верно. Только вместо "обычных" я бы поставил "специализированных" (программисты любят жаргонное словечко "заточенные") и то скорее в эмоциональном контексте - называть некоторые шедевры "обычными" не представляется возможным :wink:
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

Dmitry67 wrote:В частности приходило в голову что 99% времени приходитя на крошечный самый самый вложенный цикл который можно запогрммировать в таком железном виде и все будет просто летать

Давным-давно это называли спецпроцессором и паяли из логической россыпи. Мне посчастливилось спроектировать и изготовить ряд таких устройств. Иногда полученная скорость оказывалась недостатком. Например, когда я сдавал одну свою работу воякам, толстый полковник оказался недоволен - "Ну что такое, эта фигня такую сложную задачу решает, она не должна так быстро ответ давать. Иначе, кто поверит, что задача на самом деле сложная?" В итоге, как в дурной комедии, пришлось искусственно добавить задержку и глубокомысленные "попискивания" по ходу дела. Работу после этого приняли на "ура". Я абсолютно серьёзен. Дело именно так и обстояло.
Cheers
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

tengiz, замчатеьня история
а Вы подумайте какие перспективы открываются с помщью таких спецпроцессоров или с помью мссивнопарралельных структур
Наприе каждый элемент такой матрицы мжет проверять like pattern своегодесятка записей
В итоге имеет full table scan по like 'some complicated pqttern' в течение микросекунд
А есть ли увас там ребята которые занимаются подобными вещами, то есть удаленными от внедреия мжет на десятки лет ? или просто потом скупаются интересные идеи на корню ?
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

P.S.
Может кто нибудь объяснит мне чайнику почему такой прогресс в частоте процессора а на рынке нет массивнопарралельных систем ?
Ведь погрессв частотевсеравно ограничен закономи пироды
Но законы природы никак неограничивают число процессоров
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
vc
Уже с Приветом
Posts: 664
Joined: 05 Jun 2002 01:11

Post by vc »

Dmitry67 wrote:И что же будет с двумя таблицами A и a ?


Their names will become case-insesitive, right ? ... whilst the column collation will remain the same as before the 'alter'.

Dmitry67 wrote:А что кстати говорит стандарт о case-sensitivity имен колонок (не таблиц) и данных ?


Every SQL laguage element (including table/column names) should be case-insensitive.

Data case-sensitivity is determined by the collation so I believe, here, SS2K is compliant. In other words, it should be up to the customer what collation to chose.

VC
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

tengiz wrote:Иногда полученная скорость оказывалась недостатком. Например, когда я сдавал одну свою работу воякам, толстый полковник оказался недоволен - "Ну что такое, эта фигня такую сложную задачу решает, она не должна так быстро ответ давать. Иначе, кто поверит, что задача на самом деле сложная?" В итоге, как в дурной комедии, пришлось искусственно добавить задержку и глубокомысленные "попискивания" по ходу дела. Работу после этого приняли на "ура".


Боюсь что Вашу идею приняли на ура в фирме где Вы сейчас работаете :)
У меня комп тоже делает задержку,,, и очень глубокомысленную :)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
flip_flop
Уже с Приветом
Posts: 4379
Joined: 20 Jun 2001 09:01

Post by flip_flop »

tengiz wrote:
Dmitry67 wrote:В частности приходило в голову что 99% времени приходитя на крошечный самый самый вложенный цикл который можно запогрммировать в таком железном виде и все будет просто летать

Давным-давно это называли спецпроцессором и паяли из логической россыпи.

"Опять классик идею украл" :wink:
Сейчас в FPGA это называется "unroll loops" (what a suprise?!)
Можно подбросить еще пару "классических идей, идущих в головы светлых личностей" :wink: :
- конвеeрная обработка
- распределенная память
- обмен данных по електрическим соединениям, не через память
- еtc.
Все это доступно в FPGA но народ не торопится.
Еше одна идея - язык программирования надо делать подходящим для систем, извлекающих выгоду от возможности паралелизации (может имеется уже?). Матлаб подходит как исконно векторный язык. Может какая-та надстройка над C++?
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

Dmitry67 wrote:А есть ли увас там ребята которые занимаются подобными вещами, то есть удаленными от внедреия мжет на десятки лет?

MSR.
Cheers

Return to “Вопросы и новости IT”