Логические операции с большими списками в АйСисБейс

как найти книгу или статью? не поделится ли кто-нибудь программой? если у вас такой вопрос - значит, вам сюда!
Ответить
Аватара пользователя
chemist
Сообщения: 10369
Зарегистрирован: Пн июл 26, 2004 2:14 am

Логические операции с большими списками в АйСисБейс

Сообщение chemist » Вт янв 27, 2009 7:39 pm

Коллеги, думаю Вам приходилось сталкиваться с этой проблемой – логические операции с большими списками (> сотни тысяч) эта софтина может переваривать неделями даже на 4-ядерном компе с 16Гб памяти :mrgreen: . Изрядно продолбавшись и прокляв все эти MDLы с их долбанными Айсисами, Бейсами, Хостами, а заодно и очкастой публикой, не выговаривающей букву «р» (помошники, туды иху в качель :evil: ) нашел тупой, но эффективный способ. Сбрасываете свою DB в локальную DB, содержащую только ID, экспортируете нужные списки тоже только с ID и делаете в List Logic все что Вам нужно – работает со свистом и не выёживается :idea: Результирующие списки, полученные на ID-only DB импортируете в изначальную DB и ву а ля :!: .
I D E A = A u

Аватара пользователя
MOL2nik
Сообщения: 15
Зарегистрирован: Пт май 30, 2008 3:54 pm

Re: Логические операции с большими списками в АйСисБейс

Сообщение MOL2nik » Чт мар 05, 2009 12:28 pm

chemist писал(а):Коллеги, думаю Вам приходилось сталкиваться с этой проблемой – логические операции с большими списками (> сотни тысяч) эта софтина может переваривать неделями даже на 4-ядерном компе с 16Гб памяти :mrgreen: . Изрядно продолбавшись и прокляв все эти MDLы с их долбанными Айсисами, Бейсами, Хостами, а заодно и очкастой публикой, не выговаривающей букву «р» (помошники, туды иху в качель :evil: ) нашел тупой, но эффективный способ. Сбрасываете свою DB в локальную DB, содержащую только ID, экспортируете нужные списки тоже только с ID и делаете в List Logic все что Вам нужно – работает со свистом и не выёживается :idea: Результирующие списки, полученные на ID-only DB импортируете в изначальную DB и ву а ля :!: .
Я делаю так:
из ISIS/Base/Host выгружаю списки ID соединений, далее работаю с ними.
Если их надо объединить - есть команда copy (в cmd)
Если надо вычесть один из другого - написал простенькую прогу (вычитает за неск. секунд (при работе с ~ 100 000 соединений)) [причем скоростьлимитирующий фактор здесь - скорость чтения данных с винта]

далее полученный список импортируется в ISIS

Аватара пользователя
chemist
Сообщения: 10369
Зарегистрирован: Пн июл 26, 2004 2:14 am

Re: Логические операции с большими списками в АйСисБейс

Сообщение chemist » Чт мар 05, 2009 1:04 pm

MOL2nik писал(а):Я делаю так:
из ISIS/Base/Host выгружаю списки ID соединений, далее работаю с ними.
Если их надо объединить - есть команда copy (в cmd)
Если надо вычесть один из другого - написал простенькую прогу (вычитает за неск. секунд (при работе с ~ 100 000 соединений)) [причем скоростьлимитирующий фактор здесь - скорость чтения данных с винта]
далее полученный список импортируется в ISIS
Тоже решение :up: . Но я имел ввиду только средствами ISISBASE, других возможностей (особенно собственноручное написание даже простеньких программ) у химиков нету (ну, тёмныя мы в программировании :o ).
В cmd.exe м.б. не copy, а append ? Windows/Total Commander это тоже может, причем наглядно. Но при этом одинаковые элементы из исходных списков будут занесены в результирующий список 2 раза, а игнор при импорте в ISISBASE не всегда уместен :mrgreen: .
ОК, так можно сделать логическое сложение (OR) и логическое вычитание (NOT), а как насчет поиска общих элементов (AND)? Думаю тоже нужна программулина :D .
А что, сам ISIS/HOST операции со списками тоже долго пережевывает или Вы с ним не работаете?
I D E A = A u

Аватара пользователя
MOL2nik
Сообщения: 15
Зарегистрирован: Пт май 30, 2008 3:54 pm

Re: Логические операции с большими списками в АйСисБейс

Сообщение MOL2nik » Чт мар 05, 2009 3:09 pm

