Логические операции с большими списками в АйСисБейс
Логические операции с большими списками в АйСисБейс
Коллеги, думаю Вам приходилось сталкиваться с этой проблемой – логические операции с большими списками (> сотни тысяч) эта софтина может переваривать неделями даже на 4-ядерном компе с 16Гб памяти
. Изрядно продолбавшись и прокляв все эти MDLы с их долбанными Айсисами, Бейсами, Хостами, а заодно и очкастой публикой, не выговаривающей букву «р» (помошники, туды иху в качель
) нашел тупой, но эффективный способ. Сбрасываете свою DB в локальную DB, содержащую только ID, экспортируете нужные списки тоже только с ID и делаете в List Logic все что Вам нужно – работает со свистом и не выёживается
Результирующие списки, полученные на ID-only DB импортируете в изначальную DB и ву а ля
.
I D E A = A u
Re: Логические операции с большими списками в АйСисБейс
Я делаю так:chemist писал(а):Коллеги, думаю Вам приходилось сталкиваться с этой проблемой – логические операции с большими списками (> сотни тысяч) эта софтина может переваривать неделями даже на 4-ядерном компе с 16Гб памяти. Изрядно продолбавшись и прокляв все эти MDLы с их долбанными Айсисами, Бейсами, Хостами, а заодно и очкастой публикой, не выговаривающей букву «р» (помошники, туды иху в качель
) нашел тупой, но эффективный способ. Сбрасываете свою DB в локальную DB, содержащую только ID, экспортируете нужные списки тоже только с ID и делаете в List Logic все что Вам нужно – работает со свистом и не выёживается
Результирующие списки, полученные на ID-only DB импортируете в изначальную DB и ву а ля
.
из ISIS/Base/Host выгружаю списки ID соединений, далее работаю с ними.
Если их надо объединить - есть команда copy (в cmd)
Если надо вычесть один из другого - написал простенькую прогу (вычитает за неск. секунд (при работе с ~ 100 000 соединений)) [причем скоростьлимитирующий фактор здесь - скорость чтения данных с винта]
далее полученный список импортируется в ISIS
Re: Логические операции с большими списками в АйСисБейс
Тоже решениеMOL2nik писал(а):Я делаю так:
из ISIS/Base/Host выгружаю списки ID соединений, далее работаю с ними.
Если их надо объединить - есть команда copy (в cmd)
Если надо вычесть один из другого - написал простенькую прогу (вычитает за неск. секунд (при работе с ~ 100 000 соединений)) [причем скоростьлимитирующий фактор здесь - скорость чтения данных с винта]
далее полученный список импортируется в ISIS
В cmd.exe м.б. не copy, а append ? Windows/Total Commander это тоже может, причем наглядно. Но при этом одинаковые элементы из исходных списков будут занесены в результирующий список 2 раза, а игнор при импорте в ISISBASE не всегда уместен
ОК, так можно сделать логическое сложение (OR) и логическое вычитание (NOT), а как насчет поиска общих элементов (AND)? Думаю тоже нужна программулина
А что, сам ISIS/HOST операции со списками тоже долго пережевывает или Вы с ним не работаете?
I D E A = A u
Re: Логические операции с большими списками в АйСисБейс
Насчет ISIS/Host я переборщил - там действительно работа со списками довольно быстрая (в отличие от ISIS/Base) (ISIS/Host v3.2 я ставил на SGI IRIX)chemist писал(а): Тоже решение. Но я имел ввиду только средствами ISISBASE, других возможностей (особенно собственноручное написание даже простеньких программ) у химиков нету (ну, тёмныя мы в программировании
).
В cmd.exe м.б. не copy, а append ? Windows/Total Commander это тоже может, причем наглядно. Но при этом одинаковые элементы из исходных списков будут занесены в результирующий список 2 раза, а игнор при импорте в ISISBASE не всегда уместен.
ОК, так можно сделать логическое сложение (OR) и логическое вычитание (NOT), а как насчет поиска общих элементов (AND)? Думаю тоже нужна программулина.
А что, сам ISIS/HOST операции со списками тоже долго пережевывает или Вы с ним не работаете?
- да я тоже химик...chemist писал(а):"у химиков нету (ну, тёмныя мы в программировании)."
по поводу нахождения общих элементов и удаления дубликатов - да, писал дополнительно проги (хотя в инете можно найти проги для удаления дубликатов - их хакеры используют для работы с файлами паролей...)
________________________________________________________
насчет команды 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
Re: Логические операции с большими списками в АйСисБейс
А що такэ SGI IRIX и на що воно хэмегу ?MOL2nik писал(а):Насчет ISIS/Host я переборщил - там действительно работа со списками довольно быстрая (в отличие от ISIS/Base) (ISIS/Host v3.2 я ставил на SGI IRIX)
да я тоже химик...
MOL2nik писал(а):по поводу нахождения общих элементов и удаления дубликатов - да, писал дополнительно проги (хотя в инете можно найти проги для удаления дубликатов - их хакеры используют для работы с файлами паролей...)
Понятно, бум знать и помнитьMOL2nik писал(а):насчет команды copy:
Копирование одного или нескольких файлов в другое место.
Ну, слава Б-гу, до бухгалтерских штучек жизнь хоть в этом деле не довелаMOL2nik писал(а):кстати, для работы со списками можно пользоваться возможностями Exel и Access
А вот как Вы думаете, ограничение в ISISBASE по числу записей (или объему .DB-файла ~110Mb) - это искусственный тормоз от славных MDL и, следовательно, его можно незаметно снять, или das ist fatal?
I D E A = A u
Re: Логические операции с большими списками в АйСисБейс
IRIX - это операционная система компании SGI (к сожалению, устанавливается только на компы с проц. R10000 - R14000 : O2, Octane, Fuel, Origin)chemist писал(а):А що такэ SGI IRIX и на що воно хэмегу ?![]()
да уж, и только химики додумаются кипятить и заваривать чай в лабораторных колбах из термостойкого стекла, писать в лабораторную раковину и т.д...chemist писал(а):Только химик додумается вредные хакерские штучьки испольовать в мирных целях
![]()
![]()
можно в окне cmd набрать help /? и столько полезных команд узнаете...chemist писал(а): Понятно, бум знать и помнить![]()
в некоторых химических вузах Exel преподают студентам как прогу для построения графиков - про Origin они даже не слышали...chemist писал(а):Ну, слава Б-гу, до бухгалтерских штучек жизнь хоть в этом деле не довела.
думаю, это фатально - изначально ISIS/Base задумывалась для работы с небольшим кол-вом соединений (для кого-то 200 - 300 тыс. огромное число - а для кого-то 1/1000 от их базы)chemist писал(а):А вот как Вы думаете, ограничение в ISISBASE по числу записей (или объему .DB-файла ~110Mb) - это искусственный тормоз от славных MDL и, следовательно, его можно незаметно снять, или das ist fatal?
для работы с большими базами они сделали ISIS/Host, причем ISIS/Base служит клиентской частью для ISIS/Host
у баз Microsoft - то же самое - Access (локальная не более 2 Гб) и SQL Server
ChemFinder (из ChemOffice) позволяет хранить большие объемы соединений - но тормозит при многих операциях...
есть еще CheD (Сергей Трепалин ИОХ РАН), по-моему до 10 млн. локально позволяет хранить соединений - есть работа со списками (насчет скорости не помню)
http://software.timtec.net/ched.htm
Re: Логические операции с большими списками в АйСисБейс
Вот это интересная штучька, но переезжать с привычной, уже "народной" ISISBASE на платную CheD с неизвестным результатом как-то не хочется, жаль там у них только демо-, а не триал-версияMOL2nik писал(а):есть еще CheD (Сергей Трепалин ИОХ РАН), по-моему до 10 млн. локально позволяет хранить соединений - есть работа со списками (насчет скорости не помню)
I D E A = A u
Re: Логические операции с большими списками в АйСисБейс
IsisBase тоже платная
Слава Україні!
Героям слава!
Героям слава!
Re: Логические операции с большими списками в АйСисБейс
как справедливо заметил Abwer: "народная" - не значит бесплатная (типа народного автомобиля)chemist писал(а):Вот это интересная штучька, но переезжать с привычной, уже "народной" ISISBASE на платную CheD
Ну, почему с неизвестным?chemist писал(а):с неизвестным результатом как-то не хочется, жаль там у них только демо-, а не триал-версия.
ChemDiv (он же ХимРар, он же Контакт Сервис, он же ИИХР) сидит именно на CheD...
[хорошо получилось - Гоша, он же Гога, он же Жора (м.с.н.в. ©)]
Re: Логические операции с большими списками в АйСисБейс
Ched рвет как тузик грелку любой известный мне софт для работы с базами, и по скорости и по возможностям. Ни разу не пожалел что купил эту программу, хотя уже отдал за нее в районе $1,5Kchemist писал(а):Вот это интересная штучька, но переезжать с привычной, уже "народной" ISISBASE на платную CheD с неизвестным результатом как-то не хочется, жаль там у них только демо-, а не триал-версияMOL2nik писал(а):есть еще CheD (Сергей Трепалин ИОХ РАН), по-моему до 10 млн. локально позволяет хранить соединений - есть работа со списками (насчет скорости не помню).
К компании ACDLabs никакого отношения не имею
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 20 гостей