Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Вниз

что быстрее   Найти похожие ветки 

 
Anatoly Podgoretsky ©   (2009-05-07 16:13) [40]


> ford ©   (07.05.09 16:03) [38]

Тут дело такое, быстро, но более дорогая машина с хорошими ресурсами и другими алгоритмами доступа.

Или медленно, но медленно - данные ограничиваются только устройством хранения. Спокойно сможешь обрабатывать теже 2 ТБ.

Поэтому середина обеспечивается или MMF или БД. БД расчитаны на обработку особо больших массивов данных.


 
MBo ©   (2009-05-07 16:15) [41]

>каждый узел имеет 60 ветвей

т.е. большую часть элемента занимают ссылки (номера) детишек?


 
asails   (2009-05-07 16:21) [42]


> ford ©   (07.05.09 14:58) [22]
>
> > Anatoly Podgoretsky ©
> ....
> > Выпускают платы на 2 ТБ, для серверов на базе Итаниум
> и
> > подобных.
>
> круто
> от бы мне на целерончик
> такую воткнуть :)

Твой целерончик сгорит тока при попытке посчитать, скока памяти к нему присобачили :)))


> но, сразу предупреждаю, данная задача, через БД не решается
> БД - база данных, её основная функция это накапливать данные
> и выдавать подмножестов данных по запросу

Ну-ну... Помимо БД есть еще и СУБД... Кстати, вторая задача - это уже туды.


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

Тады ХП (хранимые процедуры) тебе в помощь, чтоб зазря не таскать гигы с сервера на клиента.


 
boa_kaa ©   (2009-05-07 16:31) [43]


> ford ©   (07.05.09 15:44) [28]
> не будете-же вы в СУБД решать диффуравнения :)

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


 
ford ©   (2009-05-07 16:41) [44]


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

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

или вот еще, я недавно спрашивал тут вопрос про IFilter
нашел статью что при помощи этой технологии можно извлекать текст и другую инфу из практически чего хош.... толи я гугли не умею пользоваться, но я так и не нашел статью(ей) где бы объяснялось что это за зверь и откуда у него растут ноги. Нашел только пару реализаций на основе этой технологии, но это мертвому припарки, т.к. я встречаюсь с ней впревые и показать реализацию без теории это всеравно что CopyPast
согласись это не хорошо.

Так что какой алгоритм придумал, такой придумал, наверняка есть более красивое решение, 100%
но когда на этом же форуме я дал кусок кода и спросил как это сделать лучше, то увидел фразы типа "дай денег, сделаем"
пытаясь оптимизировать свой алгоритм, я вытянул из него все что можно (ессесно не фахт ;) )
например обработка 100000 исходных элементов занимает не сутки а всего 2 часа. тормоза остались только в классе где реализован механизм чтения записи данных, причем я не тупо читаю из файла, каждая запись это цепочка в которой есть указатель на следующую запись.
откуда собственно и возник вопрос  а не быстрее будет дать ОС самой решать когда записывать в файл а когда чиать из него, а программа будет работать с массивом "якобы" распопложенном в памяти.

про "немерянно" данных, я тут ни причем есть БД откуда они тянуться от там их немерянно а я их тока обрабатываю. Но при обработке мне надо записывать промежуточные результаты, писать в базу не вариант, потому как они временные и их надо будет удалять ежели буду так делать с базой , то через неделю сервер БД просто рухнет


 
ford ©   (2009-05-07 16:42) [45]


> MBo ©   (07.05.09 16:15) [41]

собственно говоря да
большую часть это ссылки на детей


 
ford ©   (2009-05-07 16:45) [46]


> boa_kaa ©   (07.05.09 16:31) [43]

это было сказанно для примера :) что не все можно решать при помощи СУБД
т.е. чтобы отсечь предложения о ХП
ибо пробовал :))
мало того что закат солнца в ручну (в рамках моей задачи) дык еще и дооолго


 
Медвежонок Пятачок ©   (2009-05-07 16:47) [47]

есть БД откуда они тянуться от там их немерянно а я их тока обрабатываю

И каким боком здесь нейросети?

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

Ну удалять, и чего?

ежели буду так делать с базой , то через неделю сервер БД просто рухнет

Он уже "рухал"? И сколько раз?
Или это просто фобия?


 
Sha ©   (2009-05-07 16:52) [48]

Неправильно оптимизировать "немерянный" алгоритм.
Стоит вернуться к постановке задачи в терминах пользователя.
После 40 постов в чем состоит эта задача для меня так и остается загадкой.


 
Sergey13 ©   (2009-05-07 16:53) [49]

> [44] ford ©   (07.05.09 16:41)

Ты много пишешь про глобальное. Нейросети, дифуравнения.
Тебя просили уже описать задачу, которую решаешь. Что за данные? Какие пертрубации ты с ними делаешь? Что за СУБД, где хранится "немеряно"?

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

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


 
MBo ©   (2009-05-07 16:56) [50]

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

