Керівництво з технічної оцінки продукту SQLBase від компанії Gupta Technologies. Частина 2, Резервне копіювання, Різне, статті

початок статті


Частина 2 – Захист серверів і баз даних, права на доступ до бази даних


В даний час у всіх компаніях велику роль грають повноваження на доступ і безпека баз даних, так як все більше додатків отримують доступ до конфіденційної інформації. SQLBase TE 56 і SQLBase TE 128 забезпечують абсолютний захист від несанкціонованого доступу до даних. Можна використовувати шифрування на рівнях сервера, бази даних та сторінки бази даних, що забезпечує кращу безпеку передачі даних серед аналогічних продуктів на ринку баз даних.

Повноваження на доступ до бази даних


Повноваження на доступ визначають користувачів, яким дозволений доступ до бази даних і набір операцій, можливих після підключення до бази даних. СУБД SQLBase управляє доступом за допомогою імен користувачів і паролів. Далі наводиться список 4 рівнів користувачів, що є в SQLBase.

Рівні повноважень на доступ організовані в ієрархічному порядку і призначені для суворо контролю доступу до даних:


Безпека баз даних і серверів


SQLBase TE 56 і TE 128 забезпечують безпеку на всіх рівнях процесу клієнт / сервер. До числа функціональних можливостей відносяться:


Більш високий рівень безпеки серверів


На рівні сервера SQLBase TE 56 забезпечує два типи безпеки:


За допомогою паролів підключення до сервера можна задати пароль у файлі конфігурації GUPTA, а потім задати пароль на підключення до сервера для виконання адміністративних операцій. Це дозволяє виключити виконання неавторизованими користувачами руйнують операцій на сервері.

Підключення до сервера дозволяє виконувати наступні операції:


Паролі сервера забезпечення безпеки


На додаток до можливості виконання всіх адміністративних операцій, дозволених після введення пароля підключення до сервера, пароль забезпечення безпеки сервера дозволяє SQLBase TE 56 і SQLBase TE 128 шифрувати бази даних і виявляти несанкціоновані зміни сторінок. Поки не буде встановлено пароль захисту, в SQLBase TE не можна створювати зашифровані бази даних або отримувати до них доступ.

Для настройки сервера забезпечення безпеки необхідно до нього підключитися і задати пароль. Потім слід підключитися до бази даних, яку потрібно зашифрувати, і вказати ключ шифрування бази даних. Потім в SQLBase TE можна виконувати шифрування бази даних.

При наступному запуску сервера SQLBase TE автоматично встановлює і дозволяє доступ до незашифрованому баз даних, зашифровані бази даних не встановлюються. Необхідно підключитися до сервера і ввести пароль сервера забезпечення безпеки. Після цього SQLBase встановлює зашифровані бази даних і дозволяє користувачам до них підключатися. Після відключення зашифровані бази даних доступні для підключення користувачів.

Удосконалена технологія перевірки паролів


Захист від програм підбору паролів в SQLBase TE використовує вдосконалену технологію перевірки паролів. Коли SQLBase TE визначає неправильний пароль або ім’я користувача, то виконується затримка відповіді зухвалому. При правильному підключенні затримки не відбувається. Термін “пароль” відноситься як до підключення до бази даних, так і до підключення до сервера. При кожному введенні неправильного пароля SQLBase TE збільшує час затримки незалежно від джерела введення пароля. Час затримки зменшується тільки після певного періоду часу, протягом якого не було спроб введення неправильного пароля.

Шифрування сторінок баз даних


Пароль сервера забезпечення безпеки забезпечує доступ до зашифрованих SQLBase TE баз даних. При шифруванні бази даних використовується ключ шифрування, що дозволяє виключити методи доступу до збережених даними. У кожної бази даних може бути свій ключ шифрування і рівень безпеки.

Рівні безпеки баз даних відповідають типу шифрування, використовуваного для приховування інформації, що зберігається в базі даних. Вибір методу шифрування є компромісом між продуктивністю і складністю злому шифру. У SQLBase є чотири рівня безпеки: None (немає) – стандарт SQLBase (без шифрування), Low (низький) – стандарт SQLBase (криптограма), Medium (середній) – SQLBase TE 56 (56-бітове шифрування за алгоритмом DES), High (високий) – SQLBase TE 128 (те саме, що і для SQLBase TE, але з використанням 128-бітного шифрування потрійного за алгоритмом DES).

Рівень безпеки бази даних задається за допомогою команди ALTER DBSECURITY. При використанні шифрування бази даних SQLBase TE зберігає сторінки бази даних на диску в зашифрованому вигляді. Дешифрування є прозорим для клієнта.

Захист сторінок баз даних від зміни


Захист сторінок бази даних від зміни в SQLBase TE використовується для визначення змін даних несанкціонованим способом.

Є три рівні захисту від зміни сторінок бази даних: ні захисту, 16-бітний контроль надлишкового коду (CRC) і алгоритм SHA. Рівень захисту сторінок бази даних від змін задається за допомогою команди ALTER DBSECURITY.

Як і у випадку різних рівнів шифрування, захист сторінок також представляє собою компроміс між ефективністю і захистом. Більш високі рівні шифрування дуже чутливі до змін сторінок, тому якщо передбачається, що для захисту даних досить шифрування, то можна не використовувати захист сторінок бази даних від змін середнього та високого рівнів.

Безпечна передача даних


Безпечну передачу даних можна використовувати між клієнтами і серверами SQLBase для запобігання можливості перегляду даних під час пересилання неавторизованими користувачами.

Безпечна передача даних не залежить від шифрування та захисту сторінок бази даних від зміни. Безпечну передачу даних можна використовувати автономно або в комбінації з іншими методами захисту. Використання безпечної передачі даних не вимагає завдання пароля сервера забезпечення безпеки.

