|
|
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
sysprgИ не предлагайте решения по сведению 1000-мерного пространства к двумерному через тривиальную укладку в две таблицы. А вы предлагаете хранить Терабайты пустоты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 13:39 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий начинающие всегда уверены, что их первая программа перевернёт мир... с возрастом это проходит. обычно. Хороший способ оправдать свою бездарность и лень. Твое желание погадить в эту ветку только подтверждает мою правоту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 13:41 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Привет, Last_Alien! Ты пишешь: Last_AlienLA> Хороший способ оправдать свою бездарность и лень. LA> Твое желание погадить в эту ветку только подтверждает мою правоту. ну, давай ещё достанем и померяемся -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 13:44 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
miksoft А вы предлагаете хранить Терабайты пустоты? Пустоту хранить никто не предлагает. Просто решение на двух таблицах в классической субд не дает нужной скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 13:44 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_Alien miksoft А вы предлагаете хранить Терабайты пустоты? Пустоту хранить никто не предлагает. Просто решение на двух таблицах в классической субд не дает нужной скорости.да ну? две таблички в памяти будут медленнее Терабайт данных и индексов, которые надо будет поднимать с дисков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 14:20 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
miksoft Last_Alien miksoft А вы предлагаете хранить Терабайты пустоты? Пустоту хранить никто не предлагает. Просто решение на двух таблицах в классической субд не дает нужной скорости.да ну? две таблички в памяти будут медленнее Терабайт данных и индексов, которые надо будет поднимать с дисков? ??? Смотри обсуждение выше. Вообще-то говоря, индексы нужны именно для того, чтобы не поднимать с диска террабайты данных... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 14:31 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_Alien Просто решение на двух таблицах в классической субд не дает нужной скорости. Только не говорите что под "нужной скоростью" Вы понимаете "миллион запросов в секунду"... Для "глобального гипермаркета" время отклика в пару секунд более чем приемлемо. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 14:35 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Только не говорите что под "нужной скоростью" Вы понимаете "миллион запросов в секунду"... Для "глобального гипермаркета" время отклика в пару секунд более чем приемлемо. Откуда Вы взяли эту цифру??? Говоря о скорости, я имею в виду не время отклика системы (взятое с потолка), а сравнение двух алгоритмов, например, в max кол-вах операций чтения записей, необходимых для получения результата. Классика в лучшем случае дает m*О(n), где n - количество записей, а m - количество атрибутов, используемых при поиске. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 14:52 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
извиняюсь: m*O(ln(n)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 14:53 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_Alienизвиняюсь: m*O(ln(n))а Last_Alienрешение на двух таблицах в классической субд, которое вам так не нравится, даст O(ln(m*n)), где m - среднее количество значений атрибутов у одного объекта, что значительно меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:17 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Да уж, ребята... С такими познаниями "классических СУБД" можно много насоветовать :-\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:30 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
miksoft Last_Alienизвиняюсь: m*O(ln(n))а Last_Alienрешение на двух таблицах в классической субд, которое вам так не нравится, даст O(ln(m*n)), где m - среднее количество значений атрибутов у одного объекта, что значительно меньше Вообще-то я говорил о НАИХУДШЕМ случае, а не о среднем. Далее. Если мы ищем по 10 атрибутам, для каждого из которых в базе есть по 2млн. записей, а общее пересечение составляет 100 записей, вам придется поднять с диска порядка 20млн.записей. Очень обнадеживающий и перспективный результат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:37 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
pavelvpДа уж, ребята... С такими познаниями "классических СУБД" можно много насоветовать :-\ Великий гуру! Открой нам, ничтожным, истину!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:39 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Привет, Last_Alien! Ты пишешь: Last_AlienLA> Великий гуру! Открой нам, ничтожным, истину!!!в школу, нах, в школу! там и читать научат. не только писать. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:45 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Привет, Last_Alien! Ты пишешь: Last_AlienLA> Великий гуру! Открой нам, ничтожным, истину!!!в школу, нах, в школу! там и читать научат. не только писать. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 Ты форум случаем не перепутал? Для такого рода срача, которым ты страдаешь, предназначены ПТ, ЗПТ и area 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:47 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_AlienЕсли мы ищем по 10 атрибутам, для каждого из которых в базе есть по 2млн. записей, а общее пересечение составляет 100 записей, вам придется поднять с диска порядка 20млн.записей. Очень обнадеживающий и перспективный результат.А вы блоках посчитайте, а не в записях. Выйдет порядка на три (исходя из фразы автора темы "этих атрибутов очень-очень много - единицы тысяч") меньше, чем при развернутом хранении. Уж не говоря о том, что при свернутом хранении высока вероятность вообще данные (с нужными индексами) уместить в памяти. PS. тема, действительно, превратилась в цирк. Кто-то ругается, кто-то пытается что-то обсуждать, недоговаривая такое количество умолчаний, что понять друг друга невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:50 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
miksoftА вы блоках посчитайте, а не в записях. Выйдет порядка на три (исходя из фразы автора темы "этих атрибутов очень-очень много - единицы тысяч") меньше, чем при развернутом хранении. Уж не говоря о том, что при свернутом хранении высока вероятность вообще данные (с нужными индексами) уместить в памяти. PS. тема, действительно, превратилась в цирк. Кто-то ругается, кто-то пытается что-то обсуждать, недоговаривая такое количество умолчаний, что понять друг друга невозможно. На данном этапе обсуждения до блоков памяти еще как до луны. Что вы понимаете под свернутым хранением? P.S. Я предлагал автору топа обсуждать все по почте, но он посчитал это излишним. А без цирка на скуле не обойдешься ни как. Специфика места :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 15:58 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Действительно, всякие ублюдки лезут со своими оценками, не относящимися к существу дела. Ну вот, и я туда же. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 16:17 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Last_AlienЧто вы понимаете под свернутым хранением?а вот примерно то, что sysprg называет "сведение 1000-мерного пространства к двумерному через тривиальную укладку в две таблицы", хотя у меня таблиц получается четыре, но только две из них серьезно большие. PS. Информация чисто до кучи. Как строят большие датацентры и цитата от туда же: Google now has more than 450,000 servers spread over at least 25 locations around the world ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 16:40 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий Привет, Last_Alien! Ты пишешь: Last_AlienLA> Зачем бесплатно отдавать то, на чем можно сделать деньги? LA> Чтобы их сделали другие?:-))) LA> Виртуальный гипермаркет планетарного масштаба для Вас типовая задача???? Когда я был маленький, злой дебил, За моей спиной стоял огромный мир. Казался тенью от моих волос, И дышал мне в темя, как теплый пес. Но пришел черед и для моих работ... /*Алексей Кортнев.*/ начинающие всегда уверены, что их первая программа перевернёт мир... с возрастом это проходит. обычно. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 плох солдат который не мечтает стать генералом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 17:45 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Привет, MX! Ты пишешь: MXMA> плох солдат который не мечтает стать генераломречь в общем-то, не о том. человек настолько уверен, что его "идея" настолько уникально-гениальна, что боится даже заикаться о каких-либо подробностях. бо украдут, нах. не украдут. ибо между идеей и реализацией - пропасть, зачастую непреодолимая. особенно для "гениев", не имеющих прочного теоретического базиса под ногами. или в голове. -- With best regards, Мимопроходящий. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 17:53 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Чернышев Андрей ЛеонидовичА почему Вы, sysprg, говорите про "индекс по одному упорядоченному набору полей" ? И не уточняете - сколько в среднем "атрибутов" имеют не пустые значения в каждой Вашей "динамической записи" ? Может всего 5 (5!=120). Проведите простейший эксперимент по поддержке n! сочетаний при индексировании "динамических записей", где n - число непустых атрибутов. Очень мало атрибутов (единицы) присутствуют именно в каждой записи. Однако многие атрибуты заполнены у большинства записей - таких около двух десятков. Не вижу между ними разницы с точки зрения ускорения поиска (атрибут заполнен у большинства записей или он заполнен строго у всех записей). А еще есть несколько десятков атрибутов, заполненных более чем у одного процента записей. Однако, при ста миллионах записей (прогнозируемое наполнение базы уже в первые годы работы) это означает, что несколько десятков атрибутов заданы для 1-5 миллионов записей. Остальные же атрибуты действительно "мало популярны" - им соответствует сотня, тысяча или десятки тысяч записей (из 100 миллионов). Если смотреть на значения атрибутов, то увы - есть такие значения, для которых объем выборки - миллионы или даже десятки миллионов записей. И эти значения будут часто фигурировать в запросах. Однако их пересечения могут быть удивительно компактны. В качестве иллюстрации я привел вымышленный пример базы товаров для какого-нибудь "ebay" - когда, например, есть 100 тысяч медиа-товаров, в атрибутах которых значится "русский язык", есть 10 тысяч товаров, которые классифицированы как "книга" (не важно, на каком языке) и 2 миллиона товаров выставлены на продажу в городе "Нью-Йорк". Однако в Нью-Йорке выставлены на продажу всего-навсего 100 русскоязычных книг... Но мы не знаем заранее, что заинтересует пользователя - и у нас нет заранее построенного индекса для свертки "город" * "язык" * "тип товара". Разных пользователей интересуют разные срезы... Чернышев Андрей ЛеонидовичЧто касается "добавления атрибутов в процессе работы", то это ничего не усложняет, если всегда индексируются все сочетания. Можно подумать об "интеллекте", основанном на простых статистиках, и не индексировать "маловостребованные" сочетания (при необходимости проиндексировать). И если уж распределять нагрузку, то именно по индексированию сочетаний.Да, возможно, что динамическая и при этом автоматическая (от статистики запросов) генерация нужных индексов - это хорошая идея. Но это не панацея - запросов будет много и они разнообразны - поэтому нужна и базисная структура, которая бы в любом случае неплохо справлялась с задачей БЕЗ дополнительных "частных" индексов. Если просто динамически строить индексы (и даже уничтожать старые по какому-нибудь LRU), то из-за разнообразия пользовательских запросов все время уйдет на генерацию этих самых индексов. И никакой памяти под них не хватит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 18:26 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
ВыбегаллоА по теме - интересно было бы Sybase IQ попробовать (как вам уже посоветовали), поскольку с ихним хранением данных (только ненулевых) по столбцам он очень подходит для сильноразреженных матриц. Спасибо за советы :) и действительно Sybase IQ интересная разработка именно для таких задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 18:49 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
sysprg В качестве иллюстрации я привел вымышленный пример базы товаров для какого-нибудь "ebay" - когда, например, есть 100 тысяч медиа-товаров, в атрибутах которых значится "русский язык", есть 10 тысяч товаров, которые классифицированы как "книга" (не важно, на каком языке) и 2 миллиона товаров выставлены на продажу в городе "Нью-Йорк". Однако в Нью-Йорке выставлены на продажу всего-навсего 100 русскоязычных книг... Но мы не знаем заранее, что заинтересует пользователя - и у нас нет заранее построенного индекса для свертки "город" * "язык" * "тип товара". Разных пользователей интересуют разные срезы... Надо ли это понимать как пример вашей задачи?(пусть даже мы каждую цифру здесь увеличим допустим в 1000 раз). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 18:52 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
sysprg ВыбегаллоА по теме - интересно было бы Sybase IQ попробовать (как вам уже посоветовали), поскольку с ихним хранением данных (только ненулевых) по столбцам он очень подходит для сильноразреженных матриц. Спасибо за советы :) и действительно Sybase IQ интересная разработка именно для таких задач. Не за что, Да Sybase IQ вещь классная. Главное только правильно применить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2006, 18:53 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33959014&tid=1545033]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
206ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 548ms |

| 0 / 0 |
