SAP ASE (Adaptive Server Enterprise)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:20, 23 января 2019.
(перенаправлено с «Adaptive Server Enterprise»)
Open book.svg Авторство
К. А. Пронин
Согласовано: 23.01.2019
SAP ASE
SAP ASE title.png
Создатели: Sybase
Разработчики: SAP
Выпущена: 1987
Постоянный выпуск: 16.0
Написана на: C, C++
Операционная система: Windows, Linux, AIX, Solaris, HP-UX
Тип ПО: реляционная СУБД
Лицензия: проприетарная
Веб-сайт sap.com

SAP ASE (Adaptive Server Enterprise), первоначально известный как Sybase SQL Server, а также известный как Sybase DB или ASE, является реляционной СУБД, разработанной для бизнеса компанией Sybase, которая была частью SAP AG. ASE преимущественно используется на платформе UNIX, но также доступна для Microsoft Windows.

История [Источник 1]

Дата Версия Особенности
1987 г. Sybase SQL Server Для платформ UNIX.[Источник 2][Источник 3]
1988 г. SQL Server для IBM_OS/2 В разработке участвовали компании Sybase, Microsoft и Ashton-Tate. [Источник 4]
1992 г. SQL Server 4.2 Локализация и поддежка симметричных многопроцессорных систем.
1993 г. SQL Server 10.0 Входит в состав семейства продуктов System 10, который также включает резервный сервер, открытое клиент-серверное API, SQL Monitor, SA Companion и OmniSQL Gateway.
1995 г. SQL Server 11.0
1996 г. SQL Server 11.5 (Adaptive Server Enterprise) Добавлены асинхронная предварительная выборка; выражение case в sql; возможность использования оптимизатором нисходящего индекса, чтобы избежать необходимости в рабочих таблицах и сортировке; диспетчер логических процессов, позволяющий назначать приоритеты, присваивая атрибуты назначения.
1998 г. ASE 11.9.2 Поддержкой блокировки страниц данных, строк данных (блокировка на уровне строк), распределенных соединений и улучшенной производительности SMP. Теперь индексы могут быть

созданы в порядке убывания по столбцу, добавлен параметр readpast concurrency и повторная изоляция транзакции чтения. Добавлена опция тайм-аута блокировки и task-to-engine affinity, оптимизация запросов теперь задерживается до тех пор, пока курсор не будет открыт и значения переменных не будут известны.

1999 г. ASE 12.0 Поддержка Java, обеспечение высокой доступности и управление распределенными транзакциями. Добавлены слияния узлов, ранее все соединения были объединены вложенными циклами. Были добавлены ополнительные разделы кеша для повышения производительности.
2001 г. ASE 12.5 Динамическое распределение памяти, контейнер EJB, поддержка XML, SSL и LDAP. Также добавлены сжатые резервные копии, поддержка unichar UTF-16 и несколько логических размеров страниц 2K, 4K, 8K или 16K.
2005 г. ASE 15.0 Поддержка разбиения строк таблицы в базе данных на отдельных дисковых устройствах и «виртуальных столбцах», которые вычисляются только тогда, когда это необходимо. В ASE 15.0 многие параметры, которые были статическими (что требовало перезагрузки сервера для изменений), были сделаны динамическими (изменения вступают в силу немедленно). Это улучшило производительность и сократило время простоя. Например, одним из параметров, которые были сделаны динамическими, было «сохранение ленты в днях» (количество дней, в течение которых резервная копия хранится на ленточном носителе без перезаписи существующего содержимого в рабочей среде).
27 января 2010 г. ASE 15.5 Базы данных In-Memory и Relaxed-Durability, распределенное управление транзакциями в кластере с общим диском, более быстрое сжатие для резервных копий, а также поддержка Backup Server для IBM® Tivoli® Storage Manager. Были добавлены разрешение отложенного имени для пользовательских хранимых процедур, FIPS 140-2 Шифрование пароля для входа в систему, инкрементная передача данных, типы данных bigdatetime и bigtime и группы Data tempdb.
13 сентября 2011 г. ASE 15.7 Новые функции безопасности - группы конфигурации функциональных возможностей приложений, новое многопоточное ядро, сжатие больших объектов (LOB) и регулярных данных, сквозная CIS аутентификация Kerberos, двойной контроль ключей шифрования и автоматического запуска и расширения для регистрация логинов, ролей и управление паролями, профили входа, ALTER... modify owner, внешние пароли и скрытый текст, абстрактные планы в кэшированных выражениях, сокращение пространства логов, In-Row Off-Row LOB, использование текста Large Object, unitext, и типы изображений в хранимых процедурах, используя локаторы LOB в операторах Transact-SQL, выборка определенных блокированных строк для последующих обновлений в рамках одной транзакции, а также для обновляемых курсоров, Nonmaterialized, Non-null Columns со значением по умолчанию, полностью восстанавливаемым DDL, команда merge, расширенные строки с переменной длиной и специальными символами Unicode.
Апрель 2014 г. ASE 16 Блокировка разделов, поддержка CIS для HANA, ослабленные ограничения запросов, оптимизация плана запросов в сетях звездой, динамическое назначение потоков, полнотекстовый аудит, аудит для проверки авторизации внутри хранимых процедур, создание или замена функциональных возможностей, статистика запросов и статистика выполнения в HTML, сжатие индексов, полное шифрование базы данных, блокировка, блокировка времени выполнения, улучшение метаданных, поддержка нескольких триггеров, удаление остаточных данных, отслеживание истории конфигурации, CRC проверки дампа базы данных и способность вычислять темпы роста журнала транзакций за определенный период времени.

