|
|
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
>Last_Alien >Тот путь решения уже давно отброшен в связи со своей бесперспективностью. Сейчас я работаю над модифицированным вариантом kd-деревьев, т.к. стандартные бинарные методы ни к чему хорошему не приведут. Возможно, Вы найдете интересное решение. Но данные в таблице атрибута могут быть отсортированы по значению атрибута. Поэтому возможен не SELECT, а SEEK первой строки и чтение следующей. Скорость видимо будет приличная. Да и добавление нового атрибута несложно. С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 22:43 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
Сколько готовы заплатить за решение этой задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 18:13 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> Сколько готовы заплатить за решение этой задачи? Вы готовы ее решить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 19:16 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Сколько готовы заплатить за решение этой задачи? Вы готовы ее решить? В случае если отказаться от поиска по диапазону - как хранение так и поиск реализуемы в СУБД Cerebrum. Грубая оценка сложности поиска O(A * M * log(N)) где A - аттрибуты, M - колличество успешных результатов и N всего записей. Это при M << N. При M ~ N : O(A*N) Параноидально плохой случай при 0 результатов O(A * N * log(N)) - это в случае если каждая "четная" запись имеет аттрибут A1 а каждая "нечетная" - A2. Еще учитывая что Nmax = 2^32 то log(Nmax) можно считать константой и вынести из под O значительно на точность оценки это не повлияет т.к. в Ц время поиска в индексе слабо зависит от N и всегда приближено к log(Nmax). В случае попадания в кэш индекс обеспечивает 20000-40000 элементарных поисков в секунду на моей машине. Тоесть если бд в рам A * N / 40000 поисков в сек для всей задачи в худшем случае. При более качественной реализации можно показатели улучшать. Собственно данный механизм за отсутсвием реальных задач в текущей версии Cerebrum не реализован. Его разработка заморожена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 20:55 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
>guest_20040621 >Вы готовы ее решить? А что такое - решить? С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 21:10 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> В случае Дима, извините, но мне не интересно обсуждать задачи с дебилами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 21:15 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
"..Вы готовы ее решить?" 1. тз. 2. тестовые данные. 3. сроки. 4. сумма на руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2006, 14:34 |
|
||
|
Многокритериальный поиск в очень-очень большой базе
|
|||
|---|---|---|---|
|
#18+
> 1. тз. 100к rps не слишком испугает? > 2. тестовые данные. Какие тестовые данные? Вы задачу собираетесь решать или кодописательством заниматься? > 3. сроки. Скажем, полгода. > 4. сумма на руки. Знаете, дружище, на Вашем месте сумму я бы обсуждал в последнюю очередь. Вы беретесь за решение задачи, не видев технического задания, не зная характеристик и топологии программно-аппаратного комплекса, - заведомо полагая, что сможете ее решить. Откуда такая уверенность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2006, 16:19 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1545033]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 439ms |

| 0 / 0 |
