Огляд SQL Server 2005 Everywhere Edition

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

Історія

З пакетом Visual Studio 2003, середовищем NET Compact Framework 10 і СУБД SQL Server 2000 компанія Microsoft представила безкоштовно поширювану реляційну базу даних для кишенькових компютерів та системи Windows РЄ, яка називається SQL Server 2000 Windows РЄ Edition (або SQL РЄ) Займаючи всього близько 1,5 Мбайт на пристрої, SQL РЄ надавала напрочуд багату реалізацію основних функцій SQL Server 2000 У цю СУБД була включена підтримка підмножини індексів і обєднань ANSI SQL-92, оптимізований процесор запитів і інтерфейси програмування ADOCE, OLEDB і ADONET У SQL РЄ також були представлені дві технології синхронізації мобільних даних з корпоративними серверами: віддаленого доступу до даних (RDA) і реплікації злиття

Хоча SQL РЄ представляла собою придатну реляційну базу даних для рішень Windows Mobile, вона мала ряд обмежень Найбільш істотним з них було те, що дана база могла існувати виключно в контексті мобільних пристроїв Доводилося створювати, налаштовувати та обслуговувати базу даних SQL РЄ або за допомогою програмного коду, або за допомогою мініатюрної версії аналізатора запитів (Query Analyzer), запускається на пристрої SQL РЄ також обмежувала доступ до бази даних всього одним підключенням, не виключала можливості спотворення даних, що призводило до частих операціями відновлення та обслуговування мобільного бази даних Наприклад, працюючи з SQL РЄ, мобільним користувачам доводилося робити перезавантаження під час операцій запису, після чого база даних ставала непридатною до роботи і вимагала відновлення Очевидно, що це була абсолютно не ідеальна ситуація для адміністраторів баз даних, що підтримують сотні мобільних пристроїв, розкиданих по широкому географічному регіону

Концепції

Для розуміння того, де може знайти місце SQL Everywhere в архітектурі підприємства, на противагу більш знайомим СУБД SQL Server 2000 або 2005, важливо усвідомити деякі фундаментальні концепції SQL Everywhere є компактною повноцінною системою управління базами даних (СКБД), призначеної для роботи на пристроях з встановленою системою Microsoft Windows Mobile СУБД SQL Everywhere сумісна з такими версіями, як Pocket PC 2003, Windows Mobile 5 і Windows Mobile 5 Smart Phone Edition Особливо відзначу, що в даний час платформа Windows CENET 42 не підтримується SQL РЄ однак таку підтримку обіцяють з виходом у світ NET Compact Framework 20 Service Pack 1

Цікаво зауважити, що SQL Everywhere також ліцензована для системи Windows ХР Tablet PC Edition, але ні для якої іншої платформи х86, якщо, звичайно, на тому ж компютері не встановлена ​​ліцензійна копія Visual Studio 2005 або SQL Server 2005 Компанія Microsoft розглядає Tablet PC як ідеальну платформу для клієнтських додатків, a SQL Everywhere – як відповідну і легко встановлювану СУБД для підтримки цих додатків

Рішення компанії Microsoft ліцензувати SQL Everywhere тільки для единст-/ Назаметку кої х86-платформи Tablet PC може виглядати дещо дивним Зрештою, хіба редакція SQL Server 2005 Express не є полегшеною версією СУБД, призначеної для клієнтських додатків Спільнота MVP намагалося чинити тиск на компанію Microsoft, щоб та розширила ліцензування SQL Everywhere на інші платформи х86, щоб уникнути необхідності складного конфігурування реплікації між портативними і стаціонарними пристроями, однак ці прохання не зустріли підтримки До цього слід додати складність реплікації баз даних SQL Express, розгорнутих за допомогою одного клацання, разом з корисними клієнтськими додатками, яка вимагає глибокого знання програмування RMO, що робить SQL Everywhere гідним рішенням у цьому сценарії

Єдиним неприємним моментом є те, як саме компанія Microsoft ліцензує SQL Everywhere Ця СУБД може вільно поширюватися на пристрої, на яких встановлені щойно згадані операційні системи У той же час необхідно придбати ліцензію SQL Server для використання доступу до віддалених даних (RDA), реплікації злиття, а також для інших підключень до SQL Server з SQL Everywhere З особливостями ліцензування SQL Everywhere ви можете ознайомитися на сайті wwwmicrosoftcom / sql / editions / sqlmobile / howtobuymspx

Основним завданням SQL Everywhere є підтримка бази даних, яка є або основним сховищем для мобільних додатків, або тимчасовим кешем в сценаріях, де дані витягуються з сервера, створюються і модифікуються на пристрої, а потім знову повертаються на сервер SQL Everywhere можна інтегрувати в проекти NET Compact Framework Smart-Device за допомогою Visual Studio 2005 Вона пропонує підтримку OLEDBCE для додатків, написаних мовою Visual C + + for Devices в середовищі розробки Visual Studio 2005 Основні архітектурні компоненти SQL Everywhere показані на рис 261

Як показано на рис 261, двома основоположними компонентами SQL Everywhere є ядро ​​сховища даних і процесор запитів До них можна отримати доступ як із стандартного, так і з керованого програмного коду Простіше кажучи, ядро ​​сховища даних SQL Everywhere є надійним довгостроковим сховищем, а процесор запитів забезпечує реляційний доступ до цього сховища Ядро сховища SQL Everywhere

було повністю переписано з часів SQL РЄ і зараз є тим же ядром, яке використовує Windows CENET Object Store (хоча до останнього неможливо безпосередньо звернутися за допомогою ADONET)

Рис 261 Архітектура SQL Server 2005 Everywhere

Процесор запитів являє собою заснований на вартості евристичний виконавчий механізм, який відрізняється ефективністю, беручи до уваги мале місце, займане ним на пристрої Займаючи всього лише близько 15 Мбайт на мобільному пристрої, SQL Everywhere реалізуетбольшую частину функцій СУБД SQL Server 2005, яка, в свою чергу, споживає мінімум 38 Мбайт

Термін заснований на вартості означає, що процесор запитів рассмат-Назаметку ривает безліч планів виконання і вибирає з них найефективніший

Термін евристичний означає, що процесор може замінити запит його аналогом, який отримує ті ж результати, але розглядається як більш ефективний (наприклад, вираз in в запиті може бути переписано з використанням синтаксису join)

Можливості SQL Everywhere багато в чому аналогічні SQL Server 2005

■ Створення, модифікація і видалення таблиць, індексів і обмежень

■ Виконання інструкцій мов визначення даних (DDL) і маніпуляцій даними (DML) з підмножиною ANSI-92 SQL

■ Створення та гарантування АСГО-транзакцій (тобто володіють властивостями атомарности, узгодженості, ізольованості і живучості)

■ Виконання запитів до уявлень схеми і метаданих

■ Вплив на виконання запитів за допомогою параметрів і підтримання порядку обєднань

Як тільки ви поринете в програмування для SQL Everywhere, то відразу помітите схожість з SQL Server 2000 і 2005 Водночас існує і ряд відмінностей, про які потрібно знати, починаючи працювати з SQL Everywhere

■ База даних SQL Everywhere не розрізняє регістри символів, і налаштувати її по-іншому неможливо

■ Підтримуються тільки типи даних Unicode (тобто тип nvarchar підтримується, а varchar – ні)

■ Під час доступу до віддалених даних і в процесі реплікацій злиття можуть відбутися автоматичні перетворення типів

■ Деякі типи даних SQL Server не підтримуються SQL Everywhere (наприклад, smallmoney)

■ Деякі типи даних не можна включати у функції так, як це можна зробити в SQL Server Наприклад, стовпці ntext не можна включати в рядкові функції SQL Everywhere

■ Не вся специфікація ANSI-92 SQL, реалізована в мові Т-SQL для SQL Server 2005, підтримується в SQL Everywhere Наприклад, обмежені можливості підзапитів, багато вбудовані функції Т-SQL відсутні, а дужки не підтримується як роздільники

■ Навіть якщо в таблиці визначено безліч індексів, при складанні плану виконання процесор запитів розгляне їх все, але вибере тільки один

■ SQL Everywhere і не виконує жодних пакети інструкцій Т-SQL – тільки по одній інструкції за раз

■ Відсутня підтримка реплікацій транзакцій і миттєвих знімків

■ Web-реплікації не вимагають захищеної передачі допомогою протоколу SSL, так само як в SQL Server 2005 або SQL Express

■ Обсяг бази даних SQL Everywhere обмежений межею 4 Гбайт, при цьому автоматично встановлюється в 128 Мбайт

■ Обмежено рівень змін, які можна вносити в існуючу базу даних за допомогою інструкцій ALTER TABLE Можна використовувати тільки базові операції, такі як додавання або видалення стовпця або індексу

Деякі функції SQL Server 2005 взагалі не включені в SQL Everywhere з міркувань економії памяті, в тому числі:

■ тригери

■ подання

збережені процедури

■ пули підключень

■ розподілені транзакції

■ шифровані рядки підключення

Всі ці відмінності пристосовують SQL Everywhere до особливостей мобільних рішень Перед тим як ви почнете обурюватися яким-небудь з обмежень у наведеному вище списку (Що! Ні збережених процедур”), хочу зауважити, що я розробив близько двох десятків мобільних рішень з використанням SQL РЄ та SQL Everywhere, а тому з упевненістю можу сказати, що ніякі витрати на коригування технічного завдання, які довелося виконати, не могли зрівнятися з перевагами цього напрочуд маленького, але потужного ядра бази даних

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

Забігаючи вперед, відзначу, що в SQL Everywhere існують два методи синхронізації даних з SQL Server 2000/2005: доступ до віддалених даних (RDA) і реплікація злиття На рис 262 показані головні компоненти архітектури синхронізації даних SQL Everywhere Всі ці компоненти ми детально розглянемо в цій главі

Рас 262 Архітектура реплікації SQL Everywhere

Слід зауважити, що обидва сценарії синхронізації (RDA і реплікація злиття) в якості шлюзу між SQL Everywhere і SQL Server використовують сервер Internet Information Server (IIS), в якому запущений агент SQL Server Everywhere Server Agent (ISAPI DLL) Існують ситуації, коли гідною альтернативою даного підходу до синхронізації даних є використання Web-служб в той же час компанія Microsoft вважає, що RDA і реплікація злиття здатні покрити левову частку найбільш поширених сценаріїв

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

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


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

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

Ваш отзыв

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

*

*