Т В Ярова, О М Мякшило - Sql azure database як інноваційна технологія баз даних - страница 1

Страницы:
1 

УДК 001.891:65.011.56

SQL AZURE DATABASE ЯК ІННОВАЦІЙНА ТЕХНОЛОГІЯ БАЗ ДАНИХ

Т.В.Ярова, О.М. Мякшило

THE INNOVATION TECHNOLOGY OF DATA BASES IS SQL AZURE

DATABASE

Yarova T.V., Miakshylo O.M.

Рассматривается подход организации инновационного метода использования баз данных. Подробно описана на примере новая модель SQL Azure Database для использования на предприятиях пищевой промышленности. А также рассмотрены ее позитивные и негативные аспекты работы.

Ключевые слова: SQL, база данных, вычисления в облаках.

Розглядається підхід організації інноваційного методу використання баз даних. Детально описана на прикладі нова модель SQL Azure Database для використання на підприємствах харчової промисловості. А також розглянуті її позитивні та негативні аспекти роботи.

Ключові слова: SQL, база даних, обчислення у хмарах.

It is considered the approach to the organization of the innovation methods of using databases. It is described in details by the example of a new model of SQL Azure Database for using in the food industry. And also considered positive and negative aspects of its work.

Keywords: SQL, database, cloud solutions.

1. Введення

Спочатку хмара була тільки одна - саме цим символом традиційно позначали мережу Інтернет. Ця хмара позначало сукупність всіх комп'ютерів, об'єднаних протоколом IP і маючих власну IP-адресу. З часом в Інтернеті почали виділяти серверні ферми, які встановлювалися у провайдерів і на яких базувалися веб-проекти. При цьому для забезпечення високого навантаження і відмовостійкості найбільш великі веб-системи ставали багаторівневими і розподіленими.

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

Хоча спочатку хмарні обчислення були пов'язані з загальнодоступними веб-проектами - порталами, проте у міру розвитку розподілених відмовостійких веб-систем їх почали використовувати і для вирішення внутрішньо корпоративних завдань. Це був час буму на корпоративні портали, які були засновані на веб-технологіях, відпрацьованих у публічних системах. У той же час корпоративні системи почали консолідуватися в центри обробки даних, які було простіше і дешевше обслуговувати .

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

Хмарні обчислення в основному пов'язують з орендою додатків, визначаючи три типи таких послуг: IaaS - інфраструктура як сервіс, PaaS -платформа як сервіс і SaaS - програмне забезпечення як сервіс. Іноді й послуги "безпека як сервіс" також скорочують до SaaS, проте, щоб не плутати хмарні послуги безпеки з орендою ПО краще називати її ISaaC - Information Security as a Cloud. Такі послуги також починають надаватися. Однак не слід плутати аутсорсинг додатків і хмарні обчислення, оскільки хмари можуть бути внутрішньо корпоративні, публічні та гібридні. У кожного з цих типів хмар є свої особливості при організації системи захисту.

2.       Класифікація існуючих методів досліджень

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

На сучасному етапі розвитку Інтернет-технологій стало можливим використання інноваційного підходу - зберігання та повна обробка даних «у хмарі». При такому підході сервер повністю керується на віддаленому дата-центрі, а для роботи з ним потрібен лише інтернет.

SQL Azure Database - хмарна платформа реляційної бази даних, побудована на технологіях SQL Server. При використанні цієї платформи можна легко побудувати в хмарі проект реляційної бази даних з усіма перевагами, що надаються будь-якою хмарної технологією.

SQL Azure надає високий рівень безпеки з вбудованим захистом даних, самовідновлення і системою резервного копіювання. Захист здійснюється задопомогою SQL Azure Firewall - це вбудований мережевий екран, що дозволяє гнучко налаштовувати правила доступу до SQL Azure Server. Основні можливості SQL Azure Firewall:

1. Перевірка таких комбінацій:

а) MAC-адреса клієнту;

б) МАС+IP адреса клієнту;

в) MAC+IP+логін клієнту;

г) MAC+IP+логін+пароль клієнту;

2. Контроль доступу по часу;

3. Правила на дозволи виконання запитів для користувача;

4. Відбивання паразитного трафіку;

5. Блокування IP за параметром невдалих логінів методом підбору логіну, паролю чи їх пари.

Два головних нововведення в SQL Azure Database - перехід до реляційної структури та використання T-SQL. Ці нововведення надають розробникам цілий набір переваг. По-перше, переваги реляційної структури даних (зручність в зберіганні та обробки). По-друге, використання звичної мови запитів, що дозволяє використовувати навички роботи з SQL Server а також працювати з бібліотеками ADO.NET і інтерфейсами ODBC і OleDB.

SQL Azure - проекція традиційного SQL Server на хмару, що надає можливості для роботи з базою даних за допомогою інтернет-сервісів. Ця технологія дозволяє зберігати структуровану і неструктуровану інформацію, виконувати реляційні запити, а також надає функціонал для здійснення пошуку, створення аналітичних звітів, інтеграції і синхронізації даних. На даний момент SQL Azure підтримує сервіс реляційних баз даних, що має назву SQL Azure Database [рис.1].

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

Оплата за використання хмарного сервісу є дуже низькою: всього 2 гривні за 1 Гб трафіку або 80 коп. за кожні 10 000 транзакцій.

Існують два варіанти використання послуг SQL Azure: веб-видання включає в себе до 1 Гб для створення реляційної самокерованої бази даних з високим рівнем доступності. Ця модель краще всього підходить для веб-додатків. Включений додатковий функціонал, наприклад, автоматичний розподіл бази даних на частини, CLR-програмування та багато іншого.

Для налагодження зв'язку між локальним користувачем та базою даних у хмарі використовується полегшена версія локального SQL-серверу. Таким чином, вона не зберігає базу даних, а використовується лише для транзакцій запитів користувача до бази даних у хмарі. Для цього потрібен Інтернет як засіб зв'язку між локальним користувачем та базою даних у хмарі.

Завдяки переходу на T-SQL, користувачі мають можливість не тільки використовувати стандартний функціонал REST-протоколу (одержання / додавання / видалення одиниці інформації), але також і всі переваги T-SQL (створення / видалення таблиць та зв'язків, виконання різноманітних запитів таін. ). Однак розробники все-таки залишили можливість доступу по протоколу REST в SQL Azure, яку потім можна реалізувати через «прив'язку» до ADO.NET. Підключення до баз даних може здійснюватися як з веб - інтерфейсу (наприклад Azure), так і з локального SQL- серверу, а управління даними надається функціоналом SQL Server Management Studio. Таким чином, залишилася підтримка високого рівня масштабованості, постійної доступності (99,9% щомісячної доступності сервісу згідно до умов угоди с дата-центром), самовідновлення, множинне дзеркалювання та інші переваги хмарного сервісу.

Рис. 1. Модель SQL Azure Database

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

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

В момент часу t користувач А виконує наступний запит SQL: UPDATE persons SET street = 'Pobedy 67', city = 'Kiev' WHERE lastname = 'Ivanov' AND firstname = 'Ivan'.

В момент часу t користувач Б виконує наступний запит SQL: UPDATE persons SET street = 'Pobedy 47', city = 'Kharkiv' WHERE lastname = 'Ivanov' AND firstname = 'Ivan'.

Тобто, в момент часу t+1 у БД, що у хмарі, надходить 2 запити на оновлення одних і тих же комірок з різними значеннями: від користувача А -'Pobedy 67' та 'Kiev', від користувача Б - 'Pobedy 47' та 'Kharkiv'. За одиницю вимірювання часу t приймемо секунди. Отже, в даній конфліктній ситуації, SQL Azure Database повинен віришити які з даних більш актуальні та внести саме їх до БД.

Для цього, сервер SQL Azure Database має наступний інструментарій:

а) час відправки запиту користувача А

б) час відправки запиту користувача Б

Якщо час відправки запиту від користувача А співпадає з часом відправки запиту користувача Б, SQL Azure Database починає порівняння з більш малими одиницями часу, в даній ситуації це будуть мілісекуди. Таким чином, вибравши запит з меншими одиницями часу сервер визнає пізніше відправлений запит більш актуальним та оновить дані в комірці.

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

Хмарні технології - це концепція обробки даних, в якій обчислення і зберігання даних здійснюється в хмарі - віддаленому датацентрі. Всі функції з надання та управління низькорівневої інфраструктурою бере на себе «хмара», повністю приховуючи ці деталі від користувача.

Серед плюсів організації таких обчислень можна відзначити наступні:

Доступність. Послуга надається через Інтернет і є доступною цілодобово за умови функціонування сервера-провайдера.

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

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

Умова оплати. Умова оплати за передплатою та за фактичний рівень спожитих ресурсівpay as you go») - споживач платить рівно за ту кількість роботи обчислювальних потужностей, скільки їм було використано. Крім того, така організація оплати істотно скорочує рівень капітальних витрат, що є критичним важливо при виборі технології для доступу до БД.

Легкість у використанні. Користувачеві не потрібно піклуватися про інфраструктуру та супровід процесів обробки та зберігання даних.

Оскільки, надання в користування обчислювальних потужностей і баз даних датацентру може здійснюватися в кількох варіантах: SaaS, PaaS, HaaS, IaaS, CaaS - as a Service, то вибір варіанту використання обчислювальнихпотужностей безпосередньо залежить від цілей діяльності підприємства, його підрозділів, кількості персоналу і т.д.

3. Висновки

SQL Azure Database базується на технологіях SQL Server, але він представляє такі нові можливості, як високий рівень масштабованості, постійна доступність і самоврядування, надаючи клієнтам легкі та зручні способи роботи за допомогою мережі Інтернет, не вимагаючи при цьому особливих навичок або знань, відмінних від застосовуваних з технологіями традиційного SQL Server.

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

Література

1. Jayaram, Krishnaswamy Microsoft SQL Azure Enterprise Application Development[Текст] / Jayaram, Krishnaswamy; Packt Publishing, 2010 - с.450.

2. Henry, Li Introducing Windows[Текст]/ Henry Li Azure; Apress, 2009 - с

375.

Страницы:
1 


Похожие статьи

Т В Ярова, О М Мякшило - Sql azure database як інноваційна технологія баз даних