Моделі відновлення бази даних в sql
Кожна база даних SQL Server характеризується моделі відновлення. Встановлення цієї моделі визначає, яким чином операції обробляються в журналі транзакцій і час, в який колоди повинні бути вилучені.
Існують три різні моделі: Повна, прості і з неповним протоколюванням. Кожен має свої переваги і недоліки, які необхідно враховувати.
Ми аналізуємо характеристики кожного з них:
Повна модель відновлення - У цій моделі, коли користувач вводить або зміни даних, кожна угода проходить через журнал транзакцій і коли зміни передаються у файли журналу бази даних, не видаляються, перш ніж це зроблено для резервного копіювання. Ця модель має основною метою безпеки, але має обмеження по швидкості, легкості та обсягу даних для управління.
Просте відновлення - У цій моделі журнали транзакцій віддаляються відразу ж після того як вони зроблені в силу в базі даних. Цей підхід є простим і швидким, але ясно, з точки зору безпеки забезпечує меншу впевненість, ніж останній.
Відновлення з неповним протоколюванням - Ця модель спрямована на високу продуктивність і мінімальний розмір лог-файлів. Це можна розглядати як легку версію повноекранному режимі, так як він записує менше інформації для того, щоб максимізувати простір.
Тригер в sql
Тригер – це спеціальна програма або спеціальний тип процедури, який зберігається на сервері і автоматично виконується при внесенні змін до таблицею
Кожен тригер пов’язаний з певною таблицею. Всі дії одного тригера розглядаються як одна транзакція Тригери розрізняються по типу команд, на які вони реагують.
Процедури, що зберігаються - це набір скомпонованих операторів Transact SQL (може використовуватися лише мова, яка підтримується даною СКБД), які зберігаються в БД як поіменовані об’єкти і може використовуватися за потребою з клієнтської програми.
Деякі операції оброблення даних, які дуже часто треба виконувати формуються у вигляді процедур, що зберігаються на сервері.
Процедури використовуються не тільки для підтримки цілісності, а й для реалізації бізнес-правил. Якщо ці правила змінюються, то ми вносимо зміни лише в процедури, а не у всі клієнтські додатки. В SQL Server 2008 підтримуються декілька процедур, що зберігаються:
Системні процедури – програми, що розроблені працівниками MS SQ Server і вони призначені для використання управління реплікацій і автоматизації.
Реплікації – механізм узгодження синхронного чи асинхронного внесення змін до територіально розподіленої БД.
Користувацькі процедури - прикладні програми, які досить часто потрібно використовувати.
Тимчасові (локальні) процедури - різновид користувацьких, які не потрібно постійно зберігати на сервері.
OLAP куб
OLAP-куб — структура, яка дозволяє швидкий аналіз даних. Також може бути визначена як здатність до маніпулювання і аналізу даних з різних перспектив. Впорядкування даних у куби долає обмеження реляційних баз даних. Такі бази даних не дуже добре пристосовані для майже миттєвого аналізу та відображення великих обсягів даних. Навпаки, вони відповідають вимогам створення записів через серії транзакцій OLTP. Хоча існує багато інструментів створення звітів для реляційних баз даних, вони надто повільні, коли має бути оброблена ціла база даних.
Основи
OLAP-куби можна розглядати як розширення двовимірних масивів електронних таблиць. Наприклад, компанія може забажати проаналізувати деякі фінансові дані за продуктами, за періодами, за місцем продажу, за типом прибутку та ціною, і порівняти фактичні дані з бюджетом. Це і називається вимірами. Оскільки OLAP система може мати більше трьох вимірів, іноді використовують термін гіперкуб.
Функціональність
OLAP-куб складається з числових фактів, що називаються мірами які категоризовані за вимірами. Куб може бут створеним зі схеми зірки або схеми сніжинки, схеми таблиць в реляційній базі даних. Міри походять із записів в таблиці фактів, а виміри походять з таблиці вимірів
Проекції
Фінансовий аналітик хоче бачити дані в різних проекціях, наприклад, відобразити всі міста уздовж сторінки, а всі продукти впоперек. Це може бути потрібно для визначенного періоду, версії і т.д.. Після перегляду цих даних аналітик може забажати переглянути дані іншим чином. Куб може бути ефективно переорієнтований, таким чином отримання нових типів звітів не вимагає багато часу, скажімо, секунди (у порівнянні з годинами у випадку реляційних баз даних.
Ієрархія
Кожен елемент виміру може бути верхівкою ієрархії.
Наприклад, січень 2010 може бути об'єднаний у першу чверть 2010, яка може бути об'єднана в 2010 рік. Схожим чином міста можуть бути об'єднані в регіони, країни в глобальні регіони, товари можуть бути об'єднані в більші категорії. Аналітик може почати з вищого рівню ієрархії, такого як загальна різниця між витратами і бюджетом, а потім заглиблюватися в нижчі рівні для визначення походження цієї різниці.
OLAP операції
Зріз (англ. slice): формується підмножина багатовимірного масиву даних, що відповідає єдиному значенню одного або декількох вимірів, що не входять до цієї підмножини. Якщо розглядати з позиції кінцевого користувача, то найчастіше роль зрізу відіграє двовимірна проекція OLAP-куба.
Нарізка на кубики (англ. dice): зріз більше ніж за двома вимірами куба.
Консолідація (англ. drill up) та деталізація (англ. drill down): операції, що визначають перехід від детального представлення даних до агрегованого (вгору) і навпаки — від агрегованого до детального (вниз).
Обертання, півотинг (англ. pivot): Перетворення стовпців таблиці на рядки і навпаки.
Зв'язування кубів і розрядженість
Комерційні OLAP продукти мають різні методи для створення і для зв'язування кубів.
Зв'язування — метод для подолання розрідженості. Розрідженість виникає коли не кожна комірка в кубі містить дані, тким чином цінний процесорний час витрачається на складання нулів.
Розподілені бази даних
Розподілена БД – сукупність взаємопов’язаних баз даних, розподілених у комп’ютерній мережі.
Класифікація баз даних
Відмінність розподіленої БД від розподіленої обробки даних полягає в тому, що при розподіленій обробці даних, дані не розподіляються, а зберігаються централізовано.
Розподілені системи поділяються на гомогенні та гетерогенні. Гомогенні – системи, орієнтовані на використання однієї СКБД. У гетерогенних системах у різних вузлах можуть використовуватись різні СКБД. Мультибазові системи характеризуються абсолютно автономним управлінням кожного вузла мережі. Вони надають можливість користувачеві самостійно управляти даними свого вузла без централізованого контролю цих процесів. Мультибазові системи поділяються на федеральні та не федеральні.
Переваги та недоліки розподілених БД.
Переваги:
Розподілена БД зручна для побудови баз даних організацій, які характеризуються значною кількістю територіально розподілених підрозділів. Існує можливість реалізувати глобальні запити.
У розподіленій БД вихід з ладу головного сервера не призводить до припинення всієї роботи в цілому.
Розподілена БД більш гнучка з погляду її розширення шляхом створення нових вузлів.
Недоліки:
Більш складна система на основі розподілених БД.
Проектування розподіленої БД набагато складніше ніж проектування централізованих БД.
Фрагментація – розподіл відношення на кілька частин. Фрагменти одного і того ж відношення можуть фізично зберігатися на різних вузлах мережі. Потреба у фрагментації може виникнути у разі необхідності підвищення продуктивності системи, що дозволяє зберегти дані там, де вони найчастіше використовуються. Фрагментація дозволяє локалізувати певні операції обробки даних та зменшити обсяги даних, які необхідно передавати по мережі. Фрагментація може бути горизонтальною, вертикальною і змішаною.
Трансакція – це певна сукупність операцій над файлами БД, яка поєднує певний набір команд, що змінюють зміст файлів бази даних, але при цьому ці зміни вносять не одразу, а відкладають до закриття трансакції.