В 1993 году соглашение о совместном развитии между Microsoft и Sybase закончилось, и компании продолжали разрабатывать свои соответствующие версии программного обеспечения.

Sybase предоставляет низкоуровневые программные интерфейсы для своего сервера баз данных, который использует протокол под названием Tabular Data Stream. До версии 10 используется DBLIB (DataBase LIBrary). В версии 10 и далее используется CTLIB (ClienT LIBrary).

В июле 2010 года Sybase стала дочерней компанией SAP America.[Источник 5]

Структура

Одна отдельная установка ASE обычно включает один сервер данных и один соответствующий резервный сервер. При многосерверной установке многие серверы данных могут совместно использовать один сервер резервного копирования. Сервер данных состоит из системных баз данных и пользовательских баз данных. Минимальными системными базами данных, которые являются обязательными для нормальной работы сервера данных, являются «master», «tempdb», «model», «sybsystemdb» и «sybsystemprocs». База данных «master» хранит критическую относящуюся к системе информацию, которая включает в себя параметры входа, паролей и параметров передачи данных. «tempdb» используется для хранения данных, необходимых для промежуточной обработки запросов, и временных данных. «model» используется в качестве шаблона для создания новых баз данных. «sybsystemprocs» состоит из системных хранимых процедур, которые запрашивают системные таблицы и манипулируют данными в них.

ASE - это однопроцессорное многопоточное приложение dataserver.

Архитектура

Рисунок 1 - Архитектура ASE

Издания

SAP также имеет developer версию, которую можно использовать бесплатно для разработки (но не для использования). Он позволяет только 1 движек и 25 соединений. Существует экспресс-версия, которая ограничена 1 серверным движком, 2 Гб памяти и 5 ГБ дискового пространства на сервер. Это издание бесплатно для производственных целей

Варианты продукта

Platform edition
Безопасная гибкость развертывания за счет включения SAP ASE, SAP IQ и SAP Replication Server в одну модель лицензирования.

Enterprise edition
Мощные критически важные системы управления базами данных для единой среды узлов для крупных предприятий.

Express edition
Для создания приложения на бесплатной полнофункциональной лицензии для разработки и развертывания БД объемом до 50 ГБ.

Edge edition[Источник 6]
Доступное решение для развертывания небольших баз данных и приложений с процессорами до 8 ядер.

Обзор новых функций ASE 16[Источник 7]

Улучшения в скорости

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

Сжатие индексов

Оптимизация дисковых операций ввода-вывода оказывает огромное влияние на производительность СУБД, а сжатие – общепризнанный способ снизить количество этих операций, сократив при этом и расходы на хранение. Различные структуры БД тем не менее требуют специальных методов сжатия, чтобы обеспечить измеримые преимущества в производительности и стоимости. Предыдущие релизы SAP ASE обладали передовыми функциями сжатия данных строк, страниц, резервных копий БД и больших объектов, таких как XML-документы, картинки и видео. Теперь SAP ASE 16 поддерживает и сжатие индексов.

