powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многокритериальный поиск в очень-очень большой базе
25 сообщений из 309, страница 12 из 13
Многокритериальный поиск в очень-очень большой базе
    #33972504
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> обязательно хранить только одинаковые сущности?

Никто не сказал. Более того, "одинаковость" - понятие растяжимое.

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

> Опять же только текущие ограничения текущих реализаций

У "текущих реализаций" нет мешающих мне ограничений.

> и стереотипное мышление ;)

Посмешили.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33972514
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621А меня хранение данных интересует с точки зрения возможности извлечения информации. Так вот для этой цели безусловно необходимы и нормализация, и непротиворечивость, и целостность, и компактность.
С этим я согласен, вот только как и нормализация, и непротиворечивость, и целостность приводят к неправильности 1 миллиона столбцов у таблицы?


guest_20040621Которые проще и дешевле обеспечить стандартными средствами.Другими словами - только через ж т.к. по другому не умеем. Ну и я тут тоже об энтом жеж ;)
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33972532
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> только как и нормализация, и непротиворечивость, и целостность
> приводят к неправильности 1 миллиона столбцов у таблицы?

Обычно я в ответ на такие вопросы пишу: "чтение мануалов, букварей и пр. хрени - по такой-то тарифной ставке". Вы понимаете, что такое "независимый атрибут"? Или для Вас это просто набор букв?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33972551
Андрей - он же дядя Сэм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
Если честно, я не очень понимаю, почему. Может, Вы расскажете, какие задачи должно решать описанное Вами приложение?

> Без классификации эта куча атрибутов была бы просто нереализуема

При чем здесь опять классификация?

Система - это упрощённо большой каталог, в котором хранится куча разнородной информации из одной предметной области. Вроде как если бы взяли последние ВАЗовские автомобили и описали все их комплектующие вплоть до болтов и гаек. И по этим параметрам нужно отыскивать нужные детали. Задача-то абсолютно стандартная. Но вот из-за того, что много атрибутов специфических - например, кол-во часов наработки на отказ при таком-то условии, затем при другом (по сути это один атрибут, только у него меняются условия проявления), был сделан вывод о том, что они формально вроде бы похожи, но использовать как один нельзя, поскольку нет прямой зависимости по условиям проявления. И тут выплыло это множество характеристик. Сделали большие группы атрибутов, затем поменьше и потом уже переходят к условиям проявления. Сделали таблицу перевода единиц измерения из одних в другие, поскольку данные похожих характеристик вроде габаритов в зависимости от масштаба деталей задаются по-разному (т.е. габариты-то в миллиметрах - это стандартно, но есть другие атрибуты, в которых это не соблюдается). А к атрибутам прицепили единицы измерения. Понятно, что в простом варианте из десятка тысяч характеристик что-то выбрать тяжело. Дело даже не только в большом списке, а в том, что все эти характеристики можно и не знать. И тут всё это дело начинает группироваться, чтобы можно было этим пользоваться. Раньше это было разделено на кучу мест, где человек работал со знакомыми характеристиками, а вот при объединении - вот она проблема. Получается, что если условие отличается значительно, то значения несопоставимы, а если мало, то сопоставимы.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33972632
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> взяли последние ВАЗовские автомобили и описали все их комплектующие

В качестве источника данных что используется? Конструкторская документация?

> кол-во часов наработки на отказ при таком-то условии, затем при другом

В этой стране, насколько я помню (к сожалению, никак не связан с машиностроением) испытания стандартизованы. Ошибаюсь?

> поскольку нет прямой зависимости по условиям проявления

Для однотипных деталей?

> но есть другие атрибуты, в которых это не соблюдается

Пример можете привести?

> А к атрибутам прицепили единицы измерения

Абсолютно логично.

> все эти характеристики можно и не знать

Imho их и не нужно знать. Нужно знать о зависимости характеристик от типа продукта и эту зависимость отразить в структуре данных.

> при объединении - вот она проблема

Можно чуть подробнее?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33973925
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Обычно я в ответ на такие вопросы пишу: "чтение мануалов, букварей и пр. хрени - по такой-то тарифной ставке". Вы понимаете, что такое "независимый атрибут"? Или для Вас это просто набор букв?Обычно я на такое вообще не отвечаю. А вы понимаете что там будет пустых 1 миллион колонок и заполнены они будут только независимыми аттрибутами?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33974262
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима, Вам даже Дейта читать рано. Учитесь, дружище.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33974660
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Дима, Вам даже Дейта читать рано. Учитесь, дружище.Аргументы закончились, Слив с темы засчитан ;)
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33974817
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дружище, быть тупым и не знать этого - счастье. Мне жаль, что я потратил время на контакт с Вами.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33974893
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stiЯ долго вспоминал, что это мне напоминает. И вот:
тынц


Я прочел вышеприведенную ссылку.

Хочу обратить внимание вот на какие психологические аспекты проблемы. Поскольку программированием SQL я занимаюсь только по мере необходимости и в задачах СУБД некомпетентен по сравнению с окружающими.

Человек в вышеприведенной задался какой-то задачей, нужной-нет- неважно. Написал в форум, привел скрипт. После оптимизации время сократилось с 3-л лет до 11 дней. Это, замечу, все на 1-ой странице темы.

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

Имхо, цель данного человека - не решить проблему. Цель данного человека - поговорить о решении проблемы. А может и просто поговорить о проблеме.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33974959
Фотография Last_Alien
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Random_Goodman

Для всех особо "одаренных" прикладников-sqlевцев объясняю на примере. Предположим заваливается на форум чел с вопросом "а как мне сделать машину времени?". А вы, уважаемые господа, начинаете его доколебывать на 12ти страницах рекомендациями по пользованию обычным транспортом, вопросами на тему, а сделал ли он уже макет с удобной кабиной и кучей кнопочек и т.п.
Если не можешь ничего сказать по теме, лучше промолчи - будешь казаться умнее. Если не являешься системным программистом - тем более.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975008
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last_AlienДля всех особо "одаренных" прикладников-sqlевцев объясняю на примере. Предположим заваливается на форум чел с вопросом "а как мне сделать машину времени?". А вы, уважаемые господа, начинаете его доколебывать на 12ти страницах рекомендациями по пользованию обычным транспортом, вопросами на тему, а сделал ли он уже макет с удобной кабиной и кучей кнопочек и т.п.
Если не можешь ничего сказать по теме, лучше промолчи - будешь казаться умнее. Если не являешься системным программистом - тем более.
Сколько желчи. Может желтуха?

У меня ес ть чего сказать по теме и я это сказал. Обычно челы которые делают машину времени заваливаются на форум с конкретными вопросами по теме, а не с отвлеченными рассуждениями. И макет у них уже есть. Кое-как но работающий.

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

И последнее - у машины времени цель перемещаться во времени. Поэтому вопрос надо ставить не "как мне сделать машину времени?" а "как можно переместиться во времени". Сразу видно а-ля системщиков...
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975122
Фотография Last_Alien
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Random_Goodman

Это не желчь. Смайлик забыл прицепить.

Основное отличие прикладников: вы можете спокойно рисовать красивую оболочку с разными менюшками и окошками, а собственно ЗАДАЧУ откладывать на потом. Но в некоторых случаях такой подход просто смешен...
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975172
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Если не можешь ничего сказать по теме, лучше промолчи - будешь
> казаться умнее.

Дружище, следовать своим же советам не пробовали?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975261
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last_Alien Random_Goodman

Это не желчь. Смайлик забыл прицепить.

Основное отличие прикладников: вы можете спокойно рисовать красивую оболочку с разными менюшками и окошками, а собственно ЗАДАЧУ откладывать на потом. Но в некоторых случаях такой подход просто смешен...
Что, свалимся в holy war?

Если вы так судите о прикладниках, вы не писали никогда более-менее реальные прикладные программы в принципе, а все представление о прикладных программистах у вас формируется на основе впечатлений от дизайне VS или Delphi. Потому что иначе вы бы знали, что оболочки и менюшки - последнее, чем занимаются прикладные программисты.

ИМХО системщики недолюбливают прикладников по одной простой причине: прикладник работу себе всегда найдет.

И еще: понятие задачи для разных людей разное. Не надо вешать свои задачи на других, оценивать и говорить "вот вы нихрена не умеете". Мне например очень смешно что кто-то копается в разных посиксах и даже программит на АСМе, сидит в Линухе и считает что это круто и т. п. когда есть куча более интересных вещей.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975495
Андрей - он же дядя Сэм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> взяли последние ВАЗовские автомобили и описали все их комплектующие
В качестве источника данных что используется? Конструкторская документация?
Не только, если есть потенциально полезные данные, то заносятся и они. Т.е. в итоге должен получиться справочник не только с официальной информацией, но и с проверенной дополнительной, если взять то, что не попадает в итоговую документацию. Кстати, это порождает проблему размывания характеристик, см. ниже.

guest_20040621
> кол-во часов наработки на отказ при таком-то условии, затем при другом
В этой стране, насколько я помню (к сожалению, никак не связан с машиностроением) испытания стандартизованы. Ошибаюсь?

Если имеются в виду условия проведения и методика испытаний, то не ошибаетесь. Условия - имел в виду, что сами условия уникальны, что-ли. Скажем средний расход топлива в городском цикле отличается от автострадного. Искать, конечно, можно по обоим, но это даст весьма странный результат, если нужно найти средний расход топлива на 100 км. Сразу возникает вопрос: а как движется автомобиль? Если его уточнить, то сразу возникает ответ.

guest_20040621> поскольку нет прямой зависимости по условиям проявления
Для однотипных деталей?
Не совсем, но решили что это будет не всегда корректно сравнивать.

guest_20040621
> но есть другие атрибуты, в которых это не соблюдается
Пример можете привести?

Да те самые, которые вычисляются отношением одних величин к другим. Сложилось ощущение, что потребность в дополнительных атрибутах была, но поскольку всё решалось на отдельных местах, то масштабы единиц измерения принимались от балды, как пользователь решит.

guest_20040621> при объединении - вот она проблема
Можно чуть подробнее?
Проблема в дополнительных атрибутах - стандартные понятно, а вот дополнительные - чёрт ногу сломит пока допрёшь куда его пристроить и нет ли уже такого в системе.

По-хорошему, нужно сделать новую версию системы. Все недостатки видны, в принципе уже можно переделать всю структуру базы. Это нормальная практика, когда первая версия софта хоть и работает, но при наличии предложений по улучшению принимается решение о переделке? И вообще, как с наименьшими проблемами такое провернуть, чтобы по большей части скрыть от пользователей изменение структуры данных или хотя бы облегчить переход? Как тут быть, сделать всё с нуля, включая клиентское приложение или только базу, а клиента подстроить под новую структуру данных?

Last_Alien
Предположим заваливается на форум чел с вопросом "а как мне сделать машину времени?".

Ага, человек упёрся в скорость перемещения: не будет ли узким местом перемещение на 1000 лет за 10 секунд вместо одной миллисекунды? Как же тогда люди будут отправляться на миллион лет до нашей эры - париться три часа в переполненной машине времени? А ему говорят - а Вы уверены что Вам нужно думать именно над скоростью перемещения, а не над проблемой случайно раздавленных насекомых ?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975552
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Не только, если есть потенциально полезные данные, то заносятся и они.

Хм... разработка такой структуры данных в принципе никогда не закончится (что, в общем, для девелопера хорошо); справочники (и, похоже, всю остальную структуру данных) придется строить с учетом тезауруса (или другой семантической структуры). Это хорошая реализация, но очень уж геморройная.

> сами условия уникальны

