Форум FAQ О команде
Поиск по сайту:
 
Sybase
Sybase ASA  
Sybase ASE  
Sybase IQ  
Sybase PowerDesigner  
Sybase PowerBuilder  

Продукты
Наши продукты  
Продукты партнеров портала  

Сообщества
Alef community  

Меню
Регистрация  
Почта  

Вход

Рассылка
Рассылка 'РСУБД Sybase ASA 9 - мощность, легкость и надежность'
Почтовая рассылка
"Технологии обработки данных компании Sybase"


Статистика
Яндекс цитирования

Rambler's Top100
Находится в каталоге Апорт

Главная -> Статьи
Выпуск 13

Выпуск 13

Доброй день, уважаемые подписчики. Предлагаю Вашему вниманию очередной, 13-й номер рассылки. Хочу принести свои извинения за нечастый выход рассылки из за отсутствия свободного времени и напоминаю, что достаточно много информации можно получить на сайте SQL.RU, где есть форум посвященный продуктам Sybase и специализированный FAQ.

Содержание рассылки:

  • История создания ASA
  • Статья "Почему я выбрал Sybase ASA"
  • Вакансия для разработчиков на платформе ПО Sybase

    История создания ASA

    Это история, взятая из издания "SQL Anywhere Studio 9 Developer's Guide", ISBN 1-55622-506-7 Wordware Publishing, Plano, Texas и была любезно переведена MasterZiv (FAQ SQL.RU):
    ______________________________________________________________________________
  • 1965
    Компилятор WATFOR FORTRAN разработан для IBM 7040 в университете города Ватерлоо. (Видимо, что в штате Онтарио в Канаде, University of Waterloo, ON Canada N2L 3G1 ) (Прим. пер.: Видимо, WATFOR расшифровывалось как Waterloo fortran, а стало быть часть названия города Ватерлоо вошла в название фирмы Watcom)

  • 1981
    Основана компания Watcom.

  • 1988
    СУБД PACEBase SQL Database System была выпущена как часть продукта Watcom Information Workbench. Она работала на IBM-PC под DOS, и включала утилиту ISQL, обработку транзакций, поддержку декларативной ссылочной целостности, комманд CREATE TABLE и ALTER TABLE, внутренних JOIN-ов, подзапросов в списке вывода SELECT-а, множественные идентификаторы пользователей и отдельный файл для данных для отката транзакций и восстановления базы данных. Это была версия 1; версия 2 никогда не выпускалась.

  • 1992
    Watcom SQL 3 стал доступен как коммерческий продукт. Это был многопользовательский сервер с блокировками на уровне записей , отдельным журналом транзакций и возможностью выполнять UPDATE с использованием нескольких таблиц (Прим.Пер: видимо имеется в виду JOIN внутри UPDATE). Более позние версии добавили поддержку платформы Windows 3, драйверов ODBCr, внешних JOIN-ов, дефолтов, CHECK constraint-ов, типов данных TIME, DATE и LONG, и архивирование в решиме On-Line.

  • 1993
    Компания Powersoft включила Watcom SQL 3.2 в поставку PowerBuilder 3.

  • 1994
    Компания Powersoft купила компанию Watcom.

  • 1994
    Выпущен Watcom SQL 4. Он включал возмоности создания хранимых процедур и триггеров, каскадные изменения и удаления (возможности FK Constraint-ов) временные таблицы, несколько баз данных на одном сервере, самонастраивающийся оптимизатор запросов и поддержку TCP/IP.

  • 1995
    Компания Sybase купила компанию Powersoft.

  • 1995
    Выпущен SQL Anywhere 5. Он включал SQL Remote, SQL Central (теперь Sybase Central), поддержку Transact SQL, и поддержку Sybase Replication Server.

  • 1996
    Выпущен SQL Anywhere 5.5. Это был пакет, в который были также включены и дополнительные продукты : InfoMaker, NetImpact Dynamo (познее PowerDynamo). В этой версии возникла плагинная архитектура в Sybase Central.

  • 1998
    Выпущен SQL Anywhere 6, с новыми именемами : "Adaptive Server Anywhere" - для самой СУБД, и "SQL Anywhere Studio" - для всего пакета поставки, который включал теперь SQL Modeler (познее PowerDesigner). Именно с версии SQL Anywhere 6 появилась встроенная поддержка Java. Следующие выпуски добавили proxy-таблицы, возможность UltraLite deployment (свехлегкой поставки), синхронизацию через MobiLink и интерактивный отладчик.

  • 2000
    Выпущен SQL Anywhere 7. Он поддерживал базы данных ASA как удаленные базы данных для MobiLink, и включал улучшения в UltraLite, драйвер OLEDB и возможность динамического изменения размера кэша. С версии 7 также появились Java-версии утилит ISQL и Sybase Central.

  • 2000
    Компания iAnywhere Solutions была основана как дочерняя компания Sybase.

  • 2001
    Выпущен SQL Anywhere 8. Эта версия включала сотни улучшений, но особенно интересны были изменения в обработчике запросов, который был полностью переписан для того, чтобы повысить производительность и дать возможность будущих улучшений.

  • 2003
    Выпущен SQL Anywhere 9. Он включал сотни новых улучшений : еще больше усовершенствований, связанных с производительностью, утилиту Index Consultant (консультанта по индексам), поддержку OLAP, XML и 64-битных процессоров и много новых возможностей в поддерживаемом диалекте SQL, включая рекурсивные UNION-ы и возможность вызова хранимых процедур во фразе FROM запроса.

    Примечание автора рассылки:
    На текущий момент последняя версия 9.0.2 обладает всеми характерными признаками Enterprise РСУБД - поддержка и обработка больших обьемов информации, кластерных индексов, администрирования множества СУБД в сети. Стремительное развитие этой РСУБД, несомненное лидерство в мобильных технологиях (порядка 80%) и постоянные финансовые вложения Sybase в ее дальнейшее развитие привели к тому, что за рубежом и в нашей стране она уже расценивается менеджерами и проектировщиками не просто как Workgroup решение, но и корпоративная РСУБД, позволяющая быстро и эффективно решать множество разнообразных задач в различных сегментах применения баз данных. Можно сказать, что ASA прошла действительно большой путь, имеет прекрасные перспективы в своем дальнейшем развитии и популярности и продолжает радовать своих пользователей, имея набор уникальных качеств: низкие требования, низкая стоимость, нулевое администрирование, отличные механизмы репликации, прекрасная функциональность, граммотный механизм блокировок и один из самых "умных" оптимизаторов запросов.

    Статья "Почему я выбрал Sybase ASA"

    Эта статья была написана мною, как некоторое пособие для маркетинга и обоснования выбора ASA в качестве платформы в своих решениях и надеюсь поможет более успешно продвигать собственные продукты, написанные с использованием Sybase ASA. Итак:

    Почему я выбрал ASA 9


    1. Низкая стоимость (указаны прямые цены производителя, у представительств могут отличаться)
    1.1. сервер 500$
    1.2. лицензия на подключение 130$
    1.3. лицензия на камень 2500$
    1.4. сервер на 10 лицензий с подключением 1400$
    1.5. бесплатная Developer Edition

    2. Низкие аппаратные требования
    2.1. Работа начиная с P1 4мб RAM
    2.2. Малые затраты на подключения (4кб на подключение)

    3. Возможность использования как встроенного сервера
    3.1. Размер самого движка сервера 5 мб (2 мб в сжатом виде)
    3.2. Наличие локального и сетевого движка СУБД
    3.3. Наличие готовых инсталляционных пакетов под InstallShield и MSI
    3.4. Наличие полной документации по включению в собственные инсталляции

    4. Нулевое администрирование
    4.1. Автосбор и автокоррекция статистики во время выполнения запросов
    4.2. Эвристический анализатор планов запросов оптимизатора с автосбором лучших планов запросов и их кэшированием в RAM и самой СУБД для быстрого перезапуска БД
    4.3. Поддержка на уровне диалекта WatcomSQL событий (EVENT), позволяющих прописать скрипты автоматических администраторских действий на различные события сессий, БД и СУБД или по расписанию
    4.4. Поддержка на уровне диалекта WatcomSQL множества операторов администрирования и управления БД (START/STOP DB, BACKUP/RESTORE, VALIDATE, хранимые процедуры получения распределения статистики, дефрагментации, планов запросов, нагрузки сервера и т.д.)
    4.5. Поддержка внешними утилитами множества функций администрирования (создания скриптов полной перезагрузки структуры и данных БД в новую БД, резервное копирование, проверка БД, и т.д.)
    4.6. Поддержка на уровне диалекта WatcomSQL оператора калибровки сервера к текущей конфигурации машины (ALTER DATABASE CALIBRATE), собирающего статистику, в дальнейшем учитываемую при расчетах затрат в планах запросов
    4.7. Мощный и интеллектуальный оптимизатор запросов с поддержкой множества алгоритмов соединений и обработки информации и высокой скоростью построения планов запросов и возможностью регулировать их скорость/качество построения (от 0 до 15 уровней, по умолчанию выставлен 9 уровень, обеспечивающий качественное и быстрое построение планов запросов)
    4.8. Возможность влиять на производительность и соответствия стандартам через множество настроек базы данных и сервера

    5. Богатая функциональность диалекта WatcomSQL и возможностей проектирования БД
    5.1. Триггера BEFORE/AFTER FOR EACH ROW/STATEMENT, с возможностью указания порядкового номера выполнения (ORDER) и условия на срабатывание триггера (WHEN)
    5.2. Пользовательские функции с такой же функциональностью, как и ХП
    5.3. Хранимые процедуры с возможностью их использования в запросах (SELECT * FROM StoredProcedure())
    5.4. Пользовательские события (EVENT), позволяющие сессии в параллейных автономных сессиях выполнять различные действия
    5.5. Поддержка пользовательских типов (DOMAIN) на всех уровнях (от типов для полей таблиц до переменных в ХП)
    5.6. Поддержка каскадных обновлений и удалений, а так же отложенных проверок целостности на COMMIT для FOREIGN KEY (CHECK ON COMMIT)
    5.7. Полноценная реализация политики прав (группы, пользователя, интегрированные логины, права на работу с объектами БД и т.д.)
    5.8. Полноценная поддержка работы с форматом XML (XQuery, множество функций обработки)
    5.9. Возможность организации доступа к СУБД через веб-сервисы, реализуемые на WatcomSQL как RAW, XML, HTML, SOAP, DISH, где СУБД становиться веб-сервером, с поддержкой всех основных функций веб-сервера (get/post, обработка HTML, организация выполнения хранимых процедур через веб-сервисы и т.д.)
    5.a. Поддержка собственных видов соединений таблиц в запросах KEY JOIN (автоматическое соединение по полям FOREIGN KEY) и LATERAL (внутреннее соединение, например для каждой записи таблицы вызвать ХП с передачей для нее параметрами полей таблицы или для организации перевода в табличное представление данных формата XML, хранящихся в BLOB-ах)
    5.b. Поддержка Common Table Expression и рекурсивных запросов
    5.c. Поддержка OLAP функций (GROUPING SETS, ROLLUP, CUBE, Rank functions, Reporting functions, Window functions)
    5.d. Поддержка сессионных глобальных временных таблиц (CREATE GLOBAL TEMPORARY TABLE) с возможностью создания на них полноценных триггеров
    5.e. Поддержка локальных временных таблиц (DECLARE LOCAL TEMPORARY TABLE)
    5.f. Поддержка не зависящих от транзакции глобальных и локальных временных таблиц (NOT TRANSACTIONAL)
    5.1.0. Поддержка глобальных сессионных переменных (CREATE VARIABLE)
    5.1.1. Динамический SQL без ограничений, позволяющий выполнить любой скрипт размером до 2 гб
    5.1.2. Поддержка обработки ошибок на уровне исключений (EXCEPTION)
    5.1.3. Поддержка быстрой выгрузки и загрузки данных CSV (UNLOAD/LOAD TABLE)
    5.1.4. Поддержка области видимости переменных в блоках (BEGIN ... DECLARE ... END)
    5.1.5. Поддержка функций криптографии и компрессии
    5.1.6. Поддержка работы с удаленными серверами через ODBC/JDBC в виде прокси-таблиц и прокси-ХП, оптимизация запросов к удаленным серверам исходя из возможностей удаленного сервера (автоматическое определение возможностей и опции для ручной настройки)
    5.1.7. Поддержка расширенных хранимых процедур на C/Java
    5.1.8. Поддержка механизма работы СУБД на КПК (Ultralite)
    5.1.9. Поддержка размера блобов и переменных до 2 гб
    5.1.a. Поддержка GUID (UNIQUEIDENTIFIER)
    5.1.b. Поддержка нарастающей (identity) и сквозной нумерации (global increment)
    5.1.c. Поддержка временных сессионных опций БД (SET TEMPORARY OPTION)
    5.1.d. Возможность перевода сессии на выделенный уровень (DEDICATED_TASK option) для сбора статистики и администрирования загруженного сервера путем выделения резервных ресурсов
    5.1.e. Возможность перевода сессии в фоновый режим работы (BACKGROUND_PRIORITY option)
    5.1.f. Возможность поссылки сообщений клиенту, в лог, консоль сервера и другим сессиям (MESSAGE)
    5.2.0. Возможность остановки работы сессии на определенное время, по таймеру или до получения сообщения от указанной сессии (WAITFOR)
    5.2.1. Поддержка кластерных индексов
    5.2.2. Поддержка онлайн-дефрагментации таблиц

    6. Блокировочная транзакционная модель
    6.1. Поддержка 0-3 уровней изоляции
    6.2. Позаписная блокировка при выполнении запросов на уровнях 1-2
    6.3. Постраничная блокировка на уровне 3
    6.4. Использование специальных уровней блокировок, позволяющих не блокировать вставку записей, при использовании на нее запросов уровня 3 и наличии primary или unique constraint/index
    6.5. Поддержка точек сохранения (SAVEPOINT, RELEASE SAVEPOINT, ROLLBACK TO SAVEPOINT)
    6.6. Поддержка откатов внутри триггеров (ROLLBACK TRIGGER)
    6.7. Поддержка атомарных блоков (BEGIN ATOMIC ... END)
    6.8. Поддержка эксклюзивной позаписной блокировки для запросов (XLOCK)
    6.9. Поддержка блокировки всей таблицы (LOCK TABLE)

    7. Удобная среда разработки и администрирования (Sybase Central + ISQL + внешние утилиты/визарды)
    7.1. Дизайнеры и визарды таблиц, представлений, процедур и других объектов БД
    7.2. Редактор кода скриптов с подсветкой и построителем запросов
    7.3. Графический план запросов и поддержка на уровне WatcomSQL виртуальных индексов, не создающих физические индексы, но позволяющие по плану запроса увидеть, как бы его использовал оптимизатор запросов
    7.4. Консультант индексов по указанному запросу или потоку запросов на все/указанные сессии
    7.5. Профайлер хранимых процедур, функций и триггеров с возможностью просмотра кол-ва вызовов и времени выполнения всех выполненных на время запуска профайлера скриптовых объектов с детализацией процента и времени выполнения построчно для каждого скрипта
    7.6. Отладчик с поддержкой точек останова, слежения за переменными, стэком выполнения и возможностью выполнять запросы и смотреть их план во время точки остановки в пределах текущего состояния сессии
    7.7. Performance Monitor, позволяющий собирать различные статистические параметры работы сервера и базы данных
    7.8. Визуальный Просмотр текущих подключений к серверу и его БД
    7.9. Визуальный просмотр фрагментации и распределения таблиц и индексов по табличным пространствам БД
    7.a. Визуальный просмотр текущих блокировок сессий в БД
    7.b. Множество визардов (создание БД, перезагрузка БД, проверка БД, резервное копирование и восстановление, трансляция лог-файла в SQL, изменение настроек лог-файла, перенос БД на мобильное устройство, миграция БД с СУБД других производителей и т.д.)

    8. Обеспечение надежности и безопасности хранение информации
    8.1. Поддержка зеркалирования файлов БД и лога
    8.2. Поддержка контрольных сумм страниц БД (CHECKSUM)
    8.3. Поддержка онлайн полных и инкрементных бакупов и полных срезов БД для всех закоммиченных транзакций
    8.4. Поддержка восстановления последней информации накатыванием лог-файла на БД или бакуп
    8.5. Поддержка криптографии БД, лог-файла, временных файлов и протоколов передачи данных по 128-разрядному ключу (AES/AES_FIPS)
    8.6. Поддержка работы сжатых БД (compressed) в режимах read-only с работой через write-file
    8.7. Ведение точек сохранения (CHECKPOINT) в БД и лог-файле, с автоматическим откатом незавершенных транзакций и сверки состояния активных точек БД и лог файла на момент запуска сервера
    8.8. Ведение аудита БД

    9. Поддержка 2 видов оффлайн репликаций
    9.1. Поддержка двусторонней репликации по лог-файлу между серверами ASA с любым уровнем вложенности механизмом SQL REMOTE
    9.2. Поддержка двусторонней репликации срезом данных (snapshot) между сервером ASA и консолидированной СУБД (ASA, ASE, Oracle, DB2, MSSQL) механизмом MobiLink
    9.3. Возможность написания на репликации триггеров и событий обработки конфликтов и хода репликации
    9.4. Поддержка множества протоколов транспортной среды передачи данных (FILE, FTP, SMTP, MAPI, VIM)
    9.5. Поддержка условий подписки для организации разделения потока информации по узлам

    10. Технические характеристики
    10.1. Кроссплатформенность с единым форматом хранения БД для всех ОС (Win/Unix/Linux/Solaris/Novell/Mac) кроме Windows CE, где БД конвертируется в спец формат
    10.1. Поддержка параллейного сканирование таблиц и индексов для RAID
    10.2. Поддержка 64-битовых серверов и ОС
    10.3. Поддержка больших объемов памяти (для Windows32 через AWE)
    10.4. Использование только ограничений ОС в качестве собственных ограничений
    10.5. Кроссплатформенность средств разработки и администрирования (Java-Swing)
    10.6. Поддержка почти всех языков в БД и настройка сообщений сервера и его ошибок на любой из поддерживаемых языков
    10.7. Поддержка множества протоколов доступа к БД (ODBC, OLEDB, Native, ADO.NET Native, JDBC, JConnect Native, XML)
    10.8. Поддержка автоматического выбора типов индексов (B-Tree, Compressed, ...) в зависимости от характеристик полей таблицы
    10.9. Поддержка разных размеров страницы для базы данных (1, 2, 4, 8, 16 и 32 кб страницы), позволяющая организовывать базы данных от небольших, с минимальными требованиями к памяти сервера, до больших, с хранением в базах данных бинарной инфорации (картинки, документы и т.д.)

    11. Легкость освоения
    11.1. Совместимость на уровне TSQL c MSSQL/Sybase ASE (второй диалект для ASA)
    11.2. Легкая архитектура, где сервер - это сервис, на котором крутяться БД, в каждой из которых лежит пользователи и настройки (т.е. в данном случае сервер не требует создания и сопровождения таких БД, как MasterDB или TempDB)
    11.3. Большая функциональность WatcomSQL и мощность внутренних автоматических механизмов оптимизации и администрирования не требует изучения множества нюансов программирования и настроек администрирования (где администраторами могут выступать просто опытные пользователи)
    11.4. Удобство проектирования и администрирование единой среды Sybase Central позволяет быстро ее освоить и начать работу, без поиска и освоения тулзов сторонних производителей (да и нет их, так как конкурировать с родной средой сложно)
    11.5. Полная и детализированная документация в инсталляции с подробным описанием принципов и механизмов проектирования и администрирования в форматах CHM и PDF с множеством примеров, а так же идущие скрипты и базы примеров облегчают и ускоряют изучение
    11.6. Полная кроссплатформенность БД и Sybase Central позволяет разработчику и администратору БД не задумываться о том, на какой ОС он работает в текущий момент

    12. Техническое сопровождение
    12.1. Бесплатные ежемесячные EBF (ExpessBugFix)
    12.2. Бесплатные консультации и обсуждения багов и новой функциональности вживую с разработчиками, менеджерами и тестерами ASA
    12.3. Бесплатное CASE средство заполнения заявки на исправление ошибки или добавление функциональности c возможностью диалога с сотрудником iAnywhere, взявшего на себя проверку заявки (исправления в зависимости от критичности проходят в пределах 1-3 месяцев)
    12.4. Бесплатное обновление сервис-паков (например, с 9.0.1 на 9.0.2)
    12.5. Добавление возможностей и функциональности различных аспектов СУБД не только в сервис-паке, но и ежемесячных EBF

    Наиболее частая область применения:
    1. Мобильные решения, где есть множество мобильных сотрудников с ноутбуками и КПК и консолидированная БД на сервере
    2. Удаленные решения, где есть множество удаленных точек, не соединенных выделенными каналами с любым уровнем вложенности уровней и движением информации от главного к подчиненным узлам
    3. Тиражные решения, предназначающиеся для массовой продажи пользователям, требующие встроенного СУБД с нулевым/минимальным уровнем администрирования
    4. Интернет решения, где есть один или множество сайтов, соединенных каналами, ведущими параллейную работу или организующие услуги веб-сервисы
    5. Решения для сбора информации (от сбора информации по датчикам до биллинговых систем)
    6. Решения для сложной обработки информации (реализация сложных алгоритмов расчетов бизнес-логики на уровне ХП)
    Сейчас я базируюсь на ASA по пунктам 2, 3, 6 , скоро ASA будет задействована по пунктам 1 и 4.

    Самая большая БД, известная мне на ASA в СНГ:
    биллинговая система (сейчас в архиве порядка 100 млн записей и БД размером 200 гб)

    Самая тяжелая бизнес-логика расчетных алгоритмов средствами ASA:
    моя собственная - расчет заработной платы (для 1000 сотрудников расчет зп составляет при сервере P4 2,4 с выделенными под СУБД 32мб RAM порядка 4 сек)

    Самая разветвленная репликация на ASA известная мне:
    Украинский Нацбанк (порядка 400 точек), правда сейчас на Украине разворачивается страховое приложение, имеющее 700 точек и 5 уровней вложенности двусторонней репликации

    Самый мощный сервер, использованный под ASA известный мне:
    Xeon 11gb RAM

    Самая распространенная система за рубежом, известная мне:
    стоматологическая медицинская система, работающая в Австралии, США, Канаде, России, Китае, Англии и возможно где-то еще

    Самый мощный удачный OLTP тест на производительность ASA, известный мне:
    1300 активных подключений на 30 млн. записей и 3900 конкурирующих подключений на 18гб БД

    Что нет в функционале ASA в отличие от других СУБД, но что могло бы пригодиться:
    1. INSTEAD OF триггеров (можно организовать через глобальные временные и триггеры на них)
    2. Поддержки секционированных представлений (придется организовывать ручками)
    3. Поддержки партиций таблиц (придется организовывать ручками)
    4. Распараллеливания запроса по процессорам
    5. Бит-мап индексов
    6. Возможности локального лечения физических проблем БД (DBCC) (только перезагрузкой БД или поднятием бакупа с накаткой лог-файла)
    7. Возможности онлайн-сжатия размера файла БД (SHRINK) (только перезагрузкой БД)
    8. Использование оптимизатором при сканировании на таблицу более одного индекса

    Что меня устраивает в ASA для моего круга поставленных задач:
    Все

    Что меня не устраивает в ASA для моего круга поставленных задач:
    Ничего (как ни странно)

    Почему я выбрал ASA:
    Потому что она ценой, функциональностью и характеристиками полностью подходит под мой круг задач, позволяет мне быстро включать в работу с ней специалистов других СУБД и эффективная и быстрая работа ее разработчиков позволяет мне не задумываться над багами и нехватающими фичами - она развивается гораздо быстрее, чем я их нахожу или же придумываю что нужно.


  • Вакансия для разработчиков на платформе ПО Sybase

    Для разработчиков, проживающих или готовых переехать в Москву, я хочу выложить вакансию, которая возможно их заинтересует:
    Американская консалтиноговая компания ищет DBA/Разработчика для работы в Москве. Необходимы хорошие знания по проектированию и администрированию Sybase ASE и знания разговорного английского. Предлагается достойная оплата 1500-2000$ в зависимости от собеседования. Подробности о вакансии желающие могут узнать на сайте SQL.RU, форум Работа или написав письмо arekhtman@kontakt.ru.

    До встречи в следующей рассылке, с уважением, ASCRUS.

    Материалы данной рассылки являются собственностью ее автора. При использовании информации из рассылки, ссылка на автора обязательна.




    Дата публикации: Monday 27 March 2006 16:20:39
    Материал прочитан: 22109 раз(а)
    [ Назад ]



    Продвижение сайтов
    Биржа ссылок

    Copyright©2005 phpMS. Все права защищены.
    hosted on pets-tree