Тогда, вероятно, можно вовсе не хранить эти ссылки, а построить полное 60-арное дерево в массиве, подобно тому, как бинарная куча (heap) хранится. И все влезет в память.

Собственно, информацию ты пока по каплям выдаешь, так что могут появиться и более разумные предложения по оптимизации, если расколешься ;)


 
ford ©   (2009-05-07 16:56) [51]


> Медвежонок Пятачок ©   (07.05.09 16:47) [47]

я не хочу ставить такие эксперементы
но могу тебе предложить Ж))
создай таблицу, запихни в неё пару гиг
удали таблицу
и так повторяй как минимум пару раз в день
при этом чтобы все кто пользуются базой также ей и пользовались

.....
я конечно не спец в написании СУБД
но я так понимаю что при создании таблицы и записи в неё данных СУБД раширяет имеющийся у неё контейнер (ORACLE,FIREBIRD,INTERBASE и др.) или просит добавить контейнер к уже имеющимся (SAPDB)
т.е. ты предлагаешь пару раз в день увеличивать тейблспейс
потом его "чистить" .....
и т.д
:)
я думаю всетаки рухнет


 
Медвежонок Пятачок ©   (2009-05-07 17:01) [52]

Пару гигов промежуточных данных?
Допустим что пару.
Кто сказал что их надо сохранять в таблицы а потом удалять?
Почему они не могут быть просто переменных?


 
Anatoly Podgoretsky ©   (2009-05-07 17:02) [53]

> asails  (07.05.2009 16:21:42)  [42]

Вот чтобы не сгорел я и не использую Целерон. А Core 2 Quad


 
Медвежонок Пятачок ©   (2009-05-07 17:03) [54]

я думаю всетаки рухнет

Ты срочно напиши производителям всех субд, что при ежедневном объеме модификаций размером от двух гигов есть сильное подозрение, что все их сервера рухнут.

Дело -то не шуточное.
Многие же используются для управления ядерными силами стран.
Как бы чего не вышло.


 
Игорь Шевченко ©   (2009-05-07 17:05) [55]


> создай таблицу, запихни в неё пару гиг
> удали таблицу
> и так повторяй как минимум пару раз в день
> при этом чтобы все кто пользуются базой также ей и пользовались


нефиг делать


> я конечно не спец в написании СУБД


именно


 
Медвежонок Пятачок ©   (2009-05-07 17:05) [56]

в общем пока такое чувство, что у тебя есть желание поговорить об этом, а не решить задачу


 
sniknik ©   (2009-05-07 17:06) [57]

> я думаю всетаки рухнет
тебе думать вредно.


 
ford ©   (2009-05-07 17:07) [58]


> MBo ©   (07.05.09 16:56) [50]

я думал построить полное дерево
и засунуть его в память
но
посчитал примерно так (8 - размер данных для каждого узла)
первый уровень 60х8=480
второй уровень 60х60х8=28800
третий уровень 60х60х60х8=1728000
четвертый уровень 60х60х60х60х8=103680000
...
дальше считать бесмыслено пятый уровень 5.7 гиг :)


 
MBo ©   (2009-05-07 17:10) [59]

В первом посте речь шла о 10 миллионах элементов. это 4 уровня.


 
ford ©   (2009-05-07 17:14) [60]


> Медвежонок Пятачок ©   (07.05.09 17:03) [54]


> Игорь Шевченко ©   (07.05.09 17:05) [55]

ну ребяты, вы даете :)
пару гиг в базу туда сюда, да плевое дело
пару пальцев об-ть
:)
видимо у вас никто не знает о третьей нормальной форме :)
ибо такие объемы да в одну таблицу
.....
а ежели я захочу из такой таблички чегонить Like выбрать ??
и как ?? сразу мыло с веревкой припасти ??
или пистолет зараженный


 
Медвежонок Пятачок ©   (2009-05-07 17:17) [61]

и как именно два гига не дружат с третьей формой?


 
Sha ©   (2009-05-07 17:19) [62]

> ford ©   (07.05.09 17:07) [58]
> дальше считать бесмыслено пятый уровень 5.7 гиг :)

Процессор не обработает такое количество узлов за 1 тик.
Понимаешь о чем я? :)

Сформулируй, наконец, задачу.


 
sniknik ©   (2009-05-07 17:20) [63]

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

> видимо у вас никто не знает о третьей нормальной форме :)
и не надейся... они знают.

> а ежели я захочу из такой таблички чегонить Like выбрать ??
> и как ?? сразу мыло с веревкой припасти ??
> или пистолет зараженный
чтобы выжить надо пользоваться индексными поисками/"выборами".


 
sniknik ©   (2009-05-07 17:22) [64]

> Сформулируй, наконец, задачу.
зачем? станет же совсем не интересно тогда...


 
ford ©   (2009-05-07 17:23) [65]


> MBo ©   (07.05.09 17:10) [59]

я написал для примера 10млн
дети создаются когда в них есть необходимость
ибо я не знаю понадобятся они все или нет
даже, так, я точно знаю что все ветки дерева не понадобятся