Улучшения в производительности запросов

Для улучшения работы под высокой нагрузкой на больших объемах SAP ASE 16 содержит ряд оптимизаций в области выполнения планов запросов:

  • Улучшение производительности оператора сортировки
  • Улучшение оператора хэш-соединения
  • Оптимизация плана запросов с соединениями типа «звезда»
  • Динамическое назначение потоков

Улучшения в масштабируемости

SAP ASE 16 предлагает беспрецедентный уровень масштабируемости для больших многопроцессорных SMP-серверов, обеспечивая оптимальное использование доступных вычислительных ресурсов и памяти. Как показали последние внутренние OLTP-тесты на сервере с 80 ядрами, SAP ASE 16 масштабируется линейно до уровня производительности более 1 миллиона одновременных транзакций в минуту. Эти результаты достигнуты SAP ASE 16 благодаря оптимизации управления работой в многопользовательском режиме, включая использование более эффективных и детализированных блокировок и задвижек. Также в нем более широко используется параллелизм для выполнения планов запросов и, благодаря оптимальному управлению разделяемыми внутренними ресурсами, снижена конкуренция за общие ресурсы. Эти улучшения позволяют SAP ASE 16 обеспечивать уровень масштабируемости, способный удовлетворять самым экстремальным требованиям предприятий к обработке транзакций.

Функции безопасности

  • Шифрование на уровне всей базы данных

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

  • Безопасное удаление данных

Гарантированное полное удаление данных без остаточных фрагментов.

  • Поддержка команды create or replace для объектов базы данных

Команда CREATE OR REPLACE создает новый объект или заменяет существующий с тем же именем. Условие OR REPLACE позволяет ASE удалить и пересоздать объект, если такой объект уже есть в базе. Работает для create procedure, create view, create function, create trigger, create default, create rule.

  • Полнотекстовый аудит

В аудите сохраняется полный текст операторов DML.

  • Изменения конфигурации

Отслеживание изменений в конфигурации сервера ASE.

Установка в Linux

ibm@ubuntu:~/Desktop/sybase$ ./setup.bin -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
strings: '/lib/libc.so.6': No such file
Launching installer...
exec: /tmp/install.dir.3299/Linux/resource/jre/bin/java: not found 

| Если возникла ошибка.

ibm@ubuntu:~/Desktop/sybase$ sudo apt-get install ia32-libs
[sudo] password for ibm:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package ia32-libs
ibm@ubuntu:~/Desktop/sybase$ sudo apt-get update
ibm@ubuntu:~/Desktop/sybase$ sudo apt-get install ia32-libs
ibm@ubuntu:~/Desktop/sybase$ ./setup.bin -i console
ibm@ubuntu:/opt/sybase/ASE-15_0$ . SYBASE.sh
ibm@ubuntu:/opt/sybase/ASE-15_0/init/sample_resource_files$ cat ASE1.srvbuild.adaptive_server.rs
sybinit.release_directory: USE_DEFAULT
sybinit.product: sqlsrv
sqlsrv.server_name: ASE1
sqlsrv.new_config: yes
sqlsrv.do_add_server: yes
sqlsrv.network_protocol_list: tcp
sqlsrv.network_hostname_list: ubuntu
sqlsrv.network_port_list: 5007
sqlsrv.application_type: USE_DEFAULT
sqlsrv.server_page_size: USE_DEFAULT
sqlsrv.force_buildmaster: no
sqlsrv.master_device_physical_name: /opt/sybase/data/master.dev
sqlsrv.master_device_size: USE_DEFAULT
sqlsrv.master_database_size: USE_DEFAULT
sqlsrv.errorlog: USE_DEFAULT
sqlsrv.do_upgrade: no 
sqlsrv.sybsystemprocs_device_physical_name: /opt/sybase/data/systemprocs.dev
sqlsrv.sybsystemprocs_device_size: USE_DEFAULT
sqlsrv.sybsystemprocs_database_size: USE_DEFAULT
sqlsrv.sybsystemdb_device_physical_name: /opt/sybase/data/sybsystemdb.dev
sqlsrv.sybsystemdb_device_size: USE_DEFAULT
sqlsrv.sybsystemdb_database_size: USE_DEFAULT
sqlsrv.tempdb_device_physical_name: /opt/sybase/data/tempdb.dev
sqlsrv.tempdb_device_size: USE_DEFAULT
sqlsrv.tempdb_database_size: USE_DEFAULT
sqlsrv.default_backup_server: PUT_YOUR_BACKUP_SERVER_NAME_HERE
#sqlsrv.addl_cmdline_parameters: PUT_ANY_ADDITIONAL_COMMAND_LINE_PARAMETERS_HERE
sqlsrv.do_configure_pci: no
sqlsrv.sybpcidb_device_physical_name: PUT_THE_PATH_OF_YOUR_SYBPCIDB_DATA_DEVICE_HERE
sqlsrv.sybpcidb_device_size: USE_DEFAULT
sqlsrv.sybpcidb_database_size: USE_DEFAULT
# If sqlsrv.do_optimize_config is set to yes, both sqlsrv.avail_physical_memory and sqlsrv.avail_cpu_num need to be set.
sqlsrv.do_optimize_config: no
sqlsrv.avail_physical_memory: PUT_THE_AVAILABLE_PHYSICAL_MEMORY_FOR_ASE_IN_OPTIMIZATION
sqlsrv.avail_cpu_num: PUT_THE_AVAILABLE_NUMBER_CPU_FOR_ASE_IN_OPTIMIZATION
ibm@ubuntu:/opt/sybase/ASE-15_0/init/sample_resource_files$
ibm@ubuntu:/opt/sybase/ASE-15_0/init/sample_resource_files$ srvbuildres -v
ibm@ubuntu:/opt/sybase/ASE-15_0/init/sample_resource_files$ srvbuildres -r ASE1.srvbuild.adaptive_server.rs

Запуск сервера

pwd   # текущая рабочая директория
cd  <directory_name_where_SYBASE.sh_present> #найдите SYBASE.sh в папке, куда установлен SYBASE ASE.
. SYBASE.sh   # запустите.
echo $SYBABE  #покажет, где создан $SYBASE для проверки, что SYBASE.sh отработал корректно.
cd $SYBASE/SYBASE_ASE/install 
        ls -ltr  # найдите RUN_server_file name.
startserver -f RUN_servername

Выключение сервера

Сервер должен быть запущен.

Для выключения сервера необходим sa_role.

shutdown будет ждать завершения всех запущенных процессов перед выключением.

shutdown with no wait не будет дождаться завершения процессов. Он немедленно их уничтожит.

Авторизация

  1. Запустите сервер
  2. Найдите $SYBASE/$SYBASE_ASE/install
  3. Используя утилиту isql получите доступ к Sybase ASE
Syntax:
isql -Ulogin name -Ppassword -Sservername
Example:
isql -Usa -P -SPROD_ASE

Инициализация устройства для базы данных

  1. Авторизуйтесь в Sybase ASE
  2. При создании для устройства необходимо указать роль
1>  sp_activeroles
2> go
Role Name
------------------------------------------------------------
sa_role
(1 row affected)
(return status = 0)
  1. Ниже приведен полный синтаксис для инициирования устройства. Вот как создать устройство c минимальным количеством параметров.
Example 1:
   disk init 
   name = 'data_dev1' ,             -- Logical Name
   physname = 'data_dev1.dat' ,     -- Physical Name
   size = '100M'              -- Size, here size is 100 MB.
Example 2:
  disk init 
  name = 'log_dev1' ,             -- Logical Name
  physname = 'log_dev1.dat' ,     -- Physical Name
  size = '25M'                 -- Size, here size is 25 MB.

Создание базы данных

  1. Авторизуйтесь
  2. Создайте устройства для базы данных и логирования
  3. Проверка свободного места устройства для создания базы данных [устройство базы данных]
1> use master
2> go --- You must be in master database to execute command.
1> sp_helpdevice 'data_dev1'
2> go
device_name            physical_name              description                                                                
status        
cntrltype          vdevno       vpn_low        vpn_high         
 ---------------------- -------------------------- ------------------------------------------------------------------------ 
