SQLBase 8.5: легкість оновлення, Інтеграція додатків і даних, Бази даних, статті

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


Введення


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


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


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


Застосування SQLBase 8.5 значно збільшує можливості бізнес-додатків за рахунок таких особливостей:



Нові можливості SQLBase 8.5


Множинні зовнішні об'єднання і синтаксис об'єднань SQL99


SQLBase 8.5 дозволяє скоротити час розробки за рахунок підтримки множинних зовнішніх об'єднань (multiple outer-joins). Чому це важливо? Це означає, що запити, що відповідають стандарту SQL99 ANSI, працюватимуть для всіх провайдерів баз даних, що підтримують даний стандарт. SQLBase 8.5 включає в себе повний синтаксис об'єднань ANSI/SQL99, у тому числі такі типи об'єднань, як inner join, natural join, right join, left join, full outer join. SQLBase 8.5 надає ці нові можливості в кращому стилі SQLBase – Економічно, інтелектуально і швидко. Крім того, SQLBase зберігає свої вимоги до пам'яті на низькому рівні, при цьому, дозволяючи виконувати сучасні складні запити з використанням повного синтаксису об'єднань ANSI, включаючи Multiple Outer Joins (множинні зовнішні об'єднання).


Нові можливості:



Що це реально означає?



Як це працює?


Будь-який клієнт, що взаємодіє з SQLBase 8.5, Може використовувати новий синтаксис об'єднань ANSI SQL99. Для демонстрації подібного використання компанія Gupta створила кілька прикладів роботи з інструментом SQLTalk і поставляється в якості прикладу базою даних Island.



  1. Застосування синтаксису об'єднань ANSI SQL99 може бути зроблено доступним під час установки SQLBase 8.5 або пізніше, використовуючи в конфігураційному файлі ключове слово ansijoinsyntax = 0 / 1. Значення параметра Ansijoinsyntax, рівне 0, означає, що SQLBase 8.5 працює в режимі зворотної сумісності і не допускає вживання синтаксису ANSI SQL99. Цей режим може застосовуватися, якщо замовник не бажає змінювати об'єкти своєї бази даних у випадку, коли вони містять деякі нові ключові слова, зарезервовані в SQLBase 8.5. Якщо ansijoinsyntax = 1, то можна використовувати переваги нового синтаксису об'єднань, наприклад, типи об'єднань natural join, join using і join on. У наведеній нижче таблиці перераховані ці чотири варіанти застосування нового синтаксису об'єднань у SQLBase 8.5 для простого об'єднання двох таблиць. Перша синтаксична послідовність використовує старий синтаксис об'єднань SQL89. Усі чотири вибраних твердження дають той же результат. Це можна перевірити на прикладі роботи SQLTalk з базою даних Island.


















Вид об'єднання  SQL-пропозиція 
SQL89 Equal Join select * from company, invoice where company.company_id = invoice.company_id;
SQL99 Natural Join select * from company natural join invoice;
SQL99 Join Using Select * from company join invoice using (company_id);
SQL99 Join On Select * from company join invoice on company.company_id = invoice.company_id;


  1. Тип Outer Joins є активним, коли синтаксис ANSI SQL99 доступний для використання в SQLBase 8.5. Запити можуть містити будь-яку кількість типів Left Outer Join, Right Outer Joins, Full Outer Join та їх комбінацій. Для тестування нового синтаксису можна просто обробити відповідні запити інструментом SQLTalk в поєднанні з еталонною базою даних Island. У наведеному прикладі використовуються типи об'єднань natural join для скорочення зусиль по набору SQL-команд.















Вид зовнішнього об'єднання  

SQL-пропозиція Select 

Left Outer Join select company_name, cont_first_name, cont_last_name from company natural left outer join contact;
Right Outer Join select company_name, cont_first_name, cont_last_name from company natural right outer join contact;
Full Outer Join select company_name, cont_first_name, cont_last_name from company natural full outer join contact;


  1. Під Multiple Outer Joins мається на увазі довільне число комбінацій типів right outer joins, left outer joins і full outer joins. Нижче наведені приклади, засновані на еталонної бази даних Island. Запити, наведені в розташованій нижче таблиці, можна використовувати для тестування нового синтаксису в SQLTalk. При вживанні типів outer joins відбувається вилучення всіх рядків з об'єднаних таблиць, навіть у випадку, коли в об'єднаній таблиці відсутні асоційовані рядка. Прикладом може служити запит про отримання даних про всіх клієнтів та їх замовленнях, включаючи тих клієнтів, які не мають замовлень. Пункти, що відповідають даними про замовлення, будуть порожні (значення NULL) для клієнтів, що не мають замовлень.


















Вид множинного зовнішнього об'єднання 

SQL-пропозиція Select  

Multiple Left Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural left outer join invoice natural left outer join invoice_item;
Multiple Right Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural right outer join invoice natural right outer join invoice_item;
Multiple Full Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural full outer join invoice natural left outer join invoice_item;
Mixed Multiple Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural full outer join invoice natural right outer join invoice_item;


  1. Nested Multiple Outer Joins є прикладом просунутого використання типів об'єднань Multiple Outer Joins. Для отримання у відповідь на запит бажаних результатів можна групувати об'єднані таблиці, використовуючи круглі дужки. Ув'язнені в дужки типи outer joins виконуються в першу чергу і можуть розглядатися як тимчасова таблиця, яка в кінцевому результаті буде об'єднана з таблицями, одержуваними в результаті обробки командних послідовностей поза дужками.















Вкладене множинне зовнішнє об'єднання 

SQL-пропозиція Select  

  select company.company_name, invoice_date, amount_paid, item_no, style from company natural full outer join (invoice natural full outer join invoice_item);
  select company.company_name, invoice_date, amount_paid, item_no, style from (company natural full outer join invoice) natural right outer join invoice_item;
  select company.company_name, invoice_date, amount_paid, item_no, style from (company natural full outer join invoice) natural full outer join invoice_item;

Множинні, ізольовані інсталяції SQLBase


Більш проста процедура установки скорочує затрачуваний на підтримку час. SQLBase є світовим лідером на ринку вбудованих баз даних. Через таку популярності в процесі установки СУБД у замовника можуть виникнути деякі складності, якщо його клієнти працюють з додатками, що використовують іншу версію SQLBase. Наприклад, користувачі деяких найпопулярніших програм для роботи з платіжними відомостями, персональними фінансовими ресурсами або програмного забезпечення для дрібнооптової поставки товарів (під всі ці програми вбудована SQLBase) Можуть створити замовнику складності з установкою і підтримкою СУБД. Тепер ці труднощі залишилися у минулому. Будь-який додаток, що використовує SQLBase 8.5, Може бути встановлено без всяких складнощів з конфігуруванням. Додаток з вбудованою СУБД SQLBase 8.5 може працювати в повній ізоляції від існуючих старих інсталяцій SQLBase, Без всяких конфліктів з конфігураційним файлом SQL.INI або динамічними файлами SQLBase в рамках архітектури клієнт-сервер. Тепер додаток з вбудованою СУБД SQLBase може мати конфігураційний файл з довільним ім'ям, наприклад "yourinifile.ini". Файл SQL.INI більше не є необхідним. Клієнтські і серверна частини SQLBase 8.5 можуть використовувати будь-який заданий конфігураційний файл. Всі драйвера в SQLBase, Такі як JDBC, OLEDB, ODBC, а також постачальники даних. NET і інтерфейс SQLBase API підтримують конфігураційні файли з довільною назвою. SQLBase 8.5 забезпечує розгортання і успішну роботу додатків навіть тоді, коли цільова система має інший інсталяцією SQLBase, Навіть більш ранньої версії. Це унікальна властивість ще більше зменшує сукупну вартість володіння SQLBase, За рахунок значного скорочення зусиль на підтримку процесу установки додатків.


Нові можливості



Що це реально означає?



Як це працює? Покрокова інструкція


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



  1. Встановіть SQLBase 8.5 на комп'ютері, на якому вже встановлена SQLBase старішої версії. Після установки SQLBase 8.5 утворюються два каталоги, що містять інсталяцію SQLBase. Програма установки SQLBase 8.5 не дозволяє проводити встановлення поверх існуючої інсталяції SQLBase старішої версії. Під час інсталяції програма установки перевіряє, чи не використовується пропоноване користувачем ім'я сервера іншим сервером. Якщо ім'я сервера вже використовується, то користувачеві буде запропоновано ввести інше ім'я. На пропозицію програми установки запустити SQLBase відразу після інсталяції слід відповісти "ні", оскільки, перш ніж почати працювати з СУБД, слід змінити декілька параметрів налаштування.
  2. Використовуйте панель керування, щоб видалити змінну path в новій інсталяції SQLBase 8.5. За умовчанням ця змінна задана для сервера SQLBase 8.5 як "c: Program FilesGuptaSQLBase 8.5". У цьому випадку тільки програми, розплоджені в каталозі SQLBase 8.5, Будуть використовувати цю конфігурацію. Всі інші програми для SQLBase будуть використовувати стару інсталяцію. У даному прикладі в якості клієнтського додатку виступає SQLTalk.
  3. Після завершення установки SQLBase 8.5 змініть назву конфігураційного файлу "sql.ini" на "My.SQLBase85.Config”.
  4. Запустіть SQLBase Connectivity Administrator з меню запуску (start menu). Виберіть кнопку праворуч від шляху до "sql.ini", щоб змінити назву конфігураційного файлу.



  1. У діалоговому вікні Select Configuration File виберіть для конфігураційного файлу нове ім'я My.SQLBase85.Config і натисніть кнопку Open.



  1. Виберіть SQLBase в деревоподібному списку інструменту Connectivity Administrator і натисніть на кнопку Properties. Відповідне діалогове вікно дозволить визначити назву клієнтської частини, яке вже було задано програмою установки SQLBase 8.5. Немає необхідності що-небудь міняти в цьому вікні. Поле даних для Runtime Directory можна використовувати для вказівки місця розташування робочих DLL-бібліотек в SQLBase 8.5. Діалогове вікно закривається натисканням на кнопку Cancel.



  1. Тепер виберіть TCP / IP в деревоподібному списку і знову натисніть кнопку Properties. Відкриється діалогове вікно TCP / IP Server Settings. У цьому вікні можна задати ім'я файлу автозапуску SQLBase і ім'я конфігураційного файлу (за бажанням), які повинні використовуватися під час автозапуску сервера. Слід зазначити, що в даний час режим автозапуску працює тільки з протоколом TCP / IP SQLWS32 при використанні локальних підключень. Перше поле даних діалогового вікна повинна бути вже заповнено заданими при установці параметрами. Натискання кнопки праворуч від імені конфігураційного файлу відкриває нове діалогове вікно, що дозволяє вибрати новий конфігураційний файл. Виберіть новий конфігураційний файл під назвою My.SQLBase85.Config і натисніть кнопку Open. Процес визначення нової конфігурації майже завершений.



  1. На наступному кроці роботи з Connectivity Administrator потрібно вказати для нової інсталяції SQLBase 8.5 інший порт TCP / IP. В існуючій інсталяції SQLBase використовується порт 2155. У новій інсталяції для клієнтської і серверної частин необхідно задати інший номер порту. Для вказівки нового IP-порту виберіть рядок з ім'ям потрібного сервера, яка з'являється при виділенні в деревоподібному списку протоколу TCP / IP і натисненні на кнопку Properties. У вікні можна вказати новий порт. У даному випадку для клієнта SQLBase можна використовувати порт 2185. Необхідно переконатися в тому, що той же номер порту також використовується і для сервера. У наступному пункті показано, як можна задати для сервера порт прослуховування (listen port).



  1. Тепер, на завершальному етапі роботи з Connectivity Administrator перейдіть на вкладку Server. Ця вкладка показує список доступних серверів SQLBase, Включаючи стару інсталяцію SQLBase. Відкрийте сервер SQLBase 8.5 з нової інсталяції, а потім пункт Listening Protocols. Тепер виділіть рядок з протоколом TCP / IP та натисніть кнопку Properties. Введіть число 2185 для нового порту TCP / IP, щоб зробити номера портів для клієнтської і серверної частин однаковими. Робота з Connectivity Administrator завершена. Натисніть кнопку OK на вкладці Server, а потім натисніть OK ще раз.



  1. Завершальні кроки полягають у визначенні нового імені конфігураційного файлу за допомогою консолі управління SQLBase Management Console. Це необхідно для того, щоб СУБД SQLBase використовувала нове ім'я конфігураційного файлу навіть при запуску в якості служби. Для того, щоб це зробити запустіть консоль SQLBase Management Console з меню запуску операційної системи Windows. З'явиться вікно, подібне розплодженим нижче вікна.
  2. . Відкрийте спочатку пункт SQLBase Services, а потім пункт Server Installations. Повинні з'явитися імена серверів для обох інсталяцій SQLBase. Помістіть курсор миші над пунктом, що відповідають інсталяції SQLBase 8.5, І клацніть правою кнопкою миші. В меню оберіть опцію Unregister the server.



  1. . Виберіть пункт Server Installations в деревоподібному списку на лівій панелі консолі управління SQLBase Management Console і відкрийте меню властивостей, клацнувши правою кнопкою миші. У меню виберіть опцію Register, щоб створити новий пункт для інсталяції SQLBase 8.5, Включаючи посилання на новий конфігураційний файл. Кнопки з правого боку від шляхів до виконуваного і конфігураційному файлів дозволяють легко задати імена сервера і нового конфігураційного файлу, які повинні бути використані. Виберіть потрібний виконуваний файл для сервера. Файл залежить від встановленого рівня користувача. На даному етапі процес установки з урахуванням завдання нового імені конфігураційного файлу My.SQLBase85.Config практично завершений. Натисніть OK, щоб зберегти зміни. Тепер все готово для запуску. Консоль SQLBase Management Console вже можна закрити.



  1. Для тестування нової конфігурації просто запустіть SQLTalk з меню запуску. Перш ніж підключатися до бази даних, необхідно вказати додатком SQLTalk інший конфігураційний файл для використання. У меню Options виберіть опцію Session Settings. Діалог Session Settings дозволяє вказати заново створений конфігураційний файл. Щоб це зробити, просто натисніть на кнопку, яка знаходиться з правого сторони від поля даних для конфігураційного файлу. У діалоговому вікні виберіть My.SQLBase85.Config в якості свого конфігураційного файлу і натисніть OK. У діалоговому вікні Session Settings можна встановити прапорець Save Settings on Exit, щоб додаток SQLTalk використовувало новий конфігураційний файл і надалі. Натисніть OK і поверніться в основне вікно програми SQLTalk. У верхній панелі просто наберіть "connect island;" і виконайте команду, натиснувши комбінацію клавіш Ctrl + Enter. SQLBase 8.5 запуститься автоматично, використовуючи нові конфігураційні параметри. Вітаємо! Ви використовували нову властивість SQLBase 8.5 – Роботу з множинними інсталяціями. Тепер також можна запустити стару інсталяцію SQLBase і працювати з використовують її додатками. Обидві інсталяції SQLBase будуть прекрасно функціонувати в повній ізоляції один від одного.



  1. Компанія Gupta надає засоби перевірки того, який конфігураційний файл Використовуйте сервер SQLBase 8.5 або додаток SQLTalk. Якщо вибрати пункт About в меню Help сервера SQLBase 8.5 або програми SQLTalk 8.5, то буде зображений використовуваний конфігураційний файл, включаючи шлях до нього. Вікно About також відображає шляхи та імена DLL-бібліотек, які були завантажені програмою. Для розробників та адміністраторів баз даних це спрощує управління множинними інсталяціями та процес їх тестування.



  1. Всі описані вище кроки можуть бути виконані вручну шляхом редагування конфігураційного файлу за допомогою текстового редактора, такого як Notepad. Нижче наведено повний список змін у файлі My.SQLBase85.Config, внесених протягом описаного вище процесу конфігурації. Важливі рядки, які стосуються SQLBase 8.5, Виділені жирним шрифтом. За детальним описом елементів нового конфігураційного файлу звертайтесь до довідкового посібника SQLBase 8.5.




Створення власних програм установки за допомогою продуктів пакета SQLBase 8.5 EDP


Використання продуктів з пакета SQLBase 8.5 EDP ​​дозволяє замовникам створювати власні програми установки для замовного програмного забезпечення і для SQLBase, Яка встановить себе в повній ізоляції від інших наявних інсталяцій SQLBase. За детальною інформацією про створення власних програм установки та ефективному використанні нової властивості роботи з множинними інсталяціями в SQLBase 8.5 звертайтесь до довідкового керівництва комплекту SQLBase EDK.


Ліцензії для множинних інсталяцій SQLBase



Поліпшення загальної продуктивності баз даних


Новий рівень продуктивності забезпечить зростання позитивної реакції з боку клієнтів. Задайтеся питанням: як багато останнім часом було отримано позитивних відгуків з боку клієнтів? Використання SQLBase 8.5 дозволить значно збільшити число подібних відгуків. Займає багато часу оброблення складних запитів прискорена у SQLBase 8.5 за рахунок використання істотно вдосконаленого алгоритму сортування з виділенням кеш-пам'яті і нового механізму розподілу пам'яті. Таким чином, цілком очевидно, що використання SQLBase 8.5 викличе безсумнівну позитивну реакцію з боку клієнтів.


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


Нові можливості



Що це реально означає?


При переході від SQLBase 7.5 загальна продуктивність збільшиться на 40%, тоді як при переході з версії 8.1 ця різниця складе 10%. Запити, що здійснюють сортування (ORDER BY, GROUP BY), в більшості випадків будуть оброблятися більш ніж в 25 разів швидше (+2500%), а в деяких ситуаціях швидкість обробки зросте в 800 разів (+80000%). Крім того, число невдалих транзакцій в результаті конфлікту при блокуваннях скоротилося більш ніж на 30%.


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


Оновлені драйвери баз даних


Усі драйвери баз даних SQLBase були оновлені для підтримки нового синтаксису об'єднань ANSI SQL99. Можна продовжувати використовувати свої улюблені середовища розробки, такі як Visual Studio, Visual Studio.NET, Delphi або Java IDE, для створення використовують SQLBase додатків і користуватися всіма перевагами нового синтаксису об'єднань, включаючи множинні зовнішні об'єднання.


Нові можливості



Як це працює?


Під час інсталяції SQLBase 8.5 будуть встановлені оновлені драйвери. Ці драйвери доступні для завантаження з web-сайту компанії Gupta. Вони входять до складу пакета SQLBase Driver Pack, який можна знайти в розділі, присвяченому продуктам, представленим для скачування.


Плавний перехід до SQLBase 8.5


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