|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Я вынес обсуждение в отдельный топик, что-то неудобно стало по нескольким страницам ползать. Итак, остановились на некой "аналитической" статье тов. Кравчука о сравнении Informix ODS 7.31 и Oracle 8.1.7. Сложно сказать, что в ней так сильно могло не понравиться воюющим сторонам, ибо, с одной стороны, статья достаточно поверхностна, с другой - содержит фактические ошибки. Итак, по пунктам: 1. Предисловие -------------- Непонятно проведение аналогий 7.31 -> 9.21 - насколько я могу судить, 9-я версия отличается, в основном, расширенной функциональностью, вроде даже весьма заметно расширенной. Поправьте, если не прав, 9-ку не пользовал. 2. Установка сервера -------------------- Я абсолютно убеждён, что любым делом должен заниматься профессионал, в том чиле и установкой программного продукта. Особенно это касается таких традиционно сложных и тяжёлых приложений, как СУБД. Таким образом, отметаем "В идеале, заказчик, при наличии...". К тому же, я не встречал необходимости настолько часто переустанавливать СУБД, чтобы время инсталляции играло хоть какое-то значение. Если так уж нужно тиражировать (по тем или иным причинам) инсталляции СУБД, в юниксах это легко делается банальным копированием инсталляционной директории, для Oracle - точно, для Informix - не знаю, но на 99,9% уверен, что тоже. В виндах ситуация обратная, опять же, думается для обоих продуктов. В деталях: Oracle ====== "Предлагает стандартные конфигурации баз данных и экземпляра для различных классов приложений (OLTP, DSS, смешанные)" - не имеет значения. Конфигурацию для промышленной инсталляции надо делать руками. Одним словом, опция для ламеров. "Программа установки проводит пользователя по всем необходимым стадиям, от сброса ПО до создания дисковых структур и настройки сетевых служб" - опять же, для "начинающих". Сетевая конфигурация средствами Net8 Configuration Assistant, в частности, выполняется только самая примитивная. Ну и т.д. "Содержит ПО сервера и клиентской части для ОС UNIX в составе одного дистрибутива" - для виндов тоже. Хотя это сложно назвать преимуществом или недостатком, скорее фича :) "Требует использования Java Runtime Environment ... и ... X Window System на сервере. Удаленная установка затруднительна" - если сложно поднять X-сервер, то это уже, простите, клиника. Хотя не спорю, лень. Сложно понять, почему использование JRE - недостаток (или преимущество) - это фича. "На UNIX-платформе в процессе установки требует не менее 128 Мб ОЗУ..." - глюки JRE, наблюдается в некоторых версиях и на некоторых платформах. Не смертельно, в конце концов. "Установка требует значительного времени (от 10 минут до нескольких часов) даже на достаточно мощных серверах" - 10 минут, бесспорно, чудовищное время. несколько часов - это только с созданием новой базы разве что. "Требует согласованного изменения большого количества параметров ядра для успешной установки. Стандартные значения, предлагаемые руководством по установке, не всегда адекватны" - неправда. С дефолтными параметрами работает, хоть и не оптимально и с определёнными ограничениями. Параметров - штук 9-10, это не много. В документации вполне чётко и внятно прописано, что и зачем. Более подробно - man <у кого чего>. Informix ======== "Устанавливается на серверы с минимальной конфигурацией (32 Мб ОЗУ), что существенно для разработчиков и создания резервных серверов" - очень сомнительна жизнеспособность конфигурации боевого сервера, скажем, с 2Гб памяти, и его резерва с 32Мб. "Администратор должен соблюдать определенную последовательность действий при установке" - кошмар, иначе не скажешь Всё-таки мы про администраторов говорим, а не про домохозяек. 3. Установка и настройка клиентской части в MS Windows ------------------------------------------------------ Oracle ====== "Установка требует значительного времени (от 10 минут) даже на достаточно мощных серверах" - ужас, что творится. "Параметры конфигурации подключений хранятся в отдельных файлах, а не в системном реестре, что затрудняет сопровождение" - не считая себя ярым юниксоидом/виндузятником, всё же считаю хранение параметров подключений в текстовом файле более удобной вещью, чем в реестре. Во-вторых, есть такая штука, как Oracle Names Server - по-простому - что-то вроде DNS - по имени дескриптора соединения возвращает все необходимые параметры подключения. Часть комплекта сервера, на клиенте нужен только 1 конфигурационный файл с адресом Names-сервера. очень удобная вещь в большой, "динамично развивающейся" :) сети. Informix ======== "Установка ведется стандартными средствами Microsoft Installer (Client SDK 2.70)" - аналогично JRE - это не достоинство/недостаток, а фича. Уж инсталлер любого рода даже самый тупой сисадмин должен освоить. "Параметры конфигурации подключений хранятся в системном реестре" - опять же, я лично считаю это недостатком. "JDBC-драйверы и SQLJ поставляется в виде отдельного дистрибутива объемом порядка 12 Мб" - ну и что? "В состав клиентского ПО для ОС Windows не входят средства выполнения запросов и создания отчетов" - а вот отсутствие хотя бы isql действительно, неприятная вещь. Из личного опыта - более дебильные программы, чем Informix Connect, встречаются редко. 4. Архитектура и ограничения серверов ------------------------------------- Oracle ====== "Поддержку многопоточной архитектуры необходимо явно задавать при установке или конфигурировать в дальнейшем" - одна строчка в дескрипторе соединения, ужас как сложно. Однако, стоит признать, что многопоточный сервер работает плохо, в некоторых случаях от него приходится отказываться. "Часть административных операций необходимо выполнять через выделенные серверные процессы" - например, останов базы. Опять же, всё та же 1 строчка в дескрипторе соединения. "Не более 32 Кб пользовательских сеансов для экземпляра" - что-то совсем непонятное. Автор количество процессов в килобайтах меряет, что ли. Одним словом, глупость. "Не более 1000 столбцов в таблице" - не встречал таблиц даже с 200 столбцами. Это уж слишком "теоретическое" ограничение. "Выделение экстента требует обращения к словарю данных, а объединение ... экстентов ... только по явному требованию (кроме локально управляемых табличных пространств) - ну так пользуйте LMT, если словарь часто дёргается - работает отлично. "Не выполняется локальная дефрагментация страниц данных" - боюсь, не понял термина "локальная дефрагментация". Informix ======== "Позволяет легко установить до 255 одновременно работающих серверов на одном компьютере" - а зачем? "До 32767 столбцов в таблице" - лучше, чем 1000, но в жизни не нужно. "... и возможность работы с базами данных и таблицами без журнализации транзакций" - в Oracle тоже. "Количество файлов данных – до 2048" - ну и чёрт с ним. В жизни не встречается. 5. Средства разработки ---------------------- Автор всё же рассматривает не средства разработки, которых, кстати, для Oracle сильно больше (опуская наличие isql там и sqlplus сям), а особенности SQL и языков хранимых процедур. Oracle ====== "Освоение всех стандартных средств требует существенного времени и усилий" - что считать "страндартным"? Простейшая функциональность во всех языках реализуется примерно на одном уровне сложности, а сложные вещи всегда требуют большого объёма знаний и времени на изучение и освоение. "Отсутствие стандартных средств трассировки и документирования хранимого кода" - чем автора не устраивают комментарии в теле, например, процедуры? Куда уж "стандартнее"? "Нетрадиционная поддержка временных таблиц" - использование временных таблиц практически никогда не требуется. Подобного рода вопросы разрешаются за счёт более функционального SQL. "Нетрадиционное понятие базы данных осложняет создание нескольких прикладных баз данных на одном сервере и управление доступом к ним" - никак не влияет. Необходимость создания нескольких "прикладных баз данных" нужна весьма редко (например, база для разработчиков на том же сервере, где установлена standby-база). Последние 2 пункта обвинения характеризуют специфичность Oracle, а не недостатки, тем более что, положа руку на сердце, с такой концепцией работать удобнее, чем с "традиционными" несколькими базами данных и временными таблицами в других СУБД (Informix, MS SQL Server и т.д.). Просто надо понять и принять. Informix ======== "SPL – простой, стабильный и достаточно удобный и полнофункциональный язык для создания хранимых процедур и триггеров" - то же самое можно сказать и пр PL/SQL, и про T-SQL, и т.д. Функциональности в PL/SQL побольше будет. "Возможность возврата результирующего множества из хранимого кода – курсорные процедуры" - в Oracle это также реализуемо, хотя и несколько другими (более неудобными) методами. "Стандартные средства документирования и трассировки в SPL" - уже писал выше, что неясно, что понимать под "стандартным средством документирования". Комментарии? Они везде есть. И что понимается под "стандартным средством трассировки"? Какая-то пока глупость... "Простые и естественные средства работы с временными таблицами" - проще и естественнее сделать select from (select from (select from ...) q1 ...) q2 ..., чем заморачиваться с 2 временными таблицами. "Максимально близкая к стандарту реализация SQL" - и, как вывод, слабые функциональные возможности. "Каждый пользователь может создавать множество баз данных для отдельных прикладных задач и администрировать их" - вопрос понимания идеологии разных продуктов, а не использования. 6. Администрирование -------------------- Oracle ====== "Автоматическое определение ряда оптимальных параметров конфигурации при установке" - совершенно не ясно, что автор имеет в виду. "Кластеры как средство эффективного хранения связанных таблиц" - я бы поспорил насчёт эффективности. Кластеры хороши для хранения сложных, редко изменяющихся справочников из-за проблем с производительностью операций вставки/обновления/удаления в кластерах. "Относительная сложность конфигурирования (более 180 параметров конфигурации)" - больше возможностей настройки. Это, господа, преимущество, и важное. "Отсутствие простых, стандартных терминальных средств (удаленного) администрирования" - враньё. ВСЕ задачи администрирования Oracle решаются стандартным и весьма удобным и функциональным средством командной строки sqlplus. Графические средства администрирования всего лишь транслируют движения мышью в SQL-код. Кстати, isql и рядом не стоял по удобству и возможностям. "Контроль сервера только с помощью SQL через многочисленные (более 120) представления динамической производительности. Требует знания SQL и подготовки" - автор, очевидно, хочет, чтобы каждая домохозяйка могла быть DBA? К тому же, стандартные (входящие в комплект поставки) графические средства администрирования позволяют контролировать почти всё то же, что и доступно через системные вьюхи. "Необходимость отдельного администрирования пользователей базы" - не понял, что имеется в виду. Или автор предлагает средствами операционной системы давать гранты на select из таблиц? "Сложная система привилегий и ролей" - ничего сложного. Привилегии (системные и объектные) можно назначить пользователю непосредственно или роли. Роль можно назначить пользователю. Пользователь может переключаться между ролями "на лету", если у него их несколько. Плюс возможность пользователя, которому дана привилегия, дать её другому пользователю (grant ... on ... to ... with grant option) и каскадная отмена. Наворочено, но просто в работе и удобно. "Команды фрагментации громоздки и не всегда функциональны (нет фрагментации по совокупности условий)" - вообще не понял, что автор имел в виду. Informix ======== "Возможность контроля сервера с помощью SQL-запросов (SMI)" - плохо документированная, к сожалению. "Наличие простого средства администрирования баз данных (DB-Access) на базе меню" - хахаха. Графические/псевдографические средства сравнивайте с Oracle Enterprise Manager, ладно? :) А в ком. строке можно сделать всё, и dbaccess - отнюдь не самое удобное средство для этого... "Поддержка традиционного понятия базы данных" - ну и что? Это фича, а не достоинство. "Адекватная система защиты на базе привилегий и ролей" - адекватная чему? В Oracle возможностей больше. "Использование аутентификации пользователей операционной системой снимает задачу ее отдельного администрирования" - и добавляет гимора. "Простая и эффективная система фрагментации таблиц и индексов" - не понял. "Простой механизм уведомления об основных событиях и проблемах сервера" - лог? В Oracle тоже есть, разумеется. 7. Загрузка и выгрузка данных ----------------------------- Oracle ====== "Возможность загрузки данных из файлов различных текстовых форматов, в том числе, высокоэффективной параллельной загрузки (SQL*Loader)" - я бы ещё добавил очень эффективный режим прямой загрузки (direct load). "Необходимость многократной или поэтапной загрузки (imp) на уровне схем (баз данных)" - отнюдь не всегда, зависит от большого количества факторов. Informix ======== "Ограничения на размер экспортируемых объектов (dbexport – 2 Гб)" - кстати, это обойти можно? 8. Резервное копирование и восстановление ----------------------------------------- Oracle ====== "Обеспечивает многократное резервирование системных файлов" - не системных (таких нет), а управляющих. "Обеспечивает резервное копирование и восстановление на уровне табличных пространств (т.е. вплоть до фрагментов таблиц), при условии резервного копирования журналов, и экземпляра в целом" - таблица находится всегда в одном табличном пространстве, так что ошибочно заявление про "фрагменты таблиц". К тому же, экземпляр - это набор процессов и структур памяти, поэтому получение их резервной копии - задача, мягко говоря, нетривиальная и совершенно не нужная. "Сложность организации оперативного резервного копирования (при работающих пользователях)" - ничего сложного. Файлы данных по очереди переводятся в специальный backup-режим (1 команда), копируются на уровне ОС, возвращаются обратно. Набор восстановления - вот такие копии файлов + набор архивных журналов с момента начала копирования + копия контрольного файла. Справедливости ради следует сказать, что "горячее" резервное копирование несколько замедляет работу (несильно). "Сложность организации параллельного резервного копирования и восстановления" - ничего сложного. Informix ======== "Предлагает простое средство командной строки для управления резервным копированием и восстановлением" - в Oracle есть что-то подобное - rman, но им никто почти не пользуется. Гораздо проще копировать файлы средствами ОС. 9. Обучение администраторов и разработчиков ------------------------------------------- Oracle ====== "Авторизованный учебный центр – единственный..." - не единственный (в Москве, во всяком случае). 10. Доступность дополнительных источников информации ---------------------------------------------------- Oracle ====== "Выходящая на русском языке переводная литература – в основном, низкого качества (к переводу не привлекаются специалисты) и по устаревшим версиям" - да, иногда приходится в уме переводить с русского на английский, чтобы понять, что имел в виду автор. Насчёт старых версий - по 8i литературы достаточно, а разница между 8 и 8i не настолько велика, чтобы книги по 8 не подходили для работы. "Значительный объем информации затрудняет изучение начинающим администраторам и разработчикам" - что же поделаешь, зато много возможностей и документация более чем подробна. Informix ======== "Активная дискуссионная группа ukr.comp.dbms.informix позволяет оперативно обсудить проблемы с другими разработчиками и администраторами" - чуть ли не единственная русскоязычная... 11. Резюме ---------- Галимая статья с фактическими ошибками. Автор, если выполнял заказ на сравнительное исследование, поверхностно подошёл к выполнению своей работы, не разобравшись толком ни в одном, ни в другом продукте. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 10:29 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Я что-то не совсем понял - это статья тов. Кравчука приведена целиком или это только выдержки с комментариями?... Если второе - то можно ссылку(-ки) на оригинал, источник там или еще что-нибудь?... Интересно почитать... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 14:07 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
В конце вот этого треда ссылка:\r /topic/21034 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 14:13 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Я не являюсь крупным специалистом по Oracle, кроме того не располагаю достаточным временем для дискуссии с человеком, говорящем на "галимом" языке и разбирающемся толком в обоих продуктах. Поэтому отвечу на единственный заданный по сути вопрос, имеющий к теме конференции. "Ограничения на размер экспортируемых объектов (dbexport – 2 Гб)" обойти можно, если выполнять dbexport на ленту. Однако для больших объемов данных, значительно правильнее использовать High Performance Loader, который намного производительнее, чем dbexport, но требует настройки (что в принципе возможно автоматизировать). Ну и на закуску, фраза которая меня просто поразила: "Гораздо проще копировать файлы средствами ОС. " Ув. Scott Tiger, Вы хоть поняли что вы предлагаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 20:07 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Прекрасно понял. В Oracle резервное копирование суть копирование некоего набора файлов. Если это "холодное" копирование, т.е., при остановленном экземпляре, чего там мудрить - cp <откуда> <куда>. Если это "горячее" копирование, это перевод каждого файла (на самом деле, не только файла, экземпляр в несколько ином режиме работает) в backup-режим, копирование его средствами ОС на ленту/диск/DVD, возврат обратно. А rman (Recovery Manager) изолирует от этого уровня плюс поддерживает каталог восстановления плюс много ещё чего (например, управление из хранимых процедур, возможность работы как в ком. строке, так и в графическом интерфейсе), т.е. задумка по идее хорошая..., но получился он сложным и неудобным, "не ко двору", и используется очень редко. В основном резервное копирование реализуется несколькими shell-скриптами с вызовами sqlplus (для получения списка файлов и проч.). Всего добра - на пару сотен строк :) А Вы что имеете в виду? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 22:10 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
В статье именно об этом и говорилось, то что в Informix-e достигается уже много лет простым как угол дома ontape-ом, в Oracle достигается через <censored>. При этом полноценный "горячий бекап" появился в Oracle сравнительно недавно. Предлагать "копировать файлы средствами ОС", как надежную альтернативу, это, извините меня, детский лепет на лужайке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2003, 22:58 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Полноценный горячий бэкап появился в Oracle настолько давно, что уже никто не помнит когда. Не спорю о простоте ontape, но не вижу, чем cp сложнее, вроде даже проще :) Надёжность - абсолютная. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2003, 09:38 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
а) cp (dd) сложнее, чем ontape. Ибо требует изменения скрипта, при добавлении новых файлов (устройств), либо выполнение анализа вывода "onstat -d" (или его аналога в Oracle). б) Разницу между "холодным" и "горячим" Вы знаете, но зачем она нужна судя по-всему не представляете, либо так "доверяете" Oracl-овским средствам "горячего" архивирования, что предпочитаете ежедневно подымать-укладывать сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2003, 12:33 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
1. Конечно, обычно как раз и делается селект имён файлов, которые потом бэкапятся. 2. Логика простейшая - если есть возможность сделать холодный бэкап, лучше сделать холодный, если нет - ну и шут с ним. Технология горячего бэкапа достаточно хорошо отстроена, неприятности навроде падения базы в процессе горячего бэкапа вполне несложно обходимы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2003, 18:08 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
1. Как и следовало ожидать по 1-му вопросу возражений не последовало :-). Таким образом, старый больной ontape, а ему этом году исполняется 10 лет (если не считать его предка tbtape), проще в использовании, чем любой из самых современных продуктов Oracle, включая самописные скрипты. Informix проще в администрировании, а также менее прожорлив в ресурсах, по сравнению с Oracle, именно к этому заключению можно было бы прийти, читая обсуждаемую статью. 2. На счет "лучше сделать холодный", Ваш скрипт имеет задатки Нострадамуса? Он знает, что нужнее компании, в конкретный момент? Я даже не говорю о системах 7x24, но за мой надцателетний стаж работы DBA в разных компаниях, с разными СУБД, пользователи, которым "вынь да полож" доступность данных в 2 часа ночи, неизменно находились. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2003, 19:18 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Уважаемый, не нервничайте, все там будем... 1. Вы меня доведёте до того, что я напишу некий скрипт, обзову его ontape, и буду им бэкапить оракла Поймите, наконец, техническое решение задачи резервного копирования - это единовременная работа (пока не изменятся условия, что встречается нечасто), притом чуть ли не самая простая. Я не говорю сейчас про выбор стратегии резервного копирования. Говорить о том, что продукт А проще в администрировании, чем продукт Б на основании того, что у продукт А есть скрипт резервного копирования, а для продукта Б его надо писать или доставать из загашника - это, извините, непрофессионально. Из ресурсов в статье рассматривается только оперативная память. Ну и что? Большая часть потребляемой средней Oracle-инсталляции памяти - buffer cache, используется (по-простому) для хранения в оперативной памяти копий блоков данных. Чем больше, тем, обычно, лучше, хотя вот видел объём этой структуры и в 3-5 Мб (база для игр админов :) ). Ну и что? Давайте трезво смотреть на жизнь, и на моей, и, думаю, на Вашей зарплате 32-64-128 мегабайт оперативки заметны будут мало - это копейки. Сравните, например, со стоимостью лицензии. И давайте без лишних эмоций. 2. Не имеет. Что нужно компании, обычно решает DBA (я или кто-либо ещё) после консультации с потенциальными потребителями информации. 24*7 - вуаля, было когда-то такое. Только горячие бэкапы (ежесуточные) + standby. Пережили отказ 2 жёстких дисков (1 раза - на боевом сервере, 1 раз - на стендбае), ничего не потеряли. Аптайм по полгода. Не так много, но для недорогого интеловского железа, я считаю, вполне нормально. Сейчас у меня "тихий час" с 7 до 8:30 утра, за полтора часа всё можно сделать (объёмы небольшие). Что касается надёжности и удобства горячих бэкапов - для восстановления с горячего бэкапа требуется больше времени, несколько больше работы руками. Горячий бэкап может быть "битым", неконсистентным, если, например, при его проведении база аварийно остановилась (а бэкап продолжился) или были иные сбои в работе СУБД. Это встречается относительно редко. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2003, 21:45 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Уважаемый, Scott. Мой никнейм не с проста имеет латышские корни, так что нервничаю я редко, а уж в Интернете, уж просто не припомню такого случая. Как Вы сами изволили заметить, говорим мы об "недорогом интеловском железе", которое в силу 32-разрядности своей архитектуры имеет весьма серьезные ограничения по памяти. По этому там, где Informix-у все еще хватает Intel, системы на Oracle вынужденны переходить на RISC (слоты памяти тоже кстати не резиновые). Так что про несущественность требований по памяти, давайте не будем. Дался Вам этот скрипт, пример с бекапированием был приведен, как образчик администрирования, который равно понятен любому администратору базы данных в независимости от его любимой СУБД, другие темы значительно более религиозны и доказать простоту-сложность в них, значительно труднее. Например, фраза "база аварийно остановилась (а [ГОРЯЧИЙ?] бэкап продолжился)" для informix-оида звучит несколько анекдотично. Мне достаточно того, что Вы согласились с тезисом о простоте Informix-а в этом вопросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2003, 11:57 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Давайте не будем национализм разводить :) А то ведь наши споры можно свести к вечной борьбе хохлов и москалей (чур не обижаться). Мне просто почудился оттенок нервозности в Вашем ликовании по поводу простоты ontape относительно оффтопика. Ну да ладно, проехали. По поводу потребления памяти и ограничениях x86 - в принципе, согласен. Что касается бэкапа - это вопрос качества инструментальных средств (ontape, скрипты, ещё что-либо). Очевидно, что горячий бэкап будет неконсистентым, если он начался на работающей базе, которая в процессе бэкапа упала и поднялась и продолжила обслуживание клиентов, а бэкап продолжался и продолжался, игногрируя ошибки. Средство резервного копирования должно отлавливать подобные ситуации. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2003, 14:55 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Смысл СУБД как раз в том, чтобы забыть про файлы. К тому же работа с файлами ОС вообще подозрительна, а что если вырубтся питание например, а синка еще не было? В этом случае структура файла может быть нарушена. А отсутствие скроллируемого курсора например мне очень сильно мешает портировать одну свою софтину на Оракл. Ну и черезжопность курсоной процедуры в меньшей степени. О ресурсах. Кроме порога ОЗУ в 4 гига легко достигаемого Ораклом, необходимо отметить, что имеет место не только вынужденный переход на другую платформу, но и вынужденное использование большего количества машин. 1 Например любимая фича тайгера - наличие многих БД на одной машине. Представьте что вы купили нечто на оракле и довольны, но вам надо купить еще нечто (на оракле естественно) и вы кроме этого нечто на всякий случай покупаете еще и сервак. 2 Пример. У меня на INFORMIX работает небольшая по западным меркам контора где то 200 юзверей 20гиг данных, все работает на одной машине и клиентские приложения через терминалы и сервер БД. Аналогичное решение от ФОРС - три машины минимум, один из которых сервер БД плюс определенный ур-нь клиента. Аналогичное другое решение два сервера и очень толстые клиенты (у Форса тоже не самые тонкие кстати). У меня же требования к клиенту минимальные. Итого с учетом филиалов чисто по железу экономия немалая. Кстати воевать по моему здесь никто не собирается. В любом случае надо трезво подходить к выбору платформы. И факторы связанные с наличием специалистов тоже важны, но пройти обучение на INFORMIX в Москве так же не составляет проблемы. Да и нормальных спецов по Ораклу кстати гораздо меньше чем людей об этом заявляющих, убеждался неоднократно что на поверку парень имеет крайне слабое представление о серваке и рисует мышой проги на билдере ;-) (к Тайгеру по видимому не относится). ПС Правда (шепотом) у меня очень большие сомнения в крутости дибиту ... ;-) но сравнительного материала 0 ... кто их видел эти мэйнфреймы ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 12:42 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Сори не сдержался :-) ... Вот что удалось прочесть на Оракловом форуме по поводу миграции ... как говорится ноу комментс... Господа! Приглашаем Вас принять участие в бесплатном Web-семинаре, посвященному миграции на Oracle 9i. Тема семинара: "Снижение рисков и сокращение простоев при миграции на Oracle 9.2 и Real Application Cluster". Поскольку компания Oracle в конце 2003 прекращает поддержку продуктов Oracle 8i, перед многими организациям стоит задача миграции БД на новую версию. Традиционно, решение этой задачи сопряжено с остановкой промышленной БД, что негативно отражается на деятельности организациии. К тому же, эта процедура связана с серьезными рисками потери данных. Семинар расчитан на администраторов БД, администраторов приложений, IT менеджеров/управляющих, CIO, CTO и независимых консультантов по Oracle. Семинар будет проводиться на английском языке, 11 февраля 2003 г. в 20:00 по московскому времени. в общем кого интересует данный аспект, стучите за более подробной инфой ..) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 14:42 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
А я вот давеча с 32 битного на 64битный INFORMIX переползал ;-) и вообще за 4 наверное миграции (еще с 5го) никаких траблов ! (тьфу тьфу тьфу, туктуктук) Мое ИМХО: Оракл обычное содержимое в яркой красивой упаковке. Как кто то здесь справедливо заметил, что Оракл среди СУБД как Виндоуз среди ОС. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 14:54 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Забыть про файлы не получится ни на какой СУБД, когда идёт процесс резервного копирования. Разве что инструмент РК может скрывать это от пользователя, не более того. Проблема с выключением питания понятна, но это уже уровень ОС, опять же. На крайняк, пользуйте raw, это, помимо всего прочего, даст некий прирост производительности (по моим данным, не такой уж и большой, хотя всё зависит от задачи). Наличие нескольких БД - отнюдь не моя любимая фича, это, в нечастых случаях, производственная необходимость (например - поднять отдельный экземпляр девелоперам на стендбай-машине, т.к. денег на новую машину только для девелоперов нет). Бывают и другие варианты. Но никто же не мешает использовать в рамках единственной БД 2, 10, 100 и более каких-то софтин. Если ресурсов хватает, совершенно не нужно покупать ещё сервер БД. Что касается "Форса" и его софта - я совершенно не в курсе, что это за софт и как он написан, и почему ему нужно 3 сервера, только 1 из которых БД. Нормальное решение, на мой взгляд - 4 железки - 1 БД, 1 стендбай, 1 аппсервер, 1 резерв аппсервера. Если нервы крепкие, и допустим простой в сутки-двое, можно двумя машинами обойтись (БД + аппсервер), без резервирования на случай выхода из строя железа. Если у Вас двузвенка, то, кроме моих искренних соболезнований, можно предложить вариант 2 или 1 сервера, т.е., со стендбаем или без. Клиента можно писать и тонкого, и толстого, СУБД к этому отношения не имеет ровным счётом никакого. По поводу обучения и пр. - совершенно очевидно, что ни за месяц, ни за год невозожно вырастить специалиста, пригодного для автономной эксплуатации промышленных систем, где и как его ни учи. Тут нужен опыт хотя бы пару-тройку лет. Я с Вами согласен, из, условно, 100 вакансий только в 2-3 требуется действительно серьёзный специалист, равно как из 100 резюме только 5-6 - резюме действительно хороших специалистов, и это касается не только обсуждаемой сладкой парочки. Но и вакансий и резюме специалистов по Informix гораздо меньше, чем оракловых или MS-SQL-ных, и найти среди мусора что-то стоящее не в пример сложнее. Относительно PS - вчера как раз беседовал с другом отца - тот большой специалист по мэйнфреймам (~30 лет работы) и, отчасти, по DB2, на них работающей. Сейчас переучивается на ораклоида, хотя и работал с Oracle несколько лет, но это было достаточно давно, во времена 6-й версии. Так вот, когда зашёл разговор о DB2, и я ему раскрыл страшную тайну о том что DB2 есть на PC и, более того, под винды, в ответ услышал что-то вроде "а нахрена этот урод там нужен"... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 14:57 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
По поводу миграции - ну что же поделаешь, продукт Oracle развивается быстрее, чем Informix, может быть, даже слишком быстро. Конечно, Oracle Corp. - козлы, что прекращают поддержку 8i. Хотя я бы сильно поспорил насчёт риска потери данных, а вот логика, конечно, может и порушиться. Что касается Вашего ИМХО, на то оно и ИМХО :) Моё ИМХО - Вы сильно не правы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 15:07 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
1 Не понял что есть двузвенка 2 У меня централизованная система, а соболезнования оставтье себе ;-). В моей системе клиент требует 0 администрирования. 3 Машины считал без учета резерва, но тем на менее мои 2 против ваших 4. Не забывайте про клиентов тоже. Думаю, что с Ораклом Вы без винды на клиенте не обойдетесь, а писать терминальное приложение с развитым интерфейсом пользователя скажем на C для Оракла гораздо сложнее нежели под INFORMIX. 4 Если надо чтото сбацать на билдере под Винду - Оракл вне конкуренции однозначно. Вот биллинговые системы за бугром почемуто практически все это INFORMIX или DB2. Да и например такое название Паспортная служба США о чем то говорит? или медиа хранилище CNN (где можно запросить поиск похожего голоса или фото) , или система хранения дактилоскопической информации UK ? Это и есть нетиповые проекты, а Оракл файнэншнл это есть типовой проект и именно ему обязан распространением Оракл сервер. А что скажете товарищ, по поводу scroll cursor? В остальном по моему дискуссию пора сворачивать - все стороны свой выбор сделали. ПС насчет дибиту - кто бы сомневался ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 15:42 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
1. Двузвенка - без аппликейшн сервера, логика или в клиенте, или в базе, или понемногу там и там. Кошмар, одним словом. 2. Клиенты разные бывают. 3. Ну никто же не запрещает писать двузвенники, не рекомендуют - это да, но если у Вас куплено такое приложение, или Вы не слушаете советов - будет у Вас 2 машины со стендбаем или 1 без него. От СУБД это не зависит никаким образом. Что касается клиентов в двузвенке - если клиент соединяется с СУБД OCI-драйвером, действительно, нужна инсталляция клиентского ораклового софта. Существует для болшого количества разных платформ, как интеловских, так и других (RS/6000, UltraSPARC, ещё какие-то есть, не помню точно). С другой стороны, можно воспользоваться тонкими драйверами, например, JDBC Thin, в которых не требуется никакого клиента, только jar с драйвером. Минус есть - как правило, реализации тонких драйверов дают меньше возможностей в настройке (ну там балансировка нагрузки, failover и пр.). Администрирование в обоих случаях, как правило, сводится только к установке, единственное, что приходит в голову из того, что может измениться - параметры подключения - можно менять централизованно через Oracle Names. Если же писать терминальное приложение - какая, в сущности, разница. Это и XT, наверное, пойдёт под такие задачи. На С не пишу и не писал, сейчас только Java и учу Prolog, так что, боюсь, не могу ничего сказать про относительную сложность C-приложений для Oracle и Informix. На Java - примерно одинаково, хотя я серьёзных приложений для Informix не писал, только простые демки для собственной услады 4. С билдером никогда не работал, даже не видел В основном, на скорую руку виндовых клиентов для Oracle пишут на Delphi, но это, опять же, не ко мне. Там как-то тоже можно без ораклового клиента обойтись, кстати, встречал такие программы. И что вы привязались к оракловым аппликейшнам? В этой стране такими вещами пользуется 4-5 человек, наверное, что не совсем сравнимо с количеством оракловых инсталляций, продуктов и специалистов. Сила Oracle - как раз в СУБД, остальное - наносное... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2003, 12:35 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Я - автор этой самой "галимой" "аналитической" статьи, которая так разочаровала Scott Tiger-а. Я собираюсь поспорить со второй частью данной им оценки: "Сложно сказать, что в ней так сильно могло не понравиться воюющим сторонам, ибо, с одной стороны, статья достаточно поверхностна, с другой - содержит фактические ошибки." А именно, про наличие фактических ошибок. Про поверхностность или тенденциозность спорить не буду - это первоначально вообще были тезисы одного весьма давнего (конец 2001 года) доклада, с вполне определенной и обоснованной, по опыту компании ProFIX, позицией. Тезисы, которые можно развивать и обосновывать, при необходимости. "Итак, по пунктам:" "1. Предисловие -------------- Непонятно проведение аналогий 7.31 -> 9.21 - насколько я могу судить, 9-я версия отличается, в основном, расширенной функциональностью, вроде даже весьма заметно расширенной. Поправьте, если не прав, 9-ку не пользовал." 9-ку большинство использует как 7-ку с меньшим количеством ошибок. Не так уж много "бизнес-приложений" (о которых и шла речь в статье), скажем, банковских систем, использует технологию DataBlade, хранимые процедуры на Java и объектно-реляционные расширения. Используют 9-ку как обычный реляционный сервер, на который многие перейти были просто вынуждены, например, при смене версии базовой ОС или из-за наличия серьезных ошибок (например, 7.31UC6 для Solaris 8 x86 не позволяет взаимодействовать с удаленными базами данных на той же Solaris 8 и, как следствие, выполнять репликацию, - вот вам и причина перехода на 9.21 на этой платформе). Аналогия вполне обоснована и реальна. "2. Установка сервера -------------------- Я абсолютно убеждён, что любым делом должен заниматься профессионал, в том числе и установкой программного продукта. Особенно это касается таких традиционно сложных и тяжёлых приложений, как СУБД. Таким образом, отметаем "В идеале, заказчик, при наличии...". К тому же, я не встречал необходимости настолько часто переустанавливать СУБД, чтобы время инсталляции играло хоть какое-то значение. Если так уж нужно тиражировать (по тем или иным причинам) инсталляции СУБД, в юниксах это легко делается банальным копированием инсталляционной директории, для Oracle - точно, для Informix - не знаю, но на 99,9% уверен, что тоже. В виндах ситуация обратная, опять же, думается для обоих продуктов." Да, но "профессиональный установщик программных продуктов" - это уж слишком. Профессионал должен написать один раз сценарий установки или инструкцию по установке. А сидеть и тыкать мышкой в кнопки на экране профессионал не должен - я в этом абсолютно убежден. Компания ПроФИКС занимается технической поддержкой многих десятков клиентов в банковской сфере. Не в каждом Крыжополе есть профессионал, способный самостоятельно решить любые проблемы с установкой или резервным копированием. И не всегда можно и финансово оправдано командировать профессионала или обучать клиента. Поэтому чем проще эти процедуры для СУБД - тем проще сопровождать свои программные продукты на этой СУБД. Добиться такой простой и автоматизированной установки можно и в Oracle (если знать, как работает Universal Installer и как ему подложить соответствующие файлы), но в Informix - это намного проще, и работать будет быстрее. Это утверждение и доказывается данным разделом статьи. Оно абсолютно соответствует моему опыту - я ставил Oracle многие десятки раз, версии от 7.0.16 до 9.0.1, на разных платформах. Я ставил десятки раз и Informix, от 7.13 до 9.30, правда, только на Intel-архитектурах. Так вот, процедура установки Informix всегда была и остается проще, она легче поддается автоматизации, и требует намного меньше ресурсов. Точка. "Конфигурацию для промышленной инсталляции надо делать руками... Сетевая конфигурация средствами Net8 Configuration Assistant, в частности, выполняется только самая примитивная. Ну и т.д." Согласен. Ну и зачем тогда такой GUI-шный инсталлятор и средства конфигурирования у Oracle? Жрущие столько ресурсов? "...если сложно поднять X-сервер, то это уже, простите, клиника. Хотя не спорю, лень. Сложно понять, почему использование JRE - недостаток (или преимущество) - это фича. " Берем хорошую, современную серверную материнскую плату на 845 чипсете от Intel, хорошую ОС Solaris 8 x86, и поднимаем X-сервер на встроенной графике в VGA-режиме. Другой эту плату не поддерживает. Очень удобно в нем с OUI работать... Или нам рядышком Linux|Xfree86 ставить? Я - поставлю, а администратор в Крыжополе (райцентр в Винницкой области) как будет работать? Использование JRE в процессе установки - "фича", усложняющая сам процесс установки. Хотя и позволившая Oracle больше не заниматься созданием новых инсталляторов для разных платформ. "На UNIX-платформе в процессе установки требует не менее 128 Мб ОЗУ..." - глюки JRE, наблюдается в некоторых версиях и на некоторых платформах. Не смертельно, в конце концов." Требование 128 Мбайт ОЗУ - не глюк JRE. Это так Oracle инсталлятор написал. Жрущий ресурсы и требующий конкретной версии JRE. Ставили когда-нибудь Oracle 8.1.7 на Linux, уровня Red Hat 7.2? Популярное сочетание. Надо загрузить отдельный, специальный JRE, для него - специальную версию glibc, еще одну фигню, прописать кучу всего ручками... (А перед этим найти в сети, как все это делать). И это чтобы инсталлятор запустить... Очень удобно. "... - 10 минут, бесспорно, чудовищное время. несколько часов - это только с созданием новой базы разве что." Так понятно, что базу надо создавать под свои требования, скриптом, не стандартную же использовать в производственной среде-то... Правда, если компонент Jserver не ставить и Java-код не компилировать - тогда да, быстрее будет. "Требует согласованного изменения большого количества параметров ядра для успешной установки. Стандартные значения, предлагаемые руководством по установке, не всегда адекватны" - неправда." Иногда - правда (хотя, если внимательно читать документацию, действительно, всегда все запускается). Пример - Oracle 8.1.7 на Solaris 8 SPARC. Берем стандартную установку PROCESSES и стандартные значения параметров IPC (не рассчитанные по указанной формуле, а приведенные как достаточные по умолчанию). Получаем проблему нехватки семафоров и не запускающийся сервер. Берем Informix, читаем значения параметров в Release Notes, ставим - и все работает, со стандартным файлом ONCONFIG. В моей практике - всегда все работало. И параметров ядра надо менять меньше. В Oracle 8.1.6 для UnixWare 7.1.1, помнится, десятка два необходимых параметров были в документации перечислены... "...Всё-таки мы про администраторов говорим, а не про домохозяек." Ну, и зачем администраторам инсталлятор OUI? "Однако, стоит признать, что многопоточный сервер работает плохо, в некоторых случаях от > него приходится отказываться." Потому что за уши притянут. Если в Informix и есть что-то хорошее, так это прозрачная и масштабируемая многопоточная архитектура сервера. "Не более 32 Кб пользовательских сеансов для экземпляра" - что-то совсем непонятное. Автор количество процессов в килобайтах меряет, что ли. Одним словом, глупость" Признаю. Лень было написать 32767. Первая фактическая ошибка. Но проблема остается - больше одновременных сеансов сервер не поддерживает в принципе. Отсюда и тяга Oracle к серверам приложений... "Не выполняется локальная дефрагментация страниц данных" - боюсь, не понял термина "локальная дефрагментация". Речь идет о перестановке строк в пределах страницы (блока) так, чтобы все свободное место было представлено одним куском. "... и возможность работы с базами данных и таблицами без журнализации транзакций" - в Oracle тоже." Я не говорю, что работа без журнализации - это хорошо. Но, позвольте спросить - и как это сделать в Oracle, чтобы операторы INSERT, UPDATE и DELETE не генерировали REDO- и UNDO-информацию? Подобное утверждение - это уже ваша ошибка. "Количество файлов данных - до 2048" - ну и чёрт с ним. В жизни не встречается." Автоматически ограничивает размер базы - 2048 * 2 Гбайта. Oracle потенциально поддерживает базы данных намного большего размера. Хотя да - для нас это не существенно. "Отсутствие стандартных средств трассировки и документирования хранимого кода" - чем автора не устраивают комментарии в теле, например, процедуры? Куда уж "стандартнее"? Речь идет об операторе TRACE в SPL, позволяющем направлять отладочную печать в файл, и конструкции DOCUMENT там же (CREATE PROCEDURE). В этой конструкции можно задать описание процедуры, которое легко и эффективно выбирается затем из таблицы системного каталога sysprocbody. Не надо строки с комментариями искать в тексте процедуры. Вот в чем идея. "Нетрадиционная поддержка временных таблиц" - использование временных таблиц практически никогда не требуется. Подобного рода вопросы разрешаются за счёт более функционального SQL." Согласен - не нужны они, особенно в Oracle. Но зачем Oracle вообще их добавил? Зачем плодить сущности? Да еще и такие своеобразные... "Последние 2 пункта обвинения характеризуют специфичность Oracle, а не недостатки, тем более что, положа руку на сердце, с такой концепцией работать удобнее, чем с "традиционными" несколькими базами данных и временными таблицами в других СУБД (Informix, MS SQL Server и т.д.). Просто надо понять и принять." "Стандартные средства документирования и трассировки в SPL" - уже писал выше, что неясно, что понимать под "стандартным средством документирования". Комментарии? Они везде есть. И что понимается под "стандартным средством трассировки"? Какая-то пока глупость.." Выше уже написано, о чем идет речь. Это не глупость - просто вы не знаете SPL. "Автоматическое определение ряда оптимальных параметров конфигурации при установке" - совершенно не ясно, что автор имеет в виду." Я имею ввиду те размеры областей SGA и файлов данных в табличных пространствах, которые предлагает OUI (в зависимости от объема ОЗУ и выбранного администратором назначения системы и набора компонентов). В Informix вам никто и ничего не предлагает. "Кластеры как средство эффективного хранения связанных таблиц - я бы поспорил насчёт эффективности. Кластеры хороши для хранения сложных, редко изменяющихся справочников из-за проблем с производительностью операций вставки/обновления/удаления в кластерах." То-то у Oracle почти весь словарь данных сделан на кластерах. Чтобы проблем было побольше с эффективностью... А есть еще хэш-кластеры и однотабличные хэш-кластеры, - там вообще другие проблемы с производительностью операций вставки/обновления/удаления... Кстати, а в "бизнес-приложениях" знаете сколько этих нечасто меняющихся справочников имеется? Десятки и сотни. "Относительная сложность конфигурирования (более 180 параметров конфигурации)" - больше возможностей настройки. Это, господа, преимущество, и важное." Просто система - сложнее, компонентов - больше. Кому - преимущество, а кому и нет. Пока не разберется, как эта сложная система устроена. Автомат Калашникова почему популярен - прост в изготовлении и эксплуатации. "Отсутствие простых, стандартных терминальных средств (удаленного) администрирования" - враньё. ВСЕ задачи администрирования Oracle решаются стандартным и весьма удобным и функциональным средством командной строки sqlplus." Согласен, в sqlplus можно сделать все. Но не все знают - как. Если бы это было просто и доступно - зачем Oracle Enterprise Manager, а прежде - SQL*DBA и svrmgrm... Текстовые формочки и окошки - полезная вещь для начинающих. И ресурсов требует - минимум. "Контроль сервера только с помощью SQL через многочисленные (более 120) представления динамической производительности. Требует знания SQL и подготовки" - автор, очевидно, хочет, чтобы каждая домохозяйка могла быть DBA? Нет. Но выполнить несколько опций onstat (под диктовку по телефону) и переслать результат в службу поддержки сможет и домохозяйка - а это хорошо. "К тому же, стандартные (входящие в комплект поставки) графические средства администрирования позволяют контролировать почти всё то же, что и доступно через системные вьюхи." Написаны эти стандартные средства на Java, написаны, мягко говоря, не оптимально - тормозят и жрут ресурсы. Поэтому так любит народ другие графические средства для Oracle использовать и создавать... "Необходимость отдельного администрирования пользователей базы" - не понял, что имеется в виду. Или автор предлагает средствами операционной системы давать гранты на select из таблиц?" Нет. Речь идет о том, что Oracle поддерживает свою систему учетных записей пользователей и свои пароли. Пользователями этими и паролями надо отдельно заниматься. Кстати, чтобы от этой проблемы избавиться, Oracle теперь поддерживает аутентификацию операционной системой и прокси-аутентификацию. Informix использует средства аутентификации и управления учетными записями операционной системы. "Команды фрагментации громоздки и не всегда функциональны (нет фрагментации по совокупности условий)" - вообще не понял, что автор имел в виду." Автор имел в виду фрагментацию (partitioning у Oracle и fragmentation у Informix) - возможность создавать таблицы и индексы в нескольких табличных пространствах, в терминах Oracle. "Возможность контроля сервера с помощью SQL-запросов (SMI)" - плохо документированная, к сожалению." Да, а вот словарь данных Oracle и представления V$ очень хорошо документированы... Все их прекрасно знают и эффективно используют. ;) "Адекватная система защиты на базе привилегий и ролей" - адекватная чему? В Oracle возможностей больше." Адекватная требованиям бизнес-приложений архитектуры клиент-сервер. А у Oracle возможностей больше почти во всем... "Использование аутентификации пользователей операционной системой снимает задачу ее отдельного администрирования" - и добавляет гимора." Приведите пример, пожалуйста, этого добавленного "гимора". "Простая и эффективная система фрагментации таблиц и индексов" - не понял. А вы вообще про фрагментацию в этих СУБД что-то знаете? RTFM. "Простой механизм уведомления об основных событиях и проблемах сервера" - лог? В Oracle тоже есть, разумеется." Кроме журнала сообщений, лога, речь идет об автоматическом вызове указанной программы при наступлении определенного события. С передачей информации о событии. Задается параметром ALARMPROGRAM. RTFM. Вы в Oracle будете на cron задание вешать и логи разбирать? Очень удобно... "Обеспечивает многократное резервирование системных файлов" - не системных (таких нет), а управляющих." Помимо управляющих файлов, речь идет также о журналах повторного выполнения (REDO logs), которые можно мультиплексировать на сколько угодно дисков. "Обеспечивает резервное копирование и восстановление на уровне табличных пространств (т.е. вплоть до фрагментов таблиц), при условии резервного копирования журналов, и экземпляра в целом" - таблица находится всегда в одном табличном пространстве, так что ошибочно заявление про "фрагменты таблиц"." Опять двойка... Таблица не всегда находится в одном табличном пространстве. Какая полезная штука - фрагментация (partitioning), а мы про нее ничего не знаем... См. оператор CREATE TABLE и CREATE INDEX. "К тому же, экземпляр - это набор процессов и структур памяти, поэтому получение их резервной копии - задача, мягко говоря, нетривиальная и совершенно не нужная." Но зато как придираемся к словам. Никто не собирается процессы и память копировать. В Informix под резервным копированием экземпляра (instance backup) иногда подразумевают резервное копирование всех (а не отдельных) пространств хранения данных, dbspace. Все, не буду больше этот термин употреблять. "Сложность организации оперативного резервного копирования (при работающих пользователях)" - ничего сложного. Файлы данных по очереди переводятся в специальный backup-режим (1 команда), копируются на уровне ОС, возвращаются обратно. Набор восстановления - вот такие копии файлов + набор архивных журналов с момента начала копирования + копия контрольного файла. Справедливости ради следует сказать, что "горячее" резервное копирование несколько замедляет работу (несильно). "Сложность организации параллельного резервного копирования и восстановления" - ничего сложного." Речь идет о том, что это немножко сложнее, чем: ontape -s -L 0 или onbar -b -L 0 соответственно. "Авторизованный учебный центр - единственный..." - не единственный (в Москве, во всяком случае)." Речь шла об Украине в 2001 году. "Активная дискуссионная группа ukr.comp.dbms.informix позволяет оперативно обсудить проблемы с другими разработчиками и администраторами" - чуть ли не единственная русскоязычная..." А много и не надо. Надо активное и знающее сообщество специалистов (или хоть один, дающий ответы по делу и с удовольствием). Для поддержки Oracle вполне достаточно сайта asktom.oracle.com. Но он - англоязычный. Резюме ---------- "Галимая статья с фактическими ошибками. Автор, если выполнял заказ на сравнительное исследование, поверхностно подошёл к выполнению своей работы, не разобравшись толком ни в одном, ни в другом продукте." Комментарий - тоже так себе... Автор плохо знает СУБД Informix, и далеко не все еще знает о СУБД Oracle. Написал бы хоть про многовариантную согласованность (multiversion consistency). За одно это СУБД Oracle можно простить все недостатки... Кто сравнивает - тот проигрывает. Я это давно знаю. Тем не менее, спасибо за подробный и интересный комментарий. Я не предполагал, что такая, действительно, не особо глубокая и весьма тенденциозная статья заслужит внимание специалистов по Oracle. В. Кравчук http://ln.com.ua/~openxs ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2003, 17:20 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
О, САМ! Я не буду обсуждать мнение компании ProFIX, ибо совершенно не знаком с ней и её деятельностью. Продолжим попунктовый разбор полётов :) : 1. Предисловие -------------- Я открою страшную тайну - Oracle тоже, в подавляющем большинстве случаев, используется исключительно как реляционная СУБД, специалистов, владеющих и использующих в работе объектные расширения, можно пересчитать по пальцам одной руки. Про аналогию понял, вопрос снимаю. 2. Установка ------------ Бесспорно, OUI тяжело и гнусно поддаётся автоматизации, но, по моему опыту, объяснить, какие кнопки нажать и какие крыжики отметить можно по телефону. Создание базы и конфигурация сети при этом установщиком пропускается, и выполняется заранее заготовленным набором скриптов. "Согласен. Ну и зачем тогда такой GUI-шный инсталлятор и средства конфигурирования у Oracle? Жрущие столько ресурсов?" Народ любит :) В самом деле, посмотрите, какой процент людей, в той или иной мере причастных к администрированию какого-либо сложного программного продукта (Oracle, Informix, ещё что) можно назвать хотя бы "хорошими специалистами"? 1? 2? Для оставшихся и придуманы эти вещи. Народ хочет скачать свои 1500Мб с otn.oracle.com, запустить setup.exe, несколько раз кликнуть мышкой, и получить работающую инсталляцию. Можно назвать это дешёвой популярностью, но факт остаётся фактом - Oracle сейчас весьма и весьма распространена. Oracle - штука относительно неприхотливая, в стандартной конфигурации работает и без какого-либо администрирования вообще (до первой аварии :) ). Обычно это всё на винде бывает, что характерно "Берем хорошую, современную серверную материнскую плату на 845 чипсете от Intel..." Я, вообще-то, предлагал поднимать X-ы на винде, если юниксовая машина с ораклом - единственная в офисе. X-Win32, например, отлично подходит для этой задачи, сам неоднократно использовал. "Требование 128 Мбайт ОЗУ..." Ставил на SuSE. Инсталлер хочет 1Гб с лишним, факт. Хотя JRE загружать не требуется, glibc + поковырять genclntsh.mk (могу путать имя файла), когда вывалит первую ошибку. Ну это же Linux, я там уже ничему не удивляюсь. Пользуйте солярку :) "Так понятно, что базу надо создавать под свои требования..." Да, обычно делают так - инсталлятор в какой-то момент запускает database configuration assistant, который может сгенерировать скрипт создания базы, который потом правится где нужно и запускается. Конечно, можно написать его руками (в документации это отражено, там всего лишь create database ля-ля-ля и вызов скриптов создания словаря и проч., идущих в комплекте поставки), но, обычно, всем лень. Для серийных инсталляций можно написать такой скрипт и давать его региональным админам. Можно, конечно, создавать умолчальную базу, а потом переконфигурировать её, но это не есть right way. ... про параметры ядра ... Документацию читать надо обязательно. Дефолтный processes будет разве что при создании дефолтной базы. Это ещё один довод в пользу того, что даже инсталляцию (или, по крайней мере, инструкцию по инсталляции) должен делать профи. Вообще, это беспредметный какой-то вопрос - сказано поменять, значит надо поменять. Формулы расчёта приведены в Installation Guide, умножить в столбик 10 или 20 раз - разницы никакой не имеет, перегружать всё одно придётся. ""...Всё-таки мы про администраторов говорим, а не про домохозяек." Ну, и зачем администраторам инсталлятор OUI?" Не знаю. Я, вообще-то, написал это в ответ на довод, что, дескать, надо соблюдать последовательность операций при инсталляции. Я считаю администратора всё же каким-никаким специалистом, обладающем определённым уровнем технической культуры, человеком, который может прочитать доку, и сделать так, как в ней сказано, а не класть на неё болт, думая, что "сойдёт и так". "Признаю. Лень было написать 32767..." Тогда уж "32K сеансов" пишите. Хотя это ограничение (я, признаюсь, впервые про эту цифру слышу) мне видится несколько теоретическим, аналогично и 1000 колонок в таблице и петабайтные базы. Но можно предположить, что где-то это имеет смысл. "Я не говорю, что работа без журнализации - это хорошо..." Да, согласен, это я погорячился. Некоторые случаи отрабатываются через nologging. А отключение транзакций всё же слишком дорого обходится относительно прироста производительности... "Речь идет об операторе TRACE в SPL... и конструкции DOCUMENT ..." Не знал, каюсь. Хотя стандартным назвать это нельзя. ... временные таблицы ... "Согласен - не нужны они, особенно в Oracle. Но зачем Oracle вообще их добавил? Зачем плодить сущности? Да еще и такие своеобразные..." Видимо, реверанс мигрирующим и привыкшим к ним на других серверах. "Я имею ввиду те размеры областей SGA и файлов данных в табличных пространствах, которые предлагает OUI..." Понял. Это не OUI, а DBCA предлагает. Опция для ламеров, исключаем из рассмотрения. "Согласен, в sqlplus можно сделать все. Но не все знают - как. Если бы это было просто и доступно - зачем Oracle Enterprise Manager, а прежде - SQL*DBA и svrmgrm... Текстовые формочки и окошки - полезная вещь для начинающих. И ресурсов требует - минимум." Вы писали, что такого средства нет, однако... Ладно. Если кто-то не знает "как", то какой же он DBA? Это несерьёзно. Пусть учит, а потом работает, а не наоборот. Селект из нужных вьюх не намного сложнее onstat'а. А OEM, в основном, предназначен для того же контингента, что и дефолтные базы создают. Хотя, стоит отметить, визуальность - приятная вещь, кое-что даже мне удобнее в нём делать, особенно, когда лень стучать на клавиатуре. isql, возможно, кому-то и удобнее sqlplus-а в части посмотреть, какие таблицы есть, данные в них поглядеть, но его ограниченность, порой, убивает. "Написаны эти стандартные средства на Java, написаны, мягко говоря, не оптимально - тормозят и жрут ресурсы. Поэтому так любит народ другие графические средства для Oracle использовать и создавать..." Нормально работает всё, приемлимо. Хотя, если бы тот же OEM написали не на Java, многие бы были благодарны. Но это сложный продукт (я не так давно декомпильнул Network Configuration Assistant, даже этот относительно простой продукт "внутри" устроен весьма непросто), и Oracle Corp., видимо, лень писать отдельные версии для каждой платформы. Из сторонних графических средств популярно ПО разработки, т.к. стандартно в Oracle присутствует только sqlplus, бесспорно, не слишком простой для начинающего, не читавшего документацию и книг и не знающего, как НА САМОМ ДЕЛЕ создаются таблицы. Да и опять же, визуальность в разработке имеет определённую и немалую ценность. А вот для Informix приличного софта для разработки - кот наплакал, и краки сложно найти, если что :) "Речь идет о том, что Oracle поддерживает свою систему учетных записей пользователей и свои пароли..." Строго говоря, Oracle также поддерживает, но лично я считаю аутентификацию в БД через ОС большим геморроем. Можно предположить, что это удобный метод, например, для двузвенных приложений, но я с таким не работаю. "Да, а вот словарь данных Oracle и представления V$ очень хорошо документированы... Все их прекрасно знают и эффективно используют. ;)" Ну... Это НАДО знать. Иначе какой это DBA? Фиговый... А документированы они вполне достаточно для их пользования. ""Использование аутентификации пользователей операционной системой снимает задачу ее отдельного администрирования" - и добавляет гимора." Приведите пример, пожалуйста, этого добавленного "гимора"" Сам факт необходимости создания пользователя в системе - уже гимор. Это или рутом ходить надо, или sudo налаживать. Уже выше писал, что это может быть удобно для двузвенных приложений, но двузвенники - вчерашний день... "А вы вообще про фрагментацию в этих СУБД что-то знаете? RTFM." Секционирвоание которое? :) Знаю в Oracle. Меня смутил термин "фрагментация", под которым я привык понимать несколько иное. ""Обеспечивает многократное резервирование системных файлов" - не системных (таких нет), а управляющих." Помимо управляющих файлов, речь идет также о журналах повторного выполнения (REDO logs), которые можно мультиплексировать на сколько угодно дисков." Так называйте вещи своими именами, вопросов не будет. "Опять двойка... Таблица не всегда находится в одном табличном пространстве. Какая полезная штука - фрагментация (partitioning), а мы про нее ничего не знаем... См. оператор CREATE TABLE и CREATE INDEX. " Знаем прекрасно, намеренно не стал упоминать, всё же это вырожденный случай. Вы ещё LOB-ы вспомните и overflow в IOT-ах, например. "Речь идет о том, что это немножко сложнее, чем: ontape -s -L 0 ..." Бесспорно. Резюме ------ "Автор плохо знает СУБД Informix, и далеко не все еще знает о СУБД Oracle. Написал бы хоть про многовариантную согласованность (multiversion consistency)..." Про Informix спорить не буду - знаю его посредственно, хотя за последние полгода этого мне хватало. Что касается сравнений - необходимость в таких сравнениях есть, притом, необходимость в статьях серьёзных и подробных, а не сравнивающих преимущества или недостатки инсталляторов. Это, кстати, касается не только "вечного" спора Oracle/Informix. P.S. У вас такая неплохая рассылка, статья на этом фоне смотрится странно... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2003, 20:07 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
Спасибо за комментарий. Мы практически сошлись во мнениях. ;) Статья, даже не статья - тезисы, весьма старые. Призвана была показать, почему, при всех преимуществах Oracle, в определенной среде и для определенного класса приложений использовать Informix удобнее и проще. Это утверждение, по-прежнему, мне кажется похожим на правду. И статья намеренно должна была вызвать поток возмущения со стороны Oracle и оракловской общественности, но им на это было наплевать. Вы - первый серьезно откликнувшийся с этой стороны. Кроме того, я вообще не знал, что статья распространится за пределы узкого круга корпоративных клиентов и конкурентов. Рассылка по Oracle начала выходить намного позже, через полгода. Серьезные же публикации по сравнению СУБД, несомненно, нужны и интересны. Просто их мало - производители коммерческого софта нынче не приветствуют сравнения, да и сложное это дело. Надо одинаково хорошо знать сравниваемые продукты и ставить чистые эксперименты... А кому это надо, из тех, кто мог бы? С наилучшими пожеланиями, В.К. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2003, 11:19 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
1 Вопрос по временным таблицам Если нет такого механизма то остается select from select насколько я понимю. Всвязи с этим возникают следующий вопрос - а что если временная выборка велика по объему и мне необходимо четко представлять себе какие типы данных используются во временных выборках и если мне необходимо проиндексировать эту временную выборку? С временными таблицами как раз ясно что и как, а с вложенным селектом мне пока не ясно. Просьба пояснить. 2 Возвращаюсь к вопросу о двух различных приложениях от совершенно разных разработчиков. Сможете ли вы запустить их на одной машине? Насколько я понял нет. А на informixe это не проблемы не составляет. 3 Для централизованных терминальных приложений INFORMIX как раз вне конкуренции. (насчет вчерашнего дня слухи явно преувеличены:-)) Думаю что и для любых других, для которых неприемлимы средства быстрой разработки по той или иной причине. У меня например система построена по централизованной схеме для терминальных приложений, которая позволяет записывать все что происходит на терминале пользователя как на видеомагнитофоне и потом при необходимости воспроизводить, а так же перехватывать в случае необходимости управление у пользователя. Решение полностью мобильно. Для оракла его повторить будет явно труднее. На мой взгляд если у оракла и есть преимущества, то они не в самом SQL сервере а за его пределами. К тому же повышенная по сравнению с информиксом ресурсоемкость оракла стоит немалых денег и меня честно говоря удивляет позиция при которой совершенно пофигу сколько будет стоить аппаратура. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2003, 14:55 |
|
Мой ответ Чемберлену
|
|||
---|---|---|---|
#18+
2Чемберлен: Да неправы Вы, неправы... Хотя я со своей колокольни смотрю, мне лично не сложно настроить "автопилотную" инсталляцию Oracle и поставить её в регионы, чтобы это всё работало как часы, а если что, по телефону всё это поднять... Сравнивать продукты можно не в одиночку. Могут со стороны каждого продукта присутствовать один или несколько специалистов, которые по некоему заранее согласованному набору критериев и высказывают каждый своё мнение о своём продукте. При определённом уровне отрешённости можно будет подводить итоги по каждому пункту. 2cpr: 1. Механизм временных таблиц есть, он только устроен по-другому - сама таблица физически существует всегда, по ней могут быть построены индексы, например. Однако данные в таблице живут только либо в пределах сессии, либо в пределах транзакции (это определяется при создании таблицы), по окончании которых таблица очищается. Насчёт индексирования - если у вас действительно такая ситуация, и индексирование выборки занимает меньше времени, чем выборка по неиндексированной, тогда используйте временные таблицы. Хотя обычно этого не требуется, т.к. скобки в select from select при разборе и генерации плана выполнения раскрываются достаточно эффективно, подцепляя индексы внутрилежащих таблиц. 2. А кто мешает? Может, конечно, быть вариант, что оба приложения используют одно и то же имя пользователя и разные пароли, и всё это намертво зашито в код приложения, но это уж очень невероятная ситуация. Другая тонкость - приложения могут быть очень сильно разными, настолько, что для каждого требуется (или настоятельно рекоменуется) собственная конфигурация оракла, несовместимая с конфигурацией другого продукта (такое бывает, но нечасто), но это обходимо созданием нескольких баз и экземпляров Oracle на этой машине. Как вырожденный случай необходимости наличия некскольких баз - standby (база закрыта для запросов, автоматически накатывает архивные журналы транзакций, при фатальном сбое основной машины за несколько секунд переводится в обычный режим) и девелоперская база на одной машине (часто используется, т.к. девелоперам часто не хотят покупать отдельный сервер). Здесь всё ограничено уже только доступными физическими ресурсами. Я простой пример приведу - у меня дома на не ахти какой машине о 350МГц и 384Мб памяти на одном экземпляре вполне мирно сосуществуют около 20 разных приложений (самописные, одно достаточно массивное, с таблицами в миллионы строк и кучкой хитромудрых индексов для контекстного поиска), в основном, всякая вебня, хотя есть и варианты. Всё пучком :) 3. Сомневаюсь насчёт труднее, хотя тут всё зависит от того, на чём и как всё писано. Верно подмечено, преимущества Oracle не только и не столько в sql, хотя там они, как мне кажется, сильны. На мой взгляд, если взять хорошую серьёзную СУБД (Oracle, Informix, MS SQL Server, Sybase), чисто техническая разница вряд ли даст больше процентов 10-15 разницы во времени при разработке, например (при одинаково квалифицированных разработчиках). Однако, квалифицированных разработчиков на редкую платформу найти очень сложно, эксплуатировать это приложение будут такие же люди, которым будут нужны квалифицированные админы, ну и т.д.... В случае с малопопулярным по тем или иным причинам продуктом (Informix) и отсутствии со стороны его разработчика (IBM) какой-либо внятной стратегии продвижения получаем порочный круг, в котором крутится и удобство пользования, и развитие продукта. А про ресурсоёмкость - те ресурсы, которых требуется ораклу больше, а это память и диски, сейчас стоят копейки. Даже для спарков, благо можно где брать не по сановским ценам. Хотя тут выше уже сказали про интересный аспект с ограничениями x86, это факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2003, 22:12 |
|
|
start [/forum/topic.php?fid=44&fpage=69&tid=1609429]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
200ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
628ms |
get tp. blocked users: |
2ms |
others: | 525ms |
total: | 1393ms |
0 / 0 |