два підходи до організації обробки распределнних даних.
. технологія розподіленої бази даних Така база включає фрагменти даних, розташовані на різних вузлах мережі. З точки зору користувачів вона виглядає так, як ніби всі дані зберігаються в одному місці. Природно, така схема висуває жорсткі вимоги до продуктивності і надійності каналів зв'язку.
. технологія тиражування У цьому випадку в кожному вузлі мережі дублюються дані всіх комп'ютерів. При цьому:
· передаються тільки операції зміни даних, а не самі дані
· передача може бути асинхронної (неодночасної для різних вузлів)
· дані розташовуються там, де обробляються
Це дозволяє знизити вимоги до пропускної спроможності каналів зв'язку, більше того при виході з ладу лінії зв'язку якого-небудь комп'ютера, користувачі інших вузлів можуть продовжувати роботу. Однак при цьому допускається неоднакове стан бази даних для різних користувачів в один і той же момент часу. Отже, неможливо виключити конфлікти між двома копіями однієї і тієї ж записи.
2.3 Структура сервера бази даних
На закінчення розглянемо фізичну організацію сервера бази даних. Як правило, він включає наступні компоненти:
· підсистема взаємодії з клієнтським додатком Даний модуль відповідає за підтримання зв'язку з клієнтом. Як правило, механізм його роботи виглядає наступним чином. Підсистема взаємодії прослуховує мережу в очікуванні клієнтських запитів на встановлення з'єднання. Коли такий запит виявляється, породжується новий процес, який буде забезпечувати зв'язок з даним клієнтом. Клієнту повідомляється ідентифікатор даного процесу, надалі клієнт передає свої запити і отримує дані взаємодіючи з цим інтерфейсним процесом. Після того, як клієнт закриває з'єднання, що обслуговував його процес припиняється. Характеристики інтерфейсних процесів залежать від операційної системи, під якою виповнюється сервер бази даних.
· підсистема синтаксичного розбору запитів Даний модуль відповідає за компіляцію надходять від клієнтів через інтерфейсні процеси запитів у внутрішній код, який буде виконуватися сервером. При помилках компіляції відповідні повідомлення передаються клієнту. Найбільш сучасні СУБД дозволяють зберігати відкомпільований код запитів деякий час. Це дозволяє уникнути стадії компіляції при повторному зверненні клієнта до запиту.
· підсистема планування виконання запитів Даний модуль повинен скласти такий план виконання запиту, щоб він був оброблений найбільш швидко. Для цього аналізуються умови вибірок і з'єднань, встановлюється порядок їх виконання. Нехай, наприклад, треба витягти одного співробітника зі списку працівників, як критерій пошуку задаються його ім'я та прізвище. Можливі два плану виконання запиту: (1) спочатку робиться вибірка всіх співробітників з даним ім'ям, з неї витягуються записи, що містять дану прізвище; (2) - навпаки, спочатку робиться вибірка по прізвища, потім по імені. Оскільки безліч імен, як правило, менше безлічі прізвищ, у другому випадку запит буде оброблений швидше, оскільки на другому етапі тут ми отримаємо меншу вибірку. Планувальники запитів провідних СУБД відстежують інформацію про розподіл значень в таблицях. План виконання запиту включається до його відкомпільований код.
· підсистема виконання транзакцій Тут виконується оптимізований код запиту, оновлюються індекси, виконуються у разі потреби тригери і процедури. Як правило, декілька запитів можуть виконуватися паралельно, при цьому забезпечується необхідний рівень їх ізоляції. Також ведеться журнал транзакцій, забезпечується їх завершення і коректний відкат.
· підсистема управління пам'яттю Цей компонент відповідає за зчитування даних з диска в оперативну пам'ять, синхронізацію оновлень з даними диску і т.д. Він може використовувати файлові функції операційної системи, але часто СУБД має свої власні низькорівневі засоби доступу до дисків.
3. Створення бази даних за допомогою Денвер
Денвер - це набір дистрибутивів і програмна оболонка, використовувані Web-розробниками (програмістами і дизайнерами) для налагодження сайтів на локальній Windows-машині без необхідності виходу в Інтернет. До складу базового пакета Денвера входять:
· Apache 2 з підтримкою SSL і mod_rewrite;
· PHP5: виконувані файли, модуль для веб-сервера Apache, дистрибутивний і адаптований конфігураційний файл, бібліотека GD, модулі підтримки MySQL і sqLite;
· MySQL5 з підтримкою InnoDB, транзакцій і російських кодувань (windows - тисяча двісті п'ятьдесят один). phpMyAdmin - панель управління базою даних...