chemist писал(а): Тоже решение :up: . Но я имел ввиду только средствами ISISBASE, других возможностей (особенно собственноручное написание даже простеньких программ) у химиков нету (ну, тёмныя мы в программировании :o ).
В cmd.exe м.б. не copy, а append ? Windows/Total Commander это тоже может, причем наглядно. Но при этом одинаковые элементы из исходных списков будут занесены в результирующий список 2 раза, а игнор при импорте в ISISBASE не всегда уместен :mrgreen: .
ОК, так можно сделать логическое сложение (OR) и логическое вычитание (NOT), а как насчет поиска общих элементов (AND)? Думаю тоже нужна программулина :D .
А что, сам ISIS/HOST операции со списками тоже долго пережевывает или Вы с ним не работаете?
Насчет ISIS/Host я переборщил - там действительно работа со списками довольно быстрая (в отличие от ISIS/Base) (ISIS/Host v3.2 я ставил на SGI IRIX)
chemist писал(а):"у химиков нету (ну, тёмныя мы в программировании :o )."
- да я тоже химик...
по поводу нахождения общих элементов и удаления дубликатов - да, писал дополнительно проги (хотя в инете можно найти проги для удаления дубликатов - их хакеры используют для работы с файлами паролей...)
________________________________________________________
насчет команды copy:
Копирование одного или нескольких файлов в другое место.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B]
[+ источник [/A | /B] [+ ...]] [результат [/A | /B]]

источник Имена одного или нескольких копируемых файлов.
/A Файл является текстовым файлом ASCII.
/B Файл является двоичным файлом.
/D Указывает на возможность создания зашифрованного файла
результат Каталог и/или имя для конечных файлов.
/V Проверка правильности копирования файлов.
/N Использование, если возможно, коротких имен при копировании
файлов, чьи имена не удовлетворяют стандарту 8.3.
/Y Подавление запроса подтверждения на перезапись существующего
конечного файла.
/-Y Обязательный запрос подтверждения на перезапись существующего
конечного файла.
/Z Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD.
Ключ /-Y командной строки переопределяет такую установку.
По умолчанию требуется подтверждение, если только команда COPY
не выполняется в пакетном файле.

Чтобы объединить файлы, укажите один конечный и несколько исходных файлов,
используя подстановочные знаки или формат "файл1+файл2+файл3+...".
___________________________________________________________________

кстати, для работы со списками можно пользоваться возможностями Exel и Access

Аватара пользователя
chemist
Сообщения: 10369
Зарегистрирован: Пн июл 26, 2004 2:14 am

Re: Логические операции с большими списками в АйСисБейс

Сообщение chemist » Чт мар 05, 2009 4:22 pm

MOL2nik писал(а):Насчет ISIS/Host я переборщил - там действительно работа со списками довольно быстрая (в отличие от ISIS/Base) (ISIS/Host v3.2 я ставил на SGI IRIX)
да я тоже химик...
А що такэ SGI IRIX и на що воно хэмегу ? :lol:
MOL2nik писал(а):по поводу нахождения общих элементов и удаления дубликатов - да, писал дополнительно проги (хотя в инете можно найти проги для удаления дубликатов - их хакеры используют для работы с файлами паролей...)
:lol: Только химик додумается вредные хакерские штучьки испольовать в мирных целях :up: :lol:
MOL2nik писал(а):насчет команды copy:
Копирование одного или нескольких файлов в другое место.
Понятно, бум знать и помнить :!:
MOL2nik писал(а):кстати, для работы со списками можно пользоваться возможностями Exel и Access
Ну, слава Б-гу, до бухгалтерских штучек жизнь хоть в этом деле не довела :D .

А вот как Вы думаете, ограничение в ISISBASE по числу записей (или объему .DB-файла ~110Mb) - это искусственный тормоз от славных MDL и, следовательно, его можно незаметно снять, или das ist fatal?
I D E A = A u

Аватара пользователя
MOL2nik
Сообщения: 15
Зарегистрирован: Пт май 30, 2008 3:54 pm

Re: Логические операции с большими списками в АйСисБейс

Сообщение MOL2nik » Чт мар 05, 2009 5:10 pm