Частина 3 – Розробка додатків за допомогою SQLBase


У попередньому розділі розглядалися основні функціональні можливості реляційних баз даних, реалізовані в СУБД SQLBase. У даному розділі описуються різні методи доступу та використання цих функціональних можливостей за допомогою різних інтерфейсів прикладного програмування (API) і інструментів, доступних у SQLBase.

Інтерфейси програмування


SQL / API – ключ до створення кращих програм


Основою відкритості програмування в SQLBase є SQL / API – великий і детально документований набір функцій, що дозволяє повністю контролювати доступ до даних і їх маніпулюванням, а також операціями на сервері. Це дозволяє додаткам використовувати всі функціональні можливості, що надаються інструментарієм SQLBase (наприклад, консоллю SQLConsole), і забезпечує можливість розробляти багатофункціональні автономні програми.

Можливість програмного керування функціями адміністратора бази даних важлива для додатків, розгорнутих в мобільному або ізольованому оточенні, тому що дозволяє безперешкодно інтегрувати в програми операції з обслуговування баз даних або навіть повністю приховувати їх від користувача.

SQLBase надає інтерфейс у вигляді бібліотек DLL для доступу з будь-яких стандартних інструментальних засобів розробки Windows і у вигляді Shared Object (загальні об’єкти) для доступу з додатків Linux.


Стандартизоване підключення за допомогою інтерфейсу ODBC


ODBC представляє собою стандартний інтерфейс доступу до баз даних. Тому компанія GUPTA включила в SQLBase драйвер ODBC для Windows і Linux.

Будь-яке клієнтське програмне забезпечення (Visual Basic, Crystal Reports і ін в Windows, Perl і PHP в Linux) може використовувати драйвер ODBC для доступу до SQLBase.

Постачальник OLEDB для Windows


OLE DB для взаємодії з SQLBase дозволяє використовувати будь-яку мову, підтримує модель COM. Фактично OLE DB являє собою стандарт доступу до баз даних.

OLE DB забезпечує більш швидкий доступ і володіє більшою функціональністю в порівнянні з ODBC. Наприклад, Visual Studio для доступу до SQLBase може використовувати постачальник OLE DB від SQLBase.

Відкрита платформа розробки з JDBC


З появою Java міжплатформна програми стали реальністю. Таким додатків необхідний прямий доступ до баз даних, і для цього в SQLBase використовується Java драйвер JDBC (4 рівні), що забезпечує доступ до SQLBase будь-яким Java додатків на будь-якій платформі.

Нижче перераховані переваги такої реалізації:


Використовуючи цей інтерфейс, розробники можуть створювати переносних незалежні аплети, додатки і серверні компоненти, що працюють з базами даних.

Власний постачальник даних. NET


У SQLBase постачальник даних. NET за допомогою об’єктної моделі ADO.Net забезпечує підключення до SQLBase останньої версії інтерфейсу IDE від компанії Microsoft і відповідних мов.

Програмування серверних додатків


У SQLBase для всіх серверних платформ, включаючи Linux, надається SQL / API. Це дозволяє розробникам створювати програми, які працюють на тому ж сервері, що і SQLBase, і підключатися до системи управління базами даних. Розробники можуть створювати серверні компоненти, що виконуються на будь серверній платформі, що має велике значення для багатоланкових розподілених архітектур. Можливість безпосереднього запуску додатків на сервері забезпечує ряд переваг: не потрібен вирішувати цю задачу в клієнтському додатку, не витрачаються мережеві ресурси, підвищена безпека і стабільність.

Оптимізація програм з графічним інтерфейсом


Вимоги, що пред’являються графічними додатками, виходять за рамки стандартних функцій, пропонованих більшістю сучасних SQL серверів баз даних. Спочатку архітектура таких серверів розроблялася для підтримки програм, що запускаються з командного рядка, які в той час були дуже популярні. СУБД SQLBase спочатку розроблялася з набором функцій, що задовольняють потреби розробників клієнт / серверних додатків з точки зору автономних або пов’язаних тільки з запитами функціональних можливостей. Однак суть архітектури клієнт / сервер – це робота в многопользовательском оточенні, але і тут SQLBase володіє спеціальними архітектурними можливостями, які забезпечуються механізмом контролю версій записів (row versioning) – основою технології SQLBase, – який саме для цього був створений.

Збереження контексту курсору


Для досягнення максимально можливого рівня паралелізму, усі додатки баз даних повинні фіксувати або скасовувати оновлення як можна швидше, зменшуючи до мінімуму інтервал часу, протягом якого іншим користувачам заблокований доступ до оновлюваних даних. У більш стандартних SQL СУБД, таких як IBM DB2, фіксація змін викликає втрату всієї інформації про контекст для кожного курсора, використовуваного у додатку. Для відновлення такої втрати потрібні значні зусилля, як при програмуванні програми, так і під час роботи бази даних. Зазвичай в таких випадках доводиться повторно робити витяг (Fetch) великої кількості даних, а серверу бази даних необхідно перекомпілювати складні команди.

Функція збереження контексту курсору в SQLBase повністю позбавляє від такого зайвого програмування і отримання даних. Збереження контексту курсору означає, що після фіксації транзакції можна продовжувати використовувати всі курсори. Це особливо корисно в поєднанні з SQLBase функцією позиционируемого курсору, що дозволяє користувачам продовжувати переміщатися по результуючим множинам (result sets) без потреби знову вибудовувати результуючі безлічі і знову витягати дані до поточної позиції. В результаті значно скорочується мережевий трафік і зменшується завантаження сервера.

Тип даних LONG


SQLBase підтримує необмежений розмір типу даних LONG. Двійкові дані можуть зберігатися в стовпці таблиці. Така можливість важлива для зберігання растрових зображень, документів текстових процесорів або цифрових записів. На відміну від багатьох конкуруючих продуктів, СУБД SQLBase не накладає обмеження на кількість стовпців типу LONG в одній таблиці. Крім того, SQLBase значно швидше за своїх конкурентів читає і записує дані типу LONG.

Без такої функції малюнки або цифрову мовну інформацію не можна було б зберігати в базі даних, графічним додатками доводилося б записувати ці дані в зовнішні файли. Такими файлами складно управляти, і, крім того, втрачаються переваги від використання можливостей СУБД по паралельній обробці та вилучення даних.

Оптимістичне блокування та контроль версій записів


Такі функції SQLBase, як позиціонуються результуючі безлічі, гнучкі рівні ізоляції (isolation levels) та повідомлення про оновлення (update notification) є аспектами цілісного, інтегрованого підходу до роботи в режимі клієнт / сервер і до доступу до баз даних. Ключовим поняттям архітектури є поняття ідентифікатора рядка ROWID. Цей термін використовується іншими виробниками СУБД, але його реалізація в SQLBase унікальна.

Як і в інших реляційних СУБД, дані в SQLBase зберігаються в рядках. До значенням полів кожного рядка додається псевдо-поле ROWID, яке підтримується базою даних. Воно однозначно ідентифікує рядок в базі даних. З цього поля можна витягувати значення, але змінювати його може тільки база даних. Псевдо-поле ROWID використовується всередині системи для роботи з результуючими множинами, програми його можуть використовувати як ключ для стратегії оптимістичного блокування.

Конкретне значення ROWID фактично складається з ряду складових – воно записує не тільки фізичне положення рядка в базі даних, але також включає серійний номер, який послідовно збільшується з кожною зміною даних рядка. Це дає наступні переваги:

Швидкість доступу. Оскільки ROWID містить інформацію про становище рядка в базі даних, доступ до рядка за її ROWID забезпечує більш високу швидкість маніпуляцій даними в базі (оновлення, видалення та витяг). Однаковий стиль програмування додатків. Для оновлення однієї вибраної рядка завжди можна використовувати ROWID, а не визначати унікальний ключ.

Повідомлення про оновлення. ROWID завжди змінюється при зміні рядка. Суть полягає в тому, що додатки, що використовують ROWID, за характером його зміни, можуть визначити, що робити з даними зміною. Далі в цьому розділі ця перевага описано докладно.

Позиціонуються курсори і результуючі набори


Взаємодія програм з реляційною базою даних пов’язано з отриманням даних і поданням цих даних користувачам. Повний набір рядків, що формує результат запиту, називається результуючим набором. На додаток до оптимізації способу визначення рядків, які формують результуючий набір, SQLBase також оптимізує доступ до значень, запитуваних користувачем.

Коли додаток виконує запит до бази даних SQLBase, ця база даних не повертає відразу ж всі дані клієнта. Результати навіть не збираються на сервері. Замість цього, SQLBase на основі обраного шляху доступу створює список ідентифікаторів ROWID рядків, які відповідають критерію запиту. Створення такого списку виконується значно швидше, ніж вилучення всіх даних, яке, можливо, викликає додаткову навантаження на ресурси комп’ютера при обчисленні похідних полів. Потім, коли програма запитує рядки з результуючого набору, SQLBase витягує рядки з таблиць, що становлять базу, і збирає результуючий набір, щоб повернути його клієнтського додатку, буфер за буфером. Внаслідок цього витяг кожного рядка виконується відносно швидко.

Оптимізація продуктивності SQLBase обумовлена ​​наступними факторами:


Така обробка виконується в SQLBase автоматично і прозоро. Розробникам додатків не доводиться про це турбуватися, вони просто використовують готові результати.

Вдосконалені рівні ізоляції


Традиційна пакетна обробка чи програми командного рядка підштовхують до того, щоб дати користувачеві можливість вибрати окремий запис (як правило, на основі визначеного критерію), внести зміни до цього запису та / або в пов’язані з нею записи, зафіксувати транзакцію і продовжити роботу. У такій ситуації база даних, як правило, забороняє іншим користувачам змінювати дані, які в Зараз переглядає перший користувач – так званий “песимістичний” підхід до блокування.

У ситуаціях, де така форма блокування виправдана, SQLBase підтримує такий же рівень ізоляції, який реалізований в IBM DB2 Database Manager:

Повторюваність читання (RR)


Цей рівень ізоляції представляє користувачеві узгоджений вигляд усіх даних, і цей рівень встановлено за умовчанням. Інші користувачі не можуть змінити дані незалежно від частоти їх зчитування або оновлення в поточному додатку. У SQLBase такий рівень ізоляції досягається за допомогою автоматичної монопольної блокування (exclusive lock) всіх оновлюваних даних і розділяється блокування (share lock) всіх зчитувальних даних. Максимальна узгодженість даних забезпечується за рахунок паралелізму роботи користувачів. Через монопольної і розділяється блокувань іншим додаткам доведеться чекати завершення роботи поточного додатка.

Стабільність курсору (CS)


Механізм стабільності курсора аналогічний блокуванні RR, за винятком того, що колективна блокування знімається з рядка при “зміщення” з неї курсора. Стабільність курсора забезпечує поліпшений паралелізм в порівнянні з повторюваністю читання, але узгодженість даних зменшується, оскільки колективна блокування знімається відразу після переміщення з рядка курсору. При отриманні даних більше одного разу користувач може бачити зміни даних, що виконуються іншими користувачами.

Хоча ці рівні ізоляції мають свою область застосування, багато графічні додатки дають можливість переглядати набагато більші обсяги даних, пошук яких здійснюється непередбачуваним чином по примхи користувача, і які залишаються “відкритими” для порівняння або інтерпретації. Таке використання даних посилює конфлікти, викликані багатокористувацьким доступом і властиві традиційним моделям блокування. Інші виробники СУБД намагалися поліпшити паралелізм в рамках песимістичній моделі, просто зменшуючи рівень гранулярність блокувань, що застосовуються до даних. Такий підхід фактично не вирішує проблему, оскільки конфлікти все ж можуть відбуватися. Крім того, при такому підході виникає значна зайве навантаження, і, як наслідок, може знизитися продуктивність.

У SQLBase ці проблеми вирішені за допомогою механізму “оптимістичній” блокування.

Звільнення блокування (RL)


Оптимістичне блокування використовує зовсім інший підхід, значно скорочуючи час блокування. Роздільна блокування застосовується тільки до тих даними, розмір яких досить великий для даних, зчитувальних з бази. Як тільки управління повертається додатком, знімаються всі блокування даних. Це дозволяє додаткам вільно переглядати дані з упевненістю, що ніякі дані не будуть заблоковані надовго.

Лише читання (RO) – Можливість виконання узгодженого запиту без блокування


Нарешті, тим частинам додатків, яким потрібна переглядати великі кількості даних і яким треба зберігати узгодження даних на час операції, але не треба виконувати оновлення (наприклад, при пакетному створенні великих звітів), SQLBase надає рівень локалізації “тільки читання”.

Цей рівень гарантує, що курсору “чистого” запиту не доведеться чекати інші програми, що ніяке інше застосування, оновлюються дані, не буде чекати додаток, що тільки отримує дані. Таким чином, повністю виключаються взаємні блокування.

Повідомлення про оновлення та безпека


Програми, як правило, відображають значну кількість даних, витягнутих з бази, і дозволяють користувачам змінювати мале підмножина цих даних. У цьому випадку рівень локалізації звільнення блокування доводить до максимуму паралелізм, навіть в многопользовательском оточенні, хоча якщо програма не здатне визначити таку ситуацію, може виникати проблема “втрати результатів оновлення”. (Проблему втрати результатів поновлення найкраще проілюструвати наступним прикладом: користувач 1 переглядає запис, користувач 2 змінюється її, потім користувач 1 змінюється запис і зберігає її в базі даних, перезаписуючи зміни, зроблені користувачем 2). На щастя, SQLBase надає надійне і просте рішення, засноване на ідентифікаторі ROWID і зване механізмом повідомлення про оновлення (Update Notification).

Якщо користувач вирішує оновити якусь рядок, додаток може використовувати її ROWID, щоб за допомогою включення ROWID в інструкцію WHERE вказати SQLBase, яку саме рядок оновлювати. Це не тільки є виключно швидкою дією, але, крім того, коли оновлення рядки було зроблене після її останнього вилучення, SQLBase повідомить додаток про те, що було проведено оновлення і не дасть додатком виконати оновлення такого рядка. SQLBase також вкаже додатком, чи була рядок змінена або ж видалена іншим користувачем.

Утиліти розробки


SQLTalk


SQLTalk (для Windows і Linux) являє собою зручний, надійний і гнучке інструментальне засіб для виконання SQL команд. SQLTalk можна писати, тестувати, зберігати або запускати окремі команди або цілі сценарії. Дана утиліта ідеально підходить для роботи адміністратора бази даних і тестування операторів SQL.

На відміну від конкуруючих інструментальних засобів, в утиліті SQLTalk є можливість виконання окремих операторів у складі сценарію або виконання сценарію з заданої точки. Використання цієї утиліти в поєднанні з вбудованою в SQLBase можливістю відкоту DDL (наприклад, в операторах CREATE TABLE) забезпечує високопродуктивний спосіб розробки сценаріїв, які зберігаються процедур і тригерів.


Аналіз запитів


У SQLBase можна відобразити фактичний план, який використовується для даного запиту, для того, щоб розробники додатків могли визначити, що виконує оптимізатор запитів. Це можна зробити за допомогою SQL / API або SQLTalk.

Таку функція особливо корисна, якщо використовується разом з аналізатором продуктивності, про який мова піде нижче. Можна виявити запити, які виконуються довше очікуваного часу, і за допомогою SQLTalk виробити план оптимального виконання програми.


Інтернаціоналізація (підтримка національних мов)


У СУБД SQLBase в якості стандартного мови використовується англійська, але СУБД також підтримує безліч інших мов, включаючи мови, якими розмовляють в Європі та Азії. Для даних, що містяться в базі, можна визначити наступні атрибути:


Визначення для кожного окремого мови повинні вбудовуватися в структуру кожної визначеної бази даних при її ініціалізації. Для найбільш поширених мов партнерами компанії GUPTA вже створені і доступні різні визначення мов, включаючи визначення для французької, німецької, іспанської та італійської мов. Текст повідомлень про помилки SQLBase також можна адаптувати до мов, відмінним від англійського. Такий текст динамічно зчитується з ASCII файла, який можна перевести на потрібну мову.

Частина 4 – Розгортання програм за допомогою SQLBase


Компанія GUPTA спеціально розробила СУБД SQLBase для розгортання в оточенні при відсутності адміністратора бази даних, здатного встановити та обслуговувати базу даних. Результатом такої філософії проектування став продукт, який легко встановлювати і налаштовувати, і практично не вимагає втручання у міру експлуатації, що дозволяє знизити витрати на планове обслуговування і нерегламентована підтримку.

У даному розділі описуються інструментальні засоби і функції, що дозволяють легко встановлювати і обслуговувати СУБД SQLBase. У SQLBase для автоматичної обробки функцій використовуються економічні механізми, тоді як інші системи управління баз даних вимагають присутності висококваліфікованих адміністраторів бази даних. Проблеми, що вимагають втручання адміністратора бази даних, були завчасно вирішені ще при розробці SQLBase. Всіма найважливішими функціями можна керувати за допомогою інтерфейсу SQL / API або консолі SQLConsole.


Установка


Для багатофункціональних реляційних баз даних, в порівнянні з багатьма конкурентами, установка SQLBase виконується дивно просто, при цьому в SQLBase 9.0 використовуються нові рівні зручності використання і гнучкості для Windows і Linux.

Адміністратор підключення GUPTA


Дана утиліта Windows запускається автоматично і допомагає виконати процес установки. Після установки, якщо буде потрібно змінити конфігурацію підключення, утиліту можна запустити з меню “Програми”. Адміністратор підключення полегшує процес конфігурування налаштувань сервера SQLBase і підключення клієнтського застосування і включає можливість перевірки такого підключення способом, не залежних від інструментальних коштів.

OEM пакет установки з вбудованим пакетом розгортання (EDP)


Для розробників, які встановили OEM зв’язку з компанією GUPTA, і яким необхідно тісно інтегрувати SQLBase в свої програми, додаються образи дисків з вихідним кодом інсталятора. За допомогою цих образів можна створити окремі компакт-диски з налаштованими параметрами установки або можна повністю сховати установку SQLBase, вибравши опцію “silent”, керовану параметрами командного рядка.

Параметри конфігурації


Служби Windows або демон Linux


Для додатків на основі робочих груп і веб-серверів потрібні рівень стійкості, який може забезпечити тільки справжня інтеграція з операційною системою. SQLBase дозволяє домогтися такої інтеграції за допомогою опції запуску в якості служби Windows або демона Linux. Після конфігурування SQLBase автоматично запускається як частина операційної системи і не вимагає реєстрації користувача в системі. У поєднанні з функцією автоматичного відновлення після збоїв SQLBase забезпечує високий рівень доступності, при якому не потрібне втручання у разі відновлення після відключення електроживлення.

Невидимі операції


Основною вимогою до вбудованих баз даних, що розподіляється разом з додатками, є можливість конфігурування їх запуску в режимі невидимості для користувачів (відсутність вікон, оболонки або значка на панелі завдань). СУБД SQLBase забезпечує можливість використання такого режиму на всіх платформах.

Автоматичне адміністрування за допомогою консолі SQLConsole


SQLConsole є повністю графічним засобом управління базами даних для адміністрування і моніторингу продуктивності SQLBase. Консоль надає виняткову простоту використання і дозволяє виконувати всі операції, необхідні для створення, обслуговування та адміністрування баз даних SQLBase і серверів без необхідності написання SQL коду. Копія консолі поставляється з кожним сервером SQLBase.

Консоль SQLConsole можна запускати на Windows-серверах (включаючи однокористувацький системи) або на клієнтських робочих станціях з можливістю віддаленого управління. SQLConsole дозволяє контролювати всі необхідні функції SQLBase за допомогою узгодженого графічного інтерфейсу, консоль розроблена як засіб допомоги при розробці програм, так і в якості інструментального засобу для адміністраторів баз даних.

За допомогою консолі можна додавати користувачів, створювати і розміщувати синоніми, змінювати тригери, компілювати збережені процедури і т.д. Для швидкої розробки додатків є можливість переглядати дані в таблицях і редагувати їх безпосередньо по місцю.

SQLConsole володіє безліччю інших функцій, що полегшують адміністрування баз даних, включаючи завантаження / розвантаження баз даних, підключення або відключення сервера, функції розкладу та аварійної сигналізації, моніторинг продуктивності та ін

Моніторинг бази даних і сервера


SQLConsole здійснює моніторинг з допомогою “поглибленої” методології. Загальна тенденція дій може спостерігатися на рівні дії; статистичні дані на цьому рівні є глобальними для сервера. При виявленні проблеми користувач може зосередитися на базі даних, процесі, курсорі або вікні блокування. Статистичні дані передаються з вікна дій у вікна процесу і курсору, що дозволяє адміністратора бази даних виявити проблему на рівні певного користувача або курсора.

Крім надання інформації в табличній формі для відповідних даних надаються вбудовані діаграми та реєстрація в файлах журналів.


Диспетчер аварійної сигналізації


У SQLBase не потрібно постійний моніторинг, що виконується вручну. Замість цього за допомогою диспетчера аварійної сигналізації (Alarm Manager) консолі SQLConsole використовуються повідомлення про проблеми (реальних або можливих). Диспетчер аварійної сигналізації дозволяє задати порогові значення для різних значущих метрик бази даних, наприклад:


Можна визначити набір аварійних попереджень, щоб при досягненні окремої метрикою порога генерувалося перше аварійне попередження. Якщо аварійна ситуація триває більше заздалегідь визначеного інтервалу часу, видається наступне аварійне попередження і т.д. Аварійні попередження можуть видаватися в різній формі, наприклад:


Наприклад, диспетчер аварійної сигналізації дозволяє запрограмувати виконання коригувальної дії (у вигляді сценарію), і якщо ситуація не зміниться, буде надіслано повідомлення на пейджер і відправлено повідомлення з підтвердженням електронною поштою.

Планувальник


Планувальник (Schedule Manager) дозволяє планувати різні типи обслуговування і періодичних виконувати їх без втручання користувачів. Таке обслуговування включає створення резервних копій, перевірку цілісності бази даних, оновлення статистичних даних для оптимізатора на основі витрат і запуск сценаріїв, що виконують команди операційної системи, тобто планувальник охоплює практично всі види обслуговування.

Якщо плановане подія, наприклад, створення резервної копії, виконано зі збоєм, то викликається описаний вище диспетчер аварійної сигналізації. Крім того, планувальник веде журнал обліку подій із зазначенням успішного або неуспішного виконання кожної події. Якщо в зазначений день виконується яка-небудь подія або якщо під час виконання відбувається збій, відразу ж виводиться календар з коротким описом. Для визначення серйозності проблеми можна переглянути детальну інформацію про події в конкретний день.

Віддалене адміністрування


Консоль SQLConsole розроблена для запуску в якості клієнтського додатку, підключеного до серверу по мережі з протоколом LAN, WAN, RAS, внутрішньої або загальнодоступної мережі. Завдяки цьому адміністратор бази даних може виконувати адміністрування баз даних в будь-якому місці, де є підключення до мережі, – локально або віддалено.

Резервне копіювання і відновлення бази даних


Для будь-якої системи управління базами даних важливим є механізм повного і ефективного резервного копіювання і відновлення даних. СУБД SQLBase спочатку розроблялася з урахуванням такого механізму.

На додаток до можливості інтерактивного інкрементного резервного копіювання, також можливе повне інтерактивне резервне копіювання, що забезпечує необхідну гнучкість для успішного і прозорого управління.

Описані механізми застосовні до всіх платформ і конфігураціях, на яких встановлена ​​СУБД SQLBase, починаючи від портативних комп’ютерів і аж до виділених серверів, і забезпечуючи при цьому узгодження і масштабованість.

Інкрементний резервне копіювання і відновлення


Для запису всіх змін, зроблених в базі даних, SQLBase використовує одну послідовність файлів журналу транзакцій. За допомогою розміщення цих файлів журналів на різних фізичних дисках адміністратори баз даних можуть підвищити стійкість бази даних у разі збою носія.

Замість щоденного резервного копіювання всієї бази даних, адміністратори баз даних можуть вибрати варіант щотижневого резервного копіювання всієї бази даних і щоденного резервного копіювання файлів журналу. Якщо доведеться відновлювати бази даних, адміністратор бази даних просто відновлює її з останньої резервної копії. Потім використовуються збережені файли до точки виникнення збою, включаючи файли журналу, для яких резервне копіювання не виконувалося, при цьому файли витягуються з носія, на якому вони як і раніше читаються. Такий підхід дозволяє зменшити вимоги до дискового простору при кількох операціях резервного копіювання.

Метод відновлення бази даних SQLBase включає параметр ‘ROLLFORWARD TO TIME’, що дозволяє “виключити” зміни бази даних, зроблені при виникненні помилки, без втрати змін, зроблених до помилки.

Оперативний або автономний режим


Постійно працюють користувачам SQLBase дозволяє виконувати повні “знімки” резервних копій, резервних копій бази даних або резервних копій журналу транзакцій без відключення користувачів від бази даних і переривання виконання транзакцій. В якості альтернативи в SQLBase можна виконувати резервне копіювання за допомогою утиліт рівня операційної системи, коли сервер знаходиться в автономному режимі.

Безпечно і просто


Стандартне виконання резервного копіювання в SQLBase ідеально підходить для вбудованих рішень, тому що воно просте, ефективне і не вимагає обслуговування. При цьому відсутня складна структура папок або файлів. SQLBase може розміщувати базу даних і пов’язані з нею файли журналів в одну папку. Крім того, файли журналів автоматично видаляються після того, як вони стають непотрібними.

Вибір необхідного рівня стійкості


SQLBase може автоматично видаляти файли журналу, як тільки вони стають непотрібними для відновлення, в базах даних на мобільних конфігураціях або тих, для яких не потрібні функції сталого інкрементального резервного копіювання. У таких випадках SQLBase не виконує транзакцій, відкоту або відновлення після збоїв, тому файли журналів не накопичуються і не заповнюють диск. Інший функцією, спрямованої на поліпшення продуктивності, є оптимізація журналу, що виключає блокування файлів і реєстрацію не оновлених транзакцій.

Автоматичне резервне копіювання


Для вузлів робочих груп SQLConsole може використовуватися для планування та виконання резервного копіювання бази даних за допомогою розширеного планувальника. Можна запланувати створення резервних копій в будь-який час, наприклад, пізно вночі, щоб не заважати користувачам. Усі події, пов’язані із запланованим резервним копіюванням, записуються, що дозволяє адміністраторам баз даних бути впевненими в успішному виконанні графіка резервного копіювання.


Інтеграція функції резервного копіювання у додатки


Розробники додатків можуть використовувати всі виклики SQL / API, необхідні для виконання необхідної стратегії резервного копіювання. Такі виклики повністю документовані. Це дозволяє розподіленим додаткам керувати політикою резервного копіювання з мінімальним втручанням користувачів, дозволяючи легко вбудовувати SQLBase в розподілені програми.

Аудит


Для сприяння розробці, розгортання та налаштування програм SQLBase використовується комплексна функція аудиту на рівні сервера бази даних. (Слід зауважити, що ця функція не виконує аудит зміни даних. Зміни даних контролюються за допомогою тригерів бази даних). SQLBase записує серверну інформацію в будь-якої бажаної комбінації, включаючи відомості про продуктивність, виконанні операторів SQL, взаємних блокувань і часу очікування, невірних спроб реєстрації і т.д. Для запису подій, що призводять до відкоту, дані записуються в окремий файл, а не в базу даних, що дозволяє знизити навантаження на сервер. Несанкціоноване використання файлу захищено за допомогою настроюваних користувачем параметрів перегляду і видалення файлу.

З метою спрощення та універсальності аудитом можна керувати за допомогою командного рядка SQLTalk через інтерфейс SQL / API або за допомогою графічного інтерфейсу консолі SQLConsole, що надає можливість перегляду текстового файлу.

Диспетчер аудиту консолі SQLConsole може використовуватися для відстеження наступних даних:

Оброблені оператори SQL


Проблеми продуктивності іноді можуть виникати навіть у розроблених найкращим чином базах даних і додатках. Перший крок щодо усунення таких проблем полягає у виявленні джерела проблеми. Для програм з графічним інтерфейсом фактично виконуються запити часто є непередбачуваними, тому що найчастіше вони створюються динамічно під управлінням кінцевого користувача (наприклад, інтерфейсів QBE). Ця функція дозволяє переглядати реальні сформування оператори SQL. Для забезпечення кращої підтримки реального використання користувачами таких систем можна використовувати індексацію та інші “Налаштування”.

Час обробки оператора


Найбільш серйозним завданням при налаштуванні програми є ідентифікація вузьких місць в продуктивності. Ця функція дозволяє адміністраторові бази даних точно визначити, скільки часу займає обробка кожного оператора і на яку стадію обробки витрачається основний час. Наприклад, якщо з’ясовується, що стадія компіляції вимагає багато часу, можна розглянути варіант заміни оператора на збережену команду.

Аналіз багатокористувацьких конфліктів


У реальності в усіх базах даних з декількома підключеними користувачами, існують інтервали очікування та / або взаимоблокировки. Функція аудиту SQLBase записує дані про всіх учасників, пов’язаних з інтервалом очікування або взаємоблокування, а також викликали такий стан оператори. Це дозволяє адміністраторам баз даних визначити справжню серйозність проблеми, а не покладатися на відгуки кінцевих користувачів.


Моніторинг безпеки


Так як файли аудиту зберігаються на сервері, вони ідеально підходять для виявлення спроб злому системи. Під час експлуатації системи, як правило, використовуються параметри моніторингу безпеки (запис спроб неправильної реєстрації та порушення прав доступу при спробі доступу до об’єктів бази даних).

Моделі використання програми


Можливість запису правильних дій по реєстрації / виходу надає адміністратору бази даних можливість визначення зареєстрованих користувачів в даний момент часу. Така функція корисна для ідентифікації процесів, що викликають у користувачів проблеми. Також завдяки цій функції адміністратор бази даних може планувати час простою сервера або періоди його завантаження відповідно зі звичайним режимом використання системи. Моделі використання програми необхідні для запису відомостей про те, ким і до яких застосовувалися таблиць оператори DML або SELECT.

Дії адміністратора бази даних


Наявність запису про дії адміністратора бази даних забезпечує підтвердження автоматичних процедур резервного копіювання, а також повідомлення адміністратора бази даних про непередбачені події.

Імпорт та експорт даних


Важливою функцією будь-якої реляційної база даних є можливість максимально швидкого і ефективного отримання і виведення даних. Вбудовані функції сервера SQLBase, призначені для прискорення імпорту та експорту, забезпечують передачу даних у трьох форматах: DIF (формат обміну даними), ASCII файли з роздільниками комами (CSV) і SQL.


Обробка великих обсягів даних на сьогодні є звичайною навіть в невеликих реляційних системах. Вбудовані функції SQLBase володіють різними параметрами і можливостями:

Завантаження та вивантаження даних на серверної частини. Така функція дозволяє виключити надмірне навантаження на мережу при передачі даних від або до клієнтської частини, що є значною перевагою при обробці великих обсягів даних.

Можливість вивантаження і завантаження з окремих файлів, сегментованих по різних дисків. Стискання та розпакування файлів завантаження і вивантаження. Відновлення після помилок, виконання реєстрації та можливість починати завантаження з вибраного місця у файлі.

Нерегламентований доступ до цієї функціональної можливості забезпечується за допомогою консолі SQLConsole і SQLTalk. Як і у випадку всіх функцій SQLBase, доступ до даної функції можливий за допомогою дзвінків SQL/API.

Підтримка великих баз даних


При збільшенні бази даних критичним стає ефективне управління дисковим простором. SQLBase дозволяє розподілити окремі бази даних і журнали на кількох розділах або томах диска. На додаток до здатності SQLBase обробляти великі бази даних, поліпшити продуктивність при використанні декількох дисків і контролерів можна за допомогою розбивки на розділи. SQLBase дозволяє виконувати розбиття на розділи на всіх підтримуваних платформах. SQLBase також підтримує не розбиті на розділи диски ємністю до 512 гігабайт в операційних системах Windows і Linux, файлові системи яких підтримують файли розміром більше 2 гігабайт.

СУБД SQLBase також дозволяє визначати області бази даних з декількома іменами, що представляють собою фізичні файли або пристрої, на яких зберігаються дані бази і файли журналів. Такі області можна розподілити на кількох жорстких дисках, що дозволяє використовувати переваги паралельних дискових операцій вводу-виводу.

Бази даних із захистом від запису


У SQLBase можна легко захистити базу даних. Такий захист (називається “режим тільки для читання”) не є одноразовою, за допомогою виклику SQL / API, команди SQLTalk або консолі SQLConsole її можна включати або відключати. Режим тільки для читання можна використовувати в наступних цілях: Розподіл даних на таких носіях, як компакт-диски або оптичні карти, дозволяє легко і недорого розгортати дані SQLBase. Обслуговування оновленої центральної бази даних, в той час як на розподілених вузлах обслуговуються копії бази даних з режимом тільки для читання.

Самоврядування бази даних


При створенні SQLBase було усунуто безліч проблем, що ускладнюють роботу розробників, що використовують інші бази даних. Це було зроблено завдяки тому, що компанія GUPTA зосередила свої зусилля на однокористувацьких серверах і серверах робочих груп. Завдяки такій філософії СУБД SQLBase являє собою надійну, гнучку, компактну реляційну базу даних з самоврядуванням. SQLBase має безліч функцій, що знижують необхідність у безпосередньому адмініструванні або програмному втручанні. Далі перераховані деякі з цих функцій:


Частина 5 – Вбудовування SQLBase в веб-додатки


Огляд


Розвиток інтернету означає, що для розгортання в веб-конфігураціях потрібно створювати упаковані програми, а це неминуче призводить до необхідності виклику вбудованих баз даних. У SQLBase є функції, розроблені спеціально для використання в якості частин веб-систем.

Пряме підключення клієнтського додатка до інтернет


Інтернет являє собою всесвітню мережу з протоколом TCP / IP, наявність у ньому програм для миттєвої передачі повідомлень перетворює його на зручну загальнодоступну мережу. Підключаючи до інтернету сервер SQLBase, за допомогою протоколу TCP / IP до нього можна забезпечити доступ з будь-якої точки земної кулі, де є підключення до мережі Інтернет.

Доступ додатків до SQLBase виконується двома способами:

Клієнтські програми Windows або Linux, створені за допомогою будь-якого стандартного інструментарію розробки або мови, наприклад, Visual Basic, GUPTA Team Developer або PHP, можуть безпосередньо або через ODBC використовувати компоненти клієнтського програмного забезпечення. Java аплети або повнофункціональні Java програми на будь-якій платформі з підтримкою віртуальної машини Java можуть підключатися до SQLBase за допомогою драйвера JDBC. Прикладом може служити веб-сторінка, що містить Java аплет, після завантаження якого можна підключитися до SQLBase базі даних, розташованої на вихідному веб-сервері, і потім виконувати обробку транзакцій і запит даних з браузера користувача.

Генерований на сервері HTML код, який відображається в браузері


У такій надтонкої клієнтської моделі як PHP, основна частина логіки програми виконується централізовано – на веб-сервері або на сервері додатків, доступ до якого здійснюється через веб-сервер. Зворотно в клієнтську програму передаються HTML сторінки. У таких архітектурах ключову роль грають бази даних, що використовуються як сховища публікованих даних або для зберігання вхідних транзакцій. Програми Windows ASP і ASP.Net можуть використовувати ODBC драйвер SQLBase, постачальник OLEDB або постачальник даних. NET. PHP програми на ОС Linux можуть використовувати ODBC драйвер SQLBase для Linux.

Додаток – Відомості про продукт і його специфікація


СУБД SQLBase підтримує обмін даних по протоколу TCP / IP на ОС Linux і Windows і анонімним програмним каналах (тільки для Windows).

Сертифіковані операційні системи


Linux








































Дистрибутив

Ядро

glibc

Red Hat Desktop 3.0 2.4.21.15 2.3.2-95.20
Red Hat Enterprise Linux WS 3.0 2.4.21-4 2.3.2-95.3
Red Hat Enterprise Linux ES 3.0 2.4.21-9 2.3.2-95.6
SUSE Linux 9.0 2.4.21-99 2.3.2-88
SUSE Linux 9.1 Professional 2.6.4-52 2.3.3-97
SUSE Linux Enterprise Server 8 2.4.21-198 2.2.5-213
SUSE Linux Enterprise Server 9 2.6.5-7.97 2.3.3-98.28
SUSE Linux Desktop 1.0 2.4.19-4 2.2.5-184

Windows

























Операційна система

Рекомендовані пакети оновлень

Microsoft Windows 98 Second Edition НІ
Microsoft Windows ME НІ
Microsoft Windows NT 4.0 Server & Workstation Пакет оновлень SP 6а
Microsoft Windows 2000 Professional and Server Пакет оновлень SP4
Microsoft Windows XP Professional Пакет оновлень SP1 або SP2
Microsoft Windows Server 2003 НІ

Огляд функціональних можливостей


Далі наводиться короткий опис основних функцій і функціональних можливостей СУБД SQLBase. Більш детальну інформацію можна знайти в тексті основного документа або в повному комплекті документації до SQLBase.

Безпека



Бази даних і сервера



Установка



Ліцензування



Рівні локалізації



Посилальна цілісність



Підтримка збережених процедур



Зовнішні функції



Резервне копіювання



Відновлення



Тригери



Курсори клієнта



Індексування



Підтримка транзакцій



Оптимізатор



Підтримка розподілених баз даних



Інтерфейси API



Інструментарій віддаленого адміністрування



Функції SQL



Безпека об’єктів



Доступність системного каталогу



Типи даних


































Тип

Коментарі

Тип

Коментарі

CHAR/ VARCHAR 254 символи LONG Довжина не обмежена
DATE Дні Ціле -2,147,483,648 – 2,147,483,647
TIME Секунди Мале ціле -32,768 – 32,767
DATETIME Секунди З плаваючою комою Точність – до 53 знаків
TIMESTAMP Мікросекунди Десяткове Точність – до 15 знаків

Слід звернути увагу на те, що всі символьні типи даних можуть зберігати двійкові дані.

Характеристики


























































Розмір бази даних: 512 Гб *
* На ОС Windows або Linux з файловою системою, що підтримує файли розміром більше 2 гігабайт.
Об’єкти бази даних Не обмежено
Довжина імені об’єктів (якщо не вказано інше) 32
Довжина пароля 8
Довжина пароля сервера 18
Ім’я користувача 8
Усього курсорів на сервері 200,000
Полів в таблиці / поданні 254
Полів LONG в таблиці 254
Символів в операторі SQL 32 K
Рядків у таблиці Не обмежено
Кількість операторів AND у реченні WHERE / HAVING Не обмежено
Кількість індексів у таблиці Не обмежено
Кількість полів індексу 16
Символів в таблиці (за виключення типу LONG) 8 K
Таблиць у запиті (перехресні з’єднання таблиць не підтримуються) 16
Кількість полів сортування в запиті Не обмежено
Кількість рівнів вкладеності підзапитів Обмежено ресурсами

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*