Я бы, наверное, явно выделил структуру данных для испытаний. Понадобится группировка изделий по возможным методикам, перечень и условия испытаний. Результаты я бы также явно выделил в отдельную структуру.

> масштабы единиц измерения принимались от балды, как пользователь решит

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

> Это нормальная практика, когда первая версия софта хоть и работает,
> но при наличии предложений по улучшению принимается решение о переделке?

Абсолютно нормальная. Imho важно не перегнуть палку и не сделать новую версию слишком сложной. ;)

> как с наименьшими проблемами такое провернуть, чтобы по большей части
> скрыть от пользователей изменение структуры данных или хотя бы облегчить
> переход?

Нет универсального рецепта. На практике я сталкивался с постепенным переходом, когда по мере готовности заменяются отдельные модули приложения; работает, если между модулями нет жестких связей. Достаточно продолжительная разработка - это не только технический и огранизационный процесс, но еще и политический. Видимо, будет правильнее заручиться поддержкой Того, Кто Принимает Решения. ;)
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33975698
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Last_Alien
>По основной задаче.
>Данные можно хранить в виде двух таблиц.

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

Есть множество серверов приложений и сервер данных. Анализ клиентского запроса, выбор атрибута с мин. числом записей. Первый по данному атрибуту SELECT и на СП получим выборку с ID, где-то 100 000. Группируем по 1000 и 100 запросов к таблице второго атрибута. Убираем лишние ID и переходим к 3 атрибуту, 4 ...

Если сервер данных и СП связаны скоростным каналом и сервер данных имеет приличную память, то и база данных может быть и не SQL, а типа аля FOX. Нужно то быстро загрузить таблицу из памяти в СП.

С уважением, Владимир.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33976115
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм...
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33977075
Фотография Last_Alien
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев

Тот путь решения уже давно отброшен в связи со своей бесперспективностью. Сейчас я работаю над модифицированным вариантом kd-деревьев, т.к. стандартные бинарные методы ни к чему хорошему не приведут.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33981065
Решение этой задачи элементарно.
Когда кто-то решит её - он посмеется, как все было просто.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33982061
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Решение этой задачи элементарно.

Элементарна структура данных. Общее решение - не просто сложно, а очень сложно.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33982380
Андрей - он же дядя Сэм
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
А не пробовали с другой стороны посмотреть: единицы измерения - всегда стандартные; для конкретной величины указывается точность отображения, мультипликатор и шкала. В принципе, хорошо бы еще и погрешность указывать. :) Данных чуть больше, зато единиц измерения меньше (справочник компактнее и правильнее).

Попробовали похожую вещь и даже сделали, но в другой системе. Делали уже после завершения работы над вышеописанной. Думаю, что это уже очень веский довод в пользу такого варианта.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33982406
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> это уже очень веский довод в пользу такого варианта

Плюс стандартность, переносимость, реюзабельность и пр.

Со стандартными единицами измерения все понятно, плохо с нестандартными характеристиками. Их, к сожалению, геморройно унифицировать. Тот же цвет: может не иметь эквивалента в виде длины волны ("металлик", "хамелеон"), может иметь специальное название, зависящее от носителя или способа подготовки (в пре-пресс, например), может иметь идентификатор уникальной цветовой шкалы изготовителя (имплантаты или пломбировочные материалы в стоматологии) и пр.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33991591
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Last_Alien
>Тот путь решения уже давно отброшен в связи со своей бесперспективностью. Сейчас я работаю над модифицированным вариантом kd-деревьев, т.к. стандартные бинарные методы ни к чему хорошему не приведут.

Возможно, Вы найдете интересное решение.
Но данные в таблице атрибута могут быть отсортированы по значению атрибута. Поэтому возможен не SELECT, а SEEK первой строки и чтение следующей. Скорость видимо будет приличная. Да и добавление нового атрибута несложно.

С уважением, Владимир.
...
Рейтинг: 0 / 0
25 сообщений из 309, страница 12 из 13
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многокритериальный поиск в очень-очень большой базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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