chemist писал(а):А що такэ SGI IRIX и на що воно хэмегу ? :lol:
IRIX - это операционная система компании SGI (к сожалению, устанавливается только на компы с проц. R10000 - R14000 : O2, Octane, Fuel, Origin)
chemist писал(а): :lol: Только химик додумается вредные хакерские штучьки испольовать в мирных целях :up: :lol:
да уж, и только химики додумаются кипятить и заваривать чай в лабораторных колбах из термостойкого стекла, писать в лабораторную раковину и т.д...
chemist писал(а): Понятно, бум знать и помнить :!:
можно в окне cmd набрать help /? и столько полезных команд узнаете...
chemist писал(а):Ну, слава Б-гу, до бухгалтерских штучек жизнь хоть в этом деле не довела :D .
в некоторых химических вузах Exel преподают студентам как прогу для построения графиков - про Origin они даже не слышали...
chemist писал(а):А вот как Вы думаете, ограничение в ISISBASE по числу записей (или объему .DB-файла ~110Mb) - это искусственный тормоз от славных MDL и, следовательно, его можно незаметно снять, или das ist fatal?
думаю, это фатально - изначально ISIS/Base задумывалась для работы с небольшим кол-вом соединений (для кого-то 200 - 300 тыс. огромное число - а для кого-то 1/1000 от их базы)
для работы с большими базами они сделали ISIS/Host, причем ISIS/Base служит клиентской частью для ISIS/Host
у баз Microsoft - то же самое - Access (локальная не более 2 Гб) и SQL Server
ChemFinder (из ChemOffice) позволяет хранить большие объемы соединений - но тормозит при многих операциях...
есть еще CheD (Сергей Трепалин ИОХ РАН), по-моему до 10 млн. локально позволяет хранить соединений - есть работа со списками (насчет скорости не помню)
http://software.timtec.net/ched.htm

Аватара пользователя
chemist
Сообщения: 10369
Зарегистрирован: Пн июл 26, 2004 2:14 am

Re: Логические операции с большими списками в АйСисБейс

Сообщение chemist » Чт мар 05, 2009 7:15 pm

MOL2nik писал(а):есть еще CheD (Сергей Трепалин ИОХ РАН), по-моему до 10 млн. локально позволяет хранить соединений - есть работа со списками (насчет скорости не помню)
Вот это интересная штучька, но переезжать с привычной, уже "народной" ISISBASE на платную CheD с неизвестным результатом как-то не хочется, жаль там у них только демо-, а не триал-версия :( .
I D E A = A u

Аватара пользователя
Abwer
Сообщения: 6263
Зарегистрирован: Пт июн 01, 2007 1:38 pm

Re: Логические операции с большими списками в АйСисБейс

Сообщение Abwer » Пт мар 06, 2009 12:46 am

IsisBase тоже платная
Слава Україні!
Героям слава!

Аватара пользователя
MOL2nik
Сообщения: 15
Зарегистрирован: Пт май 30, 2008 3:54 pm

Re: Логические операции с большими списками в АйСисБейс

Сообщение MOL2nik » Пт мар 06, 2009 12:30 pm

chemist писал(а):Вот это интересная штучька, но переезжать с привычной, уже "народной" ISISBASE на платную CheD
как справедливо заметил Abwer: "народная" - не значит бесплатная (типа народного автомобиля)
chemist писал(а):с неизвестным результатом как-то не хочется, жаль там у них только демо-, а не триал-версия :( .
Ну, почему с неизвестным?
ChemDiv (он же ХимРар, он же Контакт Сервис, он же ИИХР) сидит именно на CheD...
[хорошо получилось - Гоша, он же Гога, он же Жора (м.с.н.в. ©)]

acdlabs
Сообщения: 89
Зарегистрирован: Пн янв 09, 2006 3:17 pm

Re: Логические операции с большими списками в АйСисБейс

Сообщение acdlabs » Пт мар 13, 2009 11:35 pm

chemist писал(а):
MOL2nik писал(а):есть еще CheD (Сергей Трепалин ИОХ РАН), по-моему до 10 млн. локально позволяет хранить соединений - есть работа со списками (насчет скорости не помню)
Вот это интересная штучька, но переезжать с привычной, уже "народной" ISISBASE на платную CheD с неизвестным результатом как-то не хочется, жаль там у них только демо-, а не триал-версия :( .
Ched рвет как тузик грелку любой известный мне софт для работы с базами, и по скорости и по возможностям. Ни разу не пожалел что купил эту программу, хотя уже отдал за нее в районе $1,5K
К компании ACDLabs никакого отношения не имею

Ответить

Вернуться в «обмен книгами, статьями, программами»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей