|
|
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> обязательно хранить только одинаковые сущности? Никто не сказал. Более того, "одинаковость" - понятие растяжимое. Видите ли, в чем проблема: Вы рассматриваете способ хранения данных просто как способ хранения данных. А меня хранение данных интересует с точки зрения возможности извлечения информации. Так вот для этой цели безусловно необходимы и нормализация, и непротиворечивость, и целостность, и компактность. Которые проще и дешевле обеспечить стандартными средствами. > Опять же только текущие ограничения текущих реализаций У "текущих реализаций" нет мешающих мне ограничений. > и стереотипное мышление ;) Посмешили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 21:38 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621А меня хранение данных интересует с точки зрения возможности извлечения информации. Так вот для этой цели безусловно необходимы и нормализация, и непротиворечивость, и целостность, и компактность. С этим я согласен, вот только как и нормализация, и непротиворечивость, и целостность приводят к неправильности 1 миллиона столбцов у таблицы? guest_20040621Которые проще и дешевле обеспечить стандартными средствами.Другими словами - только через ж т.к. по другому не умеем. Ну и я тут тоже об энтом жеж ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 21:51 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> только как и нормализация, и непротиворечивость, и целостность > приводят к неправильности 1 миллиона столбцов у таблицы? Обычно я в ответ на такие вопросы пишу: "чтение мануалов, букварей и пр. хрени - по такой-то тарифной ставке". Вы понимаете, что такое "независимый атрибут"? Или для Вас это просто набор букв? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 22:19 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Если честно, я не очень понимаю, почему. Может, Вы расскажете, какие задачи должно решать описанное Вами приложение? > Без классификации эта куча атрибутов была бы просто нереализуема При чем здесь опять классификация? Система - это упрощённо большой каталог, в котором хранится куча разнородной информации из одной предметной области. Вроде как если бы взяли последние ВАЗовские автомобили и описали все их комплектующие вплоть до болтов и гаек. И по этим параметрам нужно отыскивать нужные детали. Задача-то абсолютно стандартная. Но вот из-за того, что много атрибутов специфических - например, кол-во часов наработки на отказ при таком-то условии, затем при другом (по сути это один атрибут, только у него меняются условия проявления), был сделан вывод о том, что они формально вроде бы похожи, но использовать как один нельзя, поскольку нет прямой зависимости по условиям проявления. И тут выплыло это множество характеристик. Сделали большие группы атрибутов, затем поменьше и потом уже переходят к условиям проявления. Сделали таблицу перевода единиц измерения из одних в другие, поскольку данные похожих характеристик вроде габаритов в зависимости от масштаба деталей задаются по-разному (т.е. габариты-то в миллиметрах - это стандартно, но есть другие атрибуты, в которых это не соблюдается). А к атрибутам прицепили единицы измерения. Понятно, что в простом варианте из десятка тысяч характеристик что-то выбрать тяжело. Дело даже не только в большом списке, а в том, что все эти характеристики можно и не знать. И тут всё это дело начинает группироваться, чтобы можно было этим пользоваться. Раньше это было разделено на кучу мест, где человек работал со знакомыми характеристиками, а вот при объединении - вот она проблема. Получается, что если условие отличается значительно, то значения несопоставимы, а если мало, то сопоставимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2006, 22:48 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> взяли последние ВАЗовские автомобили и описали все их комплектующие В качестве источника данных что используется? Конструкторская документация? > кол-во часов наработки на отказ при таком-то условии, затем при другом В этой стране, насколько я помню (к сожалению, никак не связан с машиностроением) испытания стандартизованы. Ошибаюсь? > поскольку нет прямой зависимости по условиям проявления Для однотипных деталей? > но есть другие атрибуты, в которых это не соблюдается Пример можете привести? > А к атрибутам прицепили единицы измерения Абсолютно логично. > все эти характеристики можно и не знать Imho их и не нужно знать. Нужно знать о зависимости характеристик от типа продукта и эту зависимость отразить в структуре данных. > при объединении - вот она проблема Можно чуть подробнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 02:07 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621Обычно я в ответ на такие вопросы пишу: "чтение мануалов, букварей и пр. хрени - по такой-то тарифной ставке". Вы понимаете, что такое "независимый атрибут"? Или для Вас это просто набор букв?Обычно я на такое вообще не отвечаю. А вы понимаете что там будет пустых 1 миллион колонок и заполнены они будут только независимыми аттрибутами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 13:37 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Дима, Вам даже Дейта читать рано. Учитесь, дружище. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 14:26 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621Дима, Вам даже Дейта читать рано. Учитесь, дружище.Аргументы закончились, Слив с темы засчитан ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 15:52 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Дружище, быть тупым и не знать этого - счастье. Мне жаль, что я потратил время на контакт с Вами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 16:37 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
stiЯ долго вспоминал, что это мне напоминает. И вот: тынц Я прочел вышеприведенную ссылку. Хочу обратить внимание вот на какие психологические аспекты проблемы. Поскольку программированием SQL я занимаюсь только по мере необходимости и в задачах СУБД некомпетентен по сравнению с окружающими. Человек в вышеприведенной задался какой-то задачей, нужной-нет- неважно. Написал в форум, привел скрипт. После оптимизации время сократилось с 3-л лет до 11 дней. Это, замечу, все на 1-ой странице темы. Что имеем здесь: приходит человек и на 12 страницах несет разные отмазки почему он до сих пор не сделал простого эксперимента, почему нет даже примитивного прототипа, почему он не хочет свалить проектирование на опытного программиста и пр. При этом увлеченно рассуждает о своей задаче и даже пытается о чем-то говорить со спецами, не имея никакого понятия при этом, о чем собственно речь. Имхо, цель данного человека - не решить проблему. Цель данного человека - поговорить о решении проблемы. А может и просто поговорить о проблеме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 16:59 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Random_Goodman Для всех особо "одаренных" прикладников-sqlевцев объясняю на примере. Предположим заваливается на форум чел с вопросом "а как мне сделать машину времени?". А вы, уважаемые господа, начинаете его доколебывать на 12ти страницах рекомендациями по пользованию обычным транспортом, вопросами на тему, а сделал ли он уже макет с удобной кабиной и кучей кнопочек и т.п. Если не можешь ничего сказать по теме, лучше промолчи - будешь казаться умнее. Если не являешься системным программистом - тем более. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 17:18 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_AlienДля всех особо "одаренных" прикладников-sqlевцев объясняю на примере. Предположим заваливается на форум чел с вопросом "а как мне сделать машину времени?". А вы, уважаемые господа, начинаете его доколебывать на 12ти страницах рекомендациями по пользованию обычным транспортом, вопросами на тему, а сделал ли он уже макет с удобной кабиной и кучей кнопочек и т.п. Если не можешь ничего сказать по теме, лучше промолчи - будешь казаться умнее. Если не являешься системным программистом - тем более. Сколько желчи. Может желтуха? У меня ес ть чего сказать по теме и я это сказал. Обычно челы которые делают машину времени заваливаются на форум с конкретными вопросами по теме, а не с отвлеченными рассуждениями. И макет у них уже есть. Кое-как но работающий. Не знаю как вы, а я всегда писал программы по принципу увеличения функциональности. Потому что если общую концепцию как-то спланировать хоть и можно, на всем остальном в реале шишки все равно набивать придется. И последнее - у машины времени цель перемещаться во времени. Поэтому вопрос надо ставить не "как мне сделать машину времени?" а "как можно переместиться во времени". Сразу видно а-ля системщиков... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 17:30 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Random_Goodman Это не желчь. Смайлик забыл прицепить. Основное отличие прикладников: вы можете спокойно рисовать красивую оболочку с разными менюшками и окошками, а собственно ЗАДАЧУ откладывать на потом. Но в некоторых случаях такой подход просто смешен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 18:00 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> Если не можешь ничего сказать по теме, лучше промолчи - будешь > казаться умнее. Дружище, следовать своим же советам не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 18:19 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_Alien Random_Goodman Это не желчь. Смайлик забыл прицепить. Основное отличие прикладников: вы можете спокойно рисовать красивую оболочку с разными менюшками и окошками, а собственно ЗАДАЧУ откладывать на потом. Но в некоторых случаях такой подход просто смешен... Что, свалимся в holy war? Если вы так судите о прикладниках, вы не писали никогда более-менее реальные прикладные программы в принципе, а все представление о прикладных программистах у вас формируется на основе впечатлений от дизайне VS или Delphi. Потому что иначе вы бы знали, что оболочки и менюшки - последнее, чем занимаются прикладные программисты. ИМХО системщики недолюбливают прикладников по одной простой причине: прикладник работу себе всегда найдет. И еще: понятие задачи для разных людей разное. Не надо вешать свои задачи на других, оценивать и говорить "вот вы нихрена не умеете". Мне например очень смешно что кто-то копается в разных посиксах и даже программит на АСМе, сидит в Линухе и считает что это круто и т. п. когда есть куча более интересных вещей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 18:59 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621> взяли последние ВАЗовские автомобили и описали все их комплектующие В качестве источника данных что используется? Конструкторская документация? Не только, если есть потенциально полезные данные, то заносятся и они. Т.е. в итоге должен получиться справочник не только с официальной информацией, но и с проверенной дополнительной, если взять то, что не попадает в итоговую документацию. Кстати, это порождает проблему размывания характеристик, см. ниже. guest_20040621 > кол-во часов наработки на отказ при таком-то условии, затем при другом В этой стране, насколько я помню (к сожалению, никак не связан с машиностроением) испытания стандартизованы. Ошибаюсь? Если имеются в виду условия проведения и методика испытаний, то не ошибаетесь. Условия - имел в виду, что сами условия уникальны, что-ли. Скажем средний расход топлива в городском цикле отличается от автострадного. Искать, конечно, можно по обоим, но это даст весьма странный результат, если нужно найти средний расход топлива на 100 км. Сразу возникает вопрос: а как движется автомобиль? Если его уточнить, то сразу возникает ответ. guest_20040621> поскольку нет прямой зависимости по условиям проявления Для однотипных деталей? Не совсем, но решили что это будет не всегда корректно сравнивать. guest_20040621 > но есть другие атрибуты, в которых это не соблюдается Пример можете привести? Да те самые, которые вычисляются отношением одних величин к другим. Сложилось ощущение, что потребность в дополнительных атрибутах была, но поскольку всё решалось на отдельных местах, то масштабы единиц измерения принимались от балды, как пользователь решит. guest_20040621> при объединении - вот она проблема Можно чуть подробнее? Проблема в дополнительных атрибутах - стандартные понятно, а вот дополнительные - чёрт ногу сломит пока допрёшь куда его пристроить и нет ли уже такого в системе. По-хорошему, нужно сделать новую версию системы. Все недостатки видны, в принципе уже можно переделать всю структуру базы. Это нормальная практика, когда первая версия софта хоть и работает, но при наличии предложений по улучшению принимается решение о переделке? И вообще, как с наименьшими проблемами такое провернуть, чтобы по большей части скрыть от пользователей изменение структуры данных или хотя бы облегчить переход? Как тут быть, сделать всё с нуля, включая клиентское приложение или только базу, а клиента подстроить под новую структуру данных? Last_Alien Предположим заваливается на форум чел с вопросом "а как мне сделать машину времени?". Ага, человек упёрся в скорость перемещения: не будет ли узким местом перемещение на 1000 лет за 10 секунд вместо одной миллисекунды? Как же тогда люди будут отправляться на миллион лет до нашей эры - париться три часа в переполненной машине времени? А ему говорят - а Вы уверены что Вам нужно думать именно над скоростью перемещения, а не над проблемой случайно раздавленных насекомых ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2006, 22:44 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> Не только, если есть потенциально полезные данные, то заносятся и они. Хм... разработка такой структуры данных в принципе никогда не закончится (что, в общем, для девелопера хорошо); справочники (и, похоже, всю остальную структуру данных) придется строить с учетом тезауруса (или другой семантической структуры). Это хорошая реализация, но очень уж геморройная. > сами условия уникальны Я бы, наверное, явно выделил структуру данных для испытаний. Понадобится группировка изделий по возможным методикам, перечень и условия испытаний. Результаты я бы также явно выделил в отдельную структуру. > масштабы единиц измерения принимались от балды, как пользователь решит А не пробовали с другой стороны посмотреть: единицы измерения - всегда стандартные; для конкретной величины указывается точность отображения, мультипликатор и шкала. В принципе, хорошо бы еще и погрешность указывать. :) Данных чуть больше, зато единиц измерения меньше (справочник компактнее и правильнее). > Это нормальная практика, когда первая версия софта хоть и работает, > но при наличии предложений по улучшению принимается решение о переделке? Абсолютно нормальная. Imho важно не перегнуть палку и не сделать новую версию слишком сложной. ;) > как с наименьшими проблемами такое провернуть, чтобы по большей части > скрыть от пользователей изменение структуры данных или хотя бы облегчить > переход? Нет универсального рецепта. На практике я сталкивался с постепенным переходом, когда по мере готовности заменяются отдельные модули приложения; работает, если между модулями нет жестких связей. Достаточно продолжительная разработка - это не только технический и огранизационный процесс, но еще и политический. Видимо, будет правильнее заручиться поддержкой Того, Кто Принимает Решения. ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2006, 00:03 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
>Last_Alien >По основной задаче. >Данные можно хранить в виде двух таблиц. Думаю, Вы нащупали правильный путь решения поставленной задачи (хотя может быть есть и другие). А как Вы смотрите на такое расширение Вашей идеи: - значения атрибута и ID хранить в отдельной таблице, по каждому атрибуту. Да будет единицы тысяч таблиц. Есть множество серверов приложений и сервер данных. Анализ клиентского запроса, выбор атрибута с мин. числом записей. Первый по данному атрибуту SELECT и на СП получим выборку с ID, где-то 100 000. Группируем по 1000 и 100 запросов к таблице второго атрибута. Убираем лишние ID и переходим к 3 атрибуту, 4 ... Если сервер данных и СП связаны скоростным каналом и сервер данных имеет приличную память, то и база данных может быть и не SQL, а типа аля FOX. Нужно то быстро загрузить таблицу из памяти в СП. С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2006, 11:13 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Хм... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2006, 22:35 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
ВМоисеев Тот путь решения уже давно отброшен в связи со своей бесперспективностью. Сейчас я работаю над модифицированным вариантом kd-деревьев, т.к. стандартные бинарные методы ни к чему хорошему не приведут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2006, 08:44 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Решение этой задачи элементарно. Когда кто-то решит её - он посмеется, как все было просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 14:37 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> Решение этой задачи элементарно. Элементарна структура данных. Общее решение - не просто сложно, а очень сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 18:26 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621 А не пробовали с другой стороны посмотреть: единицы измерения - всегда стандартные; для конкретной величины указывается точность отображения, мультипликатор и шкала. В принципе, хорошо бы еще и погрешность указывать. :) Данных чуть больше, зато единиц измерения меньше (справочник компактнее и правильнее). Попробовали похожую вещь и даже сделали, но в другой системе. Делали уже после завершения работы над вышеописанной. Думаю, что это уже очень веский довод в пользу такого варианта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 21:50 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> это уже очень веский довод в пользу такого варианта Плюс стандартность, переносимость, реюзабельность и пр. Со стандартными единицами измерения все понятно, плохо с нестандартными характеристиками. Их, к сожалению, геморройно унифицировать. Тот же цвет: может не иметь эквивалента в виде длины волны ("металлик", "хамелеон"), может иметь специальное название, зависящее от носителя или способа подготовки (в пре-пресс, например), может иметь идентификатор уникальной цветовой шкалы изготовителя (имплантаты или пломбировочные материалы в стоматологии) и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2006, 22:16 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
>Last_Alien >Тот путь решения уже давно отброшен в связи со своей бесперспективностью. Сейчас я работаю над модифицированным вариантом kd-деревьев, т.к. стандартные бинарные методы ни к чему хорошему не приведут. Возможно, Вы найдете интересное решение. Но данные в таблице атрибута могут быть отсортированы по значению атрибута. Поэтому возможен не SELECT, а SEEK первой строки и чтение следующей. Скорость видимо будет приличная. Да и добавление нового атрибута несложно. С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 22:42 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33975552&tid=1545033]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 486ms |

| 0 / 0 |