data_dev1                  data_dev1.dat                   file system device, special, dsync off, directio on, physical disk, 100.00  
MB, Free: 100.00 MB                                                                                                 2           
0               4             0            6143         
(1 row affected)

 -- dev1 device total space is 100 MB and free space is 100 MB.
  1. Проверка пространства устройства для создания базы данных [устройство логирования]
1> sp_helpdevice 'log_dev1'                           
2> go
device_name            physical_name              description                                                                
status       
cntrltype          vdevno       vpn_low        vpn_high         
---------------------- -------------------------- -------------------------------------------------------------------------
log_dev1                   log_dev1.dat                   file system device, special, dsync off, directio on, physical disk, 25.00 
MB, Free: 25.00 MB                                                                                                  2         
0               5             0           10239         
(return status = 0)
-- log_dev1 total space is 25 MB and free space is 25 MB. 
  1. Создание базы данных
1> create database db1 on data_dev1='6M' log on log_dev1='4M'
2> go
00:00:00000:00011:2012/03/24 03:46:49.86 kernel  Setting console to nonblocking mode.
 00:00:00000:00011:2012/03/24 03:46:49.86 server  Timestamp for database 'db1' is (0x0000, 0x00001428).
CREATE DATABASE: allocating 3072 logical pages (6.0 megabytes) on disk 'data_dev1' (3072 logical pages requested).
CREATE DATABASE: allocating 2048 logical pages (4.0 megabytes) on disk 'log_dev1' (2048 logical pages requested).
Database 'db1' is now online.
--db1 database crated 6MB space on data_dev1 and 4MB space on log_dev1.
  1. Справочная информация по базе данных
1>  sp_helpdb 'db1'
2> go
name     db_size                    owner      dbid     created                  durability           status                 
-------- -------------------------- ---------- -------- ------------------------ -------------------- ---------------------
------- 
db1            10.0 MB              sa            4     Mar 24, 2012             full                 no options set         
(1 row affected)
device_fragments                                             size                       usage                                
created                                            free kbytes                      
------------------------------------------------------------ -------------------------- -----------------------------------
data_dev1                                                                6.0 MB              data only                            
Mar 24 2012  3:46AM                                            4416                 
log_dev1                                                                4.0 MB              log only                             
Mar 24 2012  3:46AM                                not applicable                   
---------------------------------------------------------------------------------------------------------------------------- 
log only free kbytes = 4066                                                                                                  
(return status = 0)
--Total database size is 10MB. 6MB for data and 4MB for log device.

Источники

  1. Adaptive Server Enterprise // Wikipedia. Дата обновления: 8.11.2018 [2018-2018]. URL: https://en.wikipedia.org/wiki/Adaptive_Server_Enterprise (дата обращения: 19.11.2018)
  2. Litchfield, David (2005). The Database Hacker's Handbook: Defending Database Servers. Hungry Minds. p. 196. ISBN 8126506156. 
  3. Gunderloy, Mike; Sneath, Tim (2001). SQL Server's Developer's Guide to OLAP with Analysis Services. SYBEX. p. 26. ISBN 0782153178. 
  4. Harris, Scott; Curtis Preston (2007). Backup & Recovery: Inexpensive Backup Solutions for Open Systems. O'Reilly. p. 562. ISBN 0596102461. 
  5. Пресс-релиз Sybase & SAP // Информационный портал Prnewswire. Дата обновления: 04.05.2018 [2018-2018]. URL: http://www.prnewswire.com/news-releases/sap-completes-acquisition-of-sybase-inc-99612339.html (дата обращения: 11.12.2018)
  6. https://www.sap.com/documents/2016/06/0cb0ed17-767c-0010-82c7-eda71af511fa.html Доступные издания SAP ASE: перечень изданий и список возможностей // Официальный сайт SAP. Дата обновления: 02.10.2018 [2018-2018]. URL: https://www.sap.com/documents/2016/06/0cb0ed17-767c-0010-82c7-eda71af511fa.html (дата обращения: 10.12.2018)
  7. SAP® Adaptive Server® Enterprise 16. Обзор новых функций // Официальный сайт Sybase. Дата обновления: 23.10.2018 [2018-2018]. URL: https://www.sybase.ru/system/files/pdf/sap_sybase_ase_16_new_features.pdf (дата обращения: 22.11.2018)