на данный момент я немогу точно сказать сколько из них существует
единственно что текущий файл составляет 1,2 гига
при условии что обработанно только 100000 взодящих данных
а их примерно 2,5 млн.
но рост объема файла получается обратно пропорционален объему входных данных, т.е. остановиться рост гдето на 2,5-3 гигах (надеюсь :) )

т.е. подаются на вход данные
по ним происходит построение дерева
если такой путь в дереве есть то все нормально
если такого пути нет то добавляем


 
Sha ©   (2009-05-07 17:26) [66]

Самодельное полнотекстовое индексирование?


 
ford ©   (2009-05-07 17:29) [67]


> sniknik ©   (07.05.09 17:20) [63]

а вот не построит тебе FireBird инекса по VarChar(250)
и будет Like перебор полный делать хоть убейся
:)
можно конечно перейти на ORACLE но это не в моей компетенции


 
sniknik ©   (2009-05-07 17:32) [68]

> а вот не построит тебе FireBird инекса по VarChar(250)
а я этого и не предлагал... "упирать" надо на индексы по числам/ссылкам на текст но не по самому тексту.


 
ford ©   (2009-05-07 17:34) [69]


> Sha ©   (07.05.09 17:26) [66]

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


 
sniknik ©   (2009-05-07 17:34) [70]

[0]
> массива это структура TRec размером 108 байт

откуда строки по 250 символов? или ты для "своего" решения берешь одно а нам "пыжишься" показать другое?

а смысл?


 
ford ©   (2009-05-07 17:41) [71]


> sniknik ©   (07.05.09 17:34) [70]

я написал тебе например, как ответ на твою фразу о использовании индекса
просто FireBird проиндексирует VarChar(50)
а вот больше, непомню щас, какого-то количества он не умеет


 
Sha ©   (2009-05-07 17:42) [72]

ford ©   (07.05.09 17:34) [69]

Тогда для 1 компьютера можно рассмотреть вариант
хеш входных данных + страничный файл


 
Jeer ©   (2009-05-07 17:44) [73]

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


 
ford ©   (2009-05-07 17:46) [74]


> Sha ©   (07.05.09 17:42) [72]

почти так и делается


 
Fast   (2009-05-07 17:57) [75]

>  что быстрее
> > ford ©   (07.05.09 13:29)


"Быстрее" будет не писАть программы с такой логикой.


 
Игорь Шевченко ©   (2009-05-07 18:16) [76]


> видимо у вас никто не знает о третьей нормальной форме :
> )


А что это такое ?


> а ежели я захочу из такой таблички чегонить Like выбрать
> ??


выбирай


 
asails   (2009-05-07 18:52) [77]


> Anatoly Podgoretsky ©   (07.05.09 17:02) [53]
> > asails  (07.05.2009 16:21:42)  [42]
>
> Вот чтобы не сгорел я и не использую Целерон. А Core 2 Quad

И чего? Планки по 2ТБ держит?!! Хочу! А то, мой Quad зазря пылится... :)


> ford ©   (07.05.09 16:45) [46]
>
> > boa_kaa ©   (07.05.09 16:31) [43]
>
> это было сказанно для примера :) что не все можно решать
> при помощи СУБД
> т.е. чтобы отсечь предложения о ХП

А зачем их отсекать. Имхо, в большинстве случаев тащить 2 гига на клиента, там их обсчитывать и результат гнать обратно в БД есть мазохизм.
Может, у тебя случай, конечно, особенный, но тогда уж озвучь, будь другом! Интересно-же...


 
Хитрий Лис   (2009-05-07 20:43) [78]

Автор - будьте так добры :) поделитесь с общественностью.
Какому алгоритму нужно одновременно обрабатывать 10 мильёнов записей ?


 
Anatoly Podgoretsky ©   (2009-05-08 11:08) [79]

> asails  (07.05.2009 18:52:17)  [77]

> И чего? Планки по 2ТБ держит?!! Хочу! А то, мой Quad зазря пылится... :)

Просто не горит.
Quad между прочим тянет до 2^64 байт, плату правда сложно найти, надо серверную искать.


 
Anatoly Podgoretsky ©   (2009-05-08 11:13) [80]

> Anatoly Podgoretsky  (08.05.2009 11:08:19)  [79]

Кстати планок на 2 ТБ нет, это отдельные платы по 2 ТБ



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2009.07.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.64 MB
Время: 0.013 c
15-1242233257
WondeRu at home
2009-05-13 20:47
2009.07.12
url4.ru: мой проект создания коротких ссылок


15-1242300710
Jeer
2009-05-14 15:31
2009.07.12
Помощь


15-1241821510
Johnnnn
2009-05-09 02:25
2009.07.12
Тема по предыдущей теме таскбар в XP


15-1242186290
vajo
2009-05-13 07:44
2009.07.12
Насколько должны быть одинакова CPU на 2хпроц-й М/B


15-1241720760
Cyrax
2009-05-07 22:26
2009.07.12
Соревнования летающих йогов... 1986 год...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский