powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многокритериальный поиск в очень-очень большой базе
25 сообщений из 309, страница 5 из 13
Многокритериальный поиск в очень-очень большой базе
    #33956182
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Last_AlienЕсли у тебя выборки по двум отдельным атрибутам будут по 100тыс.записей, а их пересечение - 100 записей, то как будет вести себя система?Да, это еще более удачный пример, чем в моем предыдущем сообщении - симметрично два больших списка и короткое пересечение между ними.
О чем бы не шла речь в моей исходной задаче, но когда у нас 100 миллионов записей и 1000 атрибутов - такое компактное пересечение двух длинных списков вполне вероятно. Как я сказал в постановке задачи - именно за компактными пересечениями и гонится наш пользователь - наверное, в будущем собственно за подобные задачи и будут платить деньги. И еще за поиск "ближайших" записей по заданному шаблону.
Классический же поиск по заранее обдуманным и проиндексированным по указанию разработчика фиксированным атрибутам, дающий 10 тысяч записей в ответе, все менее интересен.
Поэтому обсудить задачу поиска в разряженной таблице с динамически добавляемыми колонками (или в многомерном пространстве переменной размерности, кому такая терминология ближе) интересно даже в отрыве от конкретных проектов. Это будущее в развитии СУБД. :)
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956184
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот помнится год-два назад был тут такой serg99 - собирался свою СУБД написать и вроде почти уже написал...
но вот тут неожиданно всплыл - как и два года назад уже есть прототип. Подождём еще два года

чем-то ситуация напоминает
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956195
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, SergSuper!
Ты пишешь:

SergSuperS> а вот помнится год-два назад был тут такой serg99 - собирался свою СУБД
S> написать и вроде почти уже написал...
S> но вот тут неожиданно всплыл - как и два года назад уже есть прототип.
S> Подождём еще два года

S> чем-то ситуация напоминаетнапоминает Шуклина.
на "Мембране"...
тьфу-тьфу-тьфу...

а где он, кстати?
что-то давно он саморекламой не занимался...

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956233
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Random_GoodmanПоэтому задача совершенно другая: КАК сначала найти спонсора, а потом уж задаваться вопросом о СУБД, которая как здесь правильно заметили отнюдь не на первом месте по важностиСобственно этот подход и плодил пустые дот-комы до конца 2001 года - тогда народ сначала находил спонсора (инвестора), а затем вдруг оказывалось, что они не знают, как сделать то, за что взялись . Конец у всех, кто начинает с поиска спонсора без видения, как он решит задачу, всегда один - разорение. Да, еще есть программисты-стервятники, которые в таких проектах до разорения предпринимателя, нашедшего инвесторов, успевают поотсасывать из него зарплаты по 3-5K$ в месяц и вовремя смыться, чтобы поработать где-нибудь еще. :)
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956311
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЕсли предыдущий приведенный мною запрос не справится, релевантность
только полная а количество критериев ограничено парой дюжин то self-join
с правильными индексами обеспечит работу влет.Предположим есть записи, характеризующиеся некоторыми атрибутами и этих записей много, как говорилось в постановке задачи - порядка 100 миллионов. Пусть пользователь хочет поискать те записи, у которых пара атрибутов строго равна указанным значениям. Вот такая простая задачка. Но при таком большом числе записей интуитивно ясно (и в проблемной области так оно и есть), что, скорее всего, найдется много записей, у которых данный атрибут равен данному значению. Скажем - 10 тысяч записей вдоль одного атрибута и 10 тысяч вдоль другого. А пересечение у них может быть очень компактным - быть может 100, а то и 10 записей! Собственно за этим пересечением и "охотится" наш пользователь, подавая запрос... На умении искать такие пересечения мы делаем деньги. :)
Как нам быстро найти пересечение, не перебирая 10 тысяч записей движением вдоль только одного атрибута? Если мы будем перебирать 10 тысяч записей двигаясь вдоль какого-то атрибута - то мы прогрузим работой весь кластер, так как (скорее всего) эти 10 тысяч записей окажутся размазанными по всем машинам кластера... Нам нужен поиск, быстро сходящийся к нужной области многомерного пространства - без подъема в память всех записей вдоль одного из атрибутов.
Ладно, это еще ничего - тут можно пересечь списки записей, которые возможно будут компактными и будут храниться на нескольких машинах. Современные базы типа DB2 и Oracle так и сделают, при наличии отдельных индексов по атрибутам. Может быть - при наличии индекса по паре {ID атрибута, значение} в Вашем примере.
Но представьте себе, что вдоль одного из атрибутов у нас 2 миллиона записей, а вдоль другого - 10 тысяч. И опять-таки пересечение между ними - в 100 записей. В этом случае пересекать списки не получится - так как один из них очень длинный (2 миллиона элементов) и наверняка он размазан по всему кластеру. Или же хранящая его машина будет перегружена работой (особенно если он "популярный" - участвует во многих запросах).
Собственно больше всего меня интересует база данных, которая умеет решать эту задачу, или алгоритм ее решения, или мысли по этому алгоритму. DB2 или Oracle, например, даже потенциально будучи интересными в плане масштабируемости, тут ничем не помогут IMHO, так как в них просто в принципе нет способов индексации адекватных этой задаче. У них только списки да bitmaps.
Атрибуты (колонки в виртуальной разряженной таблице, размерности пространства) добавляются динамически в процессе работы - поэтому классические способы индексирования встроенные в саму базу типа DB2 или Oracle тут не подходят. И никто не знает, какие пары (или, скажем, тройки) атрибутов будут интересны пользователю, чтобы заранее построить по ним объединенные индексы.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956319
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprg...да вот только совсем непонятно, как это поможет собственно решить содержательную часть проблемы - сделать поиск по нескольким выбранным пользователем критериям быстрым. Отвечаю. Именно на такие запросы заточена эта СУБД. Если конечно Вы сами понимаете то, о чём говорите :-\
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956368
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavelvpОтвечаю. Именно на такие запросы заточена эта СУБД. Если конечно Вы сами понимаете то, о чём говорите :-\Каким образом она может быть заточена под такие запросы, если в ней нет никаких методов для индексации многомерных данных, все возможные виды индекса - это индексы по заранее выбранной упорядоченной группе атрибутов или по какой-то заранее специфицированной выборке?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956406
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprgСкажем - 10 тысяч записей вдоль одного атрибута и 10 тысяч вдоль другого. А пересечение у них может быть очень компактным - быть может 100, а то и 10 записей! Собственно за этим пересечением и "охотится" наш пользователь, подавая запрос... Если объём данных очень велик и его динамика неизвестна, а количество атрибутов (если это конечно атрибуты??? (атрибуты отношения), что у меня вызывает серьёзные сомнения...) не ограничено и непредсказуемо, то ваша задача не имеет решения. Нормально распараллелить работу можно только при наличии условий/критериев параллелизма. Если же их изначально нет...
В исходной "постановке", в какой уж есть :-), задача не параллелится.
Я уже задавал эти вопросы, но они были проигнорированы.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956464
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprg...группе атрибутов или по какой-то заранее специфицированной выборке? Вы сначала определитесь, что есть в Вашем понимании атрибут.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956485
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavelvp sysprgСкажем - 10 тысяч записей вдоль одного атрибута и 10 тысяч вдоль другого. А пересечение у них может быть очень компактным - быть может 100, а то и 10 записей! Собственно за этим пересечением и "охотится" наш пользователь, подавая запрос... Если объём данных очень велик и его динамика неизвестна, а количество атрибутов (если это конечно атрибуты??? (атрибуты отношения), что у меня вызывает серьёзные сомнения...) не ограничено и непредсказуемо, то ваша задача не имеет решения. Нормально распараллелить работу можно только при наличии условий/критериев параллелизма. Если же их изначально нет...
В исходной "постановке", в какой уж есть :-), задача не параллелится.
Я уже задавал эти вопросы, но они были проигнорированы.
Но гугл то как-то подобные вещи делает...
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956496
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperНо гугл то как-то подобные вещи делает... Ничего подобного гугл не делает. Начнём с того, что он не обрабатывает миллион запросов в секунду.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956522
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprgСобственно этот подход и плодил пустые дот-комы до конца 2001 года - тогда народ сначала находил спонсора (инвестора), а затем вдруг оказывалось, что они не знают, как сделать то, за что взялись . Конец у всех, кто начинает с поиска спонсора без видения, как он решит задачу, всегда один - разорение. Да, еще есть программисты-стервятники, которые в таких проектах до разорения предпринимателя, нашедшего инвесторов, успевают поотсасывать из него зарплаты по 3-5K$ в месяц и вовремя смыться, чтобы поработать где-нибудь еще. :)Уважаемый, вы передергиваете и ставите все с ног на голову. Это проблемы спонсора а не того кто что-то для него делал. Ваша же задача - финансирования - от этого легче не становится.

Если спонсор вложится и програет - вам все равно. Если спонсор не вложится - однозначно проиграете вы.

Какой смысл обсуждать, подойдет ли для вашей задачи скажем MS SQL, если для ее решения требуется (предположим) 8-и процессорный блэйд, который, вкупе с лицензиями на MS SQL вам без спонсора не потянуть?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956572
Random_Goodman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У автора на самом деле только один выход: написать общую концепцию и с ней ходить по инстатнциям. Потому что если вдруг найдется спонсор даст деньги но с условием что СУБД скажем может быть любой кроме МС СКЛ, а автор давно настроился на МС СКЛ и уже что-то делает - проект тут же накроется медным тазом. автор пойдет гордо искать спонсора дальше. В результате ни проекта. ни денег, ни радости\горя у спонсора по поводу вложения. Иначе говоря. ничего.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956632
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Random_GoodmanУважаемый, вы передергиваете и ставите все с ног на голову. Это проблемы спонсора а не того кто что-то для него делал.Что такое репутация и доверие Вам известно? В инвестиционном бизнесе это ключевые качества. Вы просто смотрите на мир глазами человека, которому главное успеть получить свои бабки до того, как дело развалится. Если так относится к инвестору (типа мы ничего не сделали - но это его проблемы, сам дурак, что вложил в нас деньги) - то Ваш первый проект будет и последним.

Кстати, кто такой "спонсор" я не знаю, никогда не видел человека, который бы безвозмездно вкладывал деньги в IT-проекты. Есть инвесторы - это люди, которые вкладывают деньги в обмен на долю в компании.

Random_GoodmanЕсли спонсор вложится и програет - вам все равно.Увы, но это рассуждения наемника, который работает чисто за зарплату и которому действительно все равно, что будет в итоге (и это определяет и эффективность работы). Но тот, кто платит ему зарплату из инвесторских денег, теряет свою репутацию, когда бизнес разоряется. Поэтому в инвестиционные проекты стараются не брать людей с такой идеологией.

Random_GoodmanКакой смысл обсуждать, подойдет ли для вашей задачи скажем MS SQL, если для ее решения требуется (предположим) 8-и процессорный блэйд, который, вкупе с лицензиями на MS SQL вам без спонсора не потянуть?Вас вообще базы данных интересуют или чужие деньги? :)
Если базы данных, то давайте обсудим как решить исходную задачу. Если деньги - извините, вы обратились не по адресу, я не "спонсор".
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956652
Фотография Anton Demidov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprg Anton DemidovКстати, было бы интересно посмотреть на аналогичное сравнение от IBM, может кто видел - киньте линк, плиз.
Что нашел на их сайте:
www-306.ibm.com/software/data/db2/benchmarks/111704.html
www-306.ibm.com/software/data/highlights/scalecluster.html
Первая ссылка на тестирование, результаты которого ИВМ позднее отозвала.
Вторая от 2003 года. Вот например тестирование от DELL 10-ти нодового Оракла.

ВыбегаллоЗабавно, что Oracle только рассуждает о теоретических преимуществах их подхода, а IBM публикует результаты TPC-C
Вы бредите. У IBM нет ни одного кластерного результата в TPC-C
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956653
antand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sysprg Dimitry SibiryakovЕсли предыдущий приведенный мною запрос не справится, релевантность
только полная а количество критериев ограничено парой дюжин то self-join
с правильными индексами обеспечит работу влет.Предположим есть записи, характеризующиеся некоторыми атрибутами и этих записей много, как говорилось в постановке задачи - порядка 100 миллионов. Пусть пользователь хочет поискать те записи, у которых пара атрибутов строго равна указанным значениям. Вот такая простая задачка. Но при таком большом числе записей интуитивно ясно (и в проблемной области так оно и есть), что, скорее всего, найдется много записей, у которых данный атрибут равен данному значению. Скажем - 10 тысяч записей вдоль одного атрибута и 10 тысяч вдоль другого. А пересечение у них может быть очень компактным - быть может 100, а то и 10 записей! Собственно за этим пересечением и "охотится" наш пользователь, подавая запрос... На умении искать такие пересечения мы делаем деньги. :)
Как нам быстро найти пересечение, не перебирая 10 тысяч записей движением вдоль только одного атрибута? Если мы будем перебирать 10 тысяч записей двигаясь вдоль какого-то атрибута - то мы прогрузим работой весь кластер, так как (скорее всего) эти 10 тысяч записей окажутся размазанными по всем машинам кластера... Нам нужен поиск, быстро сходящийся к нужной области многомерного пространства - без подъема в память всех записей вдоль одного из атрибутов.
Ладно, это еще ничего - тут можно пересечь списки записей, которые возможно будут компактными и будут храниться на нескольких машинах. Современные базы типа DB2 и Oracle так и сделают, при наличии отдельных индексов по атрибутам. Может быть - при наличии индекса по паре {ID атрибута, значение} в Вашем примере.
Но представьте себе, что вдоль одного из атрибутов у нас 2 миллиона записей, а вдоль другого - 10 тысяч. И опять-таки пересечение между ними - в 100 записей. В этом случае пересекать списки не получится - так как один из них очень длинный (2 миллиона элементов) и наверняка он размазан по всему кластеру. Или же хранящая его машина будет перегружена работой (особенно если он "популярный" - участвует во многих запросах).
Собственно больше всего меня интересует база данных, которая умеет решать эту задачу, или алгоритм ее решения, или мысли по этому алгоритму. DB2 или Oracle, например, даже потенциально будучи интересными в плане масштабируемости, тут ничем не помогут IMHO, так как в них просто в принципе нет способов индексации адекватных этой задаче. У них только списки да bitmaps.
Атрибуты (колонки в виртуальной разряженной таблице, размерности пространства) добавляются динамически в процессе работы - поэтому классические способы индексирования встроенные в саму базу типа DB2 или Oracle тут не подходят. И никто не знает, какие пары (или, скажем, тройки) атрибутов будут интересны пользователю, чтобы заранее построить по ним объединенные индексы.
Извините за вторжение.
Долго читал этот топик и все никак не мог понять, что же конкретно хочет и ищет автор.
Но вот у него мелькнули слова "На умении искать такие пересечения мы делаем деньги" и вообще словами "анализ данных" повеяло.
Может вам нужен типа такой продукт
http://www.sybase.ru/Syb/products/databases/sybaseiq/iq_12_5.htm
И вообще, помотреть в сторону хранилищ данных и анализа, я Sybase в качестве примера привел. Это должно быть как раз то что Вам надо.
Только будьте готовы к тому , что основная работа здесь будет это именно граммотно спроектировать такое хранилище под вашу задачу.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956726
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavelvpЕсли объём данных очень велик и его динамика неизвестна, а количество атрибутов (если это конечно атрибуты??? (атрибуты отношения), что у меня вызывает серьёзные сомнения...) не ограничено и непредсказуемо, то ваша задача не имеет решения.Хорошо, поясню на очень простом примере, придуманном "на лету". Предположим, у нас есть 100 миллионов товаров. Для каждого товара определен тип (например, "книга", "фильм" или "автомобиль"). Для книг и фильмов так же известен их язык ("русский", "английский" и т.п.). Для любого товара так же указан город, где его продают (например, "Нью-Йорк" или "Москва"). В базе есть 10 тысяч наименований книг. Есть 100 тысяч товаров, имеющих отношение к русскому языку. Есть 2 миллиона товаров, которые продаются в Нью-Йорке. Но при этом в Нью-Йорке продается всего-навсего 100 книг на русском языке. Собственно их и нужно найти.
Задача была бы тривиальной, если бы мы строили базу данных конкретно под продажу книг и заранее знали, какие у них есть атрибуты и какие запросы интересны пользователю. Но тогда вообще не стоило бы обращаться с подобной задачей ни в какую конференцию, искать под нее новейшие решения (готовые СУБД) и т.п. Так как любая современная СУБД прекрасно справилась бы с ней.
Всю не тривиальность реальной задаче (и этой вымышленной задачке) придает то, что таких атрибутов, как в данном примере "тип товара", "город", "язык" - их около тысячи. И более того - эти атрибуты добавляются динамически, по мере развития проблемной области. И мы не знаем заранее, какие именно сочетания характеристик заинтересуют пользователя.
Классические базы данных в чистом виде здесь вообще неприменимы - так как их алгоритмы поиска в приведенном мной примере в лучшем случае пойдут от 10 тысяч книг и будут каждую из них через индексы или напрямую тестировать на тему соответствия другим критериям запроса. Но они как минимум совершат 10 тысяч обращений к хранилищу данных.
Мне нужна система, которая в данном трехмерном пространстве быстро локализовалась бы в той его узкой области, где лежит 100 искомых записей. Не поднимая много других данных - как можно меньше. И (это важно!) не сдохла бы, когда размерность пространства с трех возрастет до 1000 измерений (атрибутов).

pavelvpНормально распараллелить работу можно только при наличии условий/критериев параллелизма. Если же их изначально нет......то система должна автоматически находить их без участия человека. :)
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956738
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprgКлассические базы данных в чистом виде здесь вообще неприменимы - так как их алгоритмы поиска в приведенном мной примере в лучшем случае пойдут от 10 тысяч книг и будут каждую из них через индексы или напрямую тестировать на тему соответствия другим критериям запроса. Но они как минимум совершат 10 тысяч обращений к хранилищу данных.
Блядть, да хватит уже чушь гнать.
Индексная алгебра давно изобретена и успешно используется. Начиная с настольных фокспро и аксеса.
Может перестанете Рашмора изобретать?
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956752
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprg
я все-таки не понимаю, что же именно вы хотите здесь найти, техническое решение? если да, то где постановка задачи?

Если отталкиваться от примера с товарами, то ничего сложного я в задаче не вижу, если не кидаться в крайности типа миллиона запросов в секунду.
Я делал фрагмент большой БД, который построен примерно так, как в примере. При количестве значений атрибутов порядка 35 тысяч и количестве отношений товар-значение_атрибута порядка 10 миллионов никаких проблем с производильностью в Оракле у меня не было, причем даже без применения партиционирования. В MySQL пришлось повозиться, но тоже получилсоь вполне потребно. Думаю, на хорошем серваке на моих объемах данных вполне реально добиться выполнения сотен или даже тысяч запросов в секунду.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956754
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftя все-таки не понимаю, что же именно вы хотите здесь найти
Он здесь пытается изобрести алгоритм, используемый со времен FoxPro под MS DOS.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956757
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sysprgКлассические базы данных в чистом виде здесь вообще неприменимы - так как их алгоритмы поиска в приведенном мной примере в лучшем случае пойдут от 10 тысяч книг и будут каждую из них через индексы или напрямую тестировать на тему соответствия другим критериям запроса. Но они как минимум совершат 10 тысяч обращений к хранилищу данных. Классические базы данных пересекут несколько битвекторов и и прочитав только нужные страницы с данными отдадут ответ... Очень быстро.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956774
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
antandДолго читал этот топик и все никак не мог понять, что же конкретно хочет и ищет автор.
Но вот у него мелькнули слова "На умении искать такие пересечения мы делаем деньги" и вообще словами "анализ данных" повеяло.
Может вам нужен типа такой продукт
http://www.sybase.ru/Syb/products/databases/sybaseiq/iq_12_5.htmСпасибо за ссылку, с интересом прочитал описание! Все отлично, но они строят индексы только по отдельным атрибутам (колонкам), более же сложные индексы нужно создавать вручную. Значит на моих запросах эта система будет работать медленно, если не изучить очень хорошо предметную область и не построить все мыслимые комплексные индексы самостоятельно. А это не всегда возможно сделать, если заниматься этим вручную. Однако радует, что кто-то уже работает над идеей динамического и столь же легкого, как добавление строки, добавления новых столбцов в таблицу.

antandИ вообще, помотреть в сторону хранилищ данных и анализа, я Sybase в качестве примера привел. Это должно быть как раз то что Вам надо.
Только будьте готовы к тому , что основная работа здесь будет это именно граммотно спроектировать такое хранилище под вашу задачу.Да, я смотрел описания некоторых систем для хранилищ данных и анализа данных. Но они или ориентированы на статику (а в моей задаче речь идет о постоянно меняющейся в реальном времени базе и естественно нужна поддержка транзакций) или же они реализуются как аналитические надстройки поверх традиционных реляционных СУБД (типа DB2, Oracle), то есть проблемы быстроты поиска в многомерном пространстве остаются теми же.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956788
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pavelvpКлассические базы данных пересекут несколько битвекторов и и прочитав только нужные страницы с данными отдадут ответ... Очень быстро.Возьмем тот же пример, который я уже приводил - по одному атрибуту мы имеем 2 миллиона записей из 100 миллионов, по другому - 10 тысяч. И вот база данных возьмет этот битовый вектор, в котором 2 миллиона единиц, общей длиной в 100 миллионов битов (компрессия тут не сильно поможет, так как мы имеем довольно плотное распределение единиц) и пересечет его с коротким компрессированным битовым вектором (если движек поддерживает компрессию битмапов). Во что это выливается по быстродействию? В обработку 100m / 8 = примерно 11 мегабайтов данных. Если этот атрибут (по которому у нас 2 миллиона записей подпадает под запрос) популярный у пользователей, и многие пользователи его указывают в своих запросах, то мы на каждый из запросов будем перехреначивать (или хотя бы читать из памяти и передавать на другой узел кластера, чтобы не грузить одну машину превращая ее в "бутылочное горло"!) 11 мегабайтов данных, пересекая их с другим аналогичным (только разряженным) индексом.
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956796
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну детский сад какой-то...
...
Рейтинг: 0 / 0
Многокритериальный поиск в очень-очень большой базе
    #33956806
sysprg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftя все-таки не понимаю, что же именно вы хотите здесь найти, техническое решение? если да, то где постановка задачи?Да фиг с ним, с техническим решением.
Во-первых, я не отслеживаю детально положение дел в области устройства баз данных, а на этом форуме много специалистов по новейшим ведущим коммерческим СУБД - и меня заинтересовало текущее состояние дел. Чтобы не изобретать велосипед и купить готовую систему, если она уже создана разработчиками IBM, Oracle, Sybase, Microsoft или еще кем-то.
Во-вторых, традиционно считается, что в России (ex-СССР) очень сильная академическая среда, куча специалистов по алгоритмам и т.п. Почему бы не ожидать, что те из них, кто занимается базами данных - тусуются на этом форуме, а не только в своем университете или еще где-то. Тогда от них можно было бы получить обзор современного состояния дел в алгоритмике поиска в многомерных пространствах, какие-то ценные советы, наводки на пути решения проблемы. Не инженерные, но алгоритмические идеи.
В-третьих, по более простым темам здесь людям дают ценные советы, с помощью которых они решают свои проблемы. Значит тут есть хорошие специалисты-практики, которые работают с самыми разными задачами. Я подумал, что если не брать скорость обработки, то задача-то эта должна всплывать и в других проектах - а значит, у кого-то может быть хоть какой-то опыт решения подобных проблем на больших объемах данных, например (но не с такой скоростью). Учесть чужой опыт (в том числе негативный) всегда полезно при проектировании своей системы.
Конечно, было ожидаемо, что поняв масштабы задачи сразу кто-то скажет: "тут без реальных бабок на стол и контракта на работу никаких советов дать невозможно". И как на любом другом форуме, найдется пара распальцованных ламеров, которые разведут флейм на тему моего умственного развития. Но это неизбежные издержки общения. :)
Кое-какую ценную информацию я уже собрал и думаю, что обсуждение можно продолжать дальше - с теми, кто представляет себе внутренее устройство СУБД и т.п.
...
Рейтинг: 0 / 0
25 сообщений из 309, страница 5 из 13
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многокритериальный поиск в очень-очень большой базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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