VR
Virtual Reality On-line   Журнал
Новости   |     Журнал    |    Хаkер    |     Магазин   |   Проекты
[   Вход    ]
[Kарта сайтa]

[ Download  ]
[  Конкурс  ]
[ Анекдоты  ]
[  Ссылки   ]
[  Реклама  ]
[ Почтальон ]
[ О проекте ]






TopList
SQL Server 2000.
Теория
:
Logo

Введение в SQL Server!

Logo
Рис 1. Клиент сервер.

Ты можешь использовать SQL Server для управления двумя типами баз данных:

  1. Online transaction processing (OLTP) databases
  2. Online analytical processing (OLAP) databases

SQL Server поддерживает вертикальное масштабирование: вверх для использования больших баз данных и вниз для использования в малом бизнесе и протативных компьютерах. А так же поддерживает горизонтальное масштабирование, с помощью построения кластеров на платформе Windows 2000.

Ты можешь использовать SQL Server для выполнения транзакций, хранения и анализа данных, а также, для построения приложений. Семейство продуктов и технологий SQL Server удовлетворяет требованиям хранения данных OLAP и OLTP.

SQL Server – реляционная база данных:

  1. Удовлетворяет клиент-серверной технологии.
  2. Использует Transact SQL или XML для посылки запросов между клиентом и сервером. Есть и ещё multidimensional expressions (MDX) и SQL distributed objects (SQL-DMO), но они не столь распространены.

Система управления реляционными базами данных (RDBMS)

К системе управления реляционными базами относится:

  1. Поддерживать отношения между данными и базой
  2. Гарантировать, что данные хранятся корректно и определённые роли и отношения между данными не нарушены
  3. Восстановление данных для обеспечения целостности при системных ошибках.

Модель хранения данных

Как я уже говорил, SQL Server использует OLTP и OLAP базы данных.

Данные в OLTP базах данных как правило организованы в реляционные таблицы для уменьшения избыточной информации и увеличения скорости обновления. SQL Server позволяет большому числу пользователей выполнять транзакции и одновременно изменять в реальном времени данные в OLTP базе данных.

Технология OLAP баз данных организует большое количество данных для быстрого анализа и оценки данных в реальном времени. SQL Server 2000 Analysis Services организует данные для поддержки больших массивов решений предприятий от корпоративной отчётности и аналитики до моделирования данных и принятия решений.

Клиентские приложения

Пользователи не имеют прямого доступа к SQL Server и Analysis Services. Вместо этого используются отдельные клиентские приложения написанные для доступа к данным. Эти приложения получают доступ к SQL-server с помощью:

  1. Transact-SQL - это версия языка запросов SQL. Это основной язык запросов к базам данных и язык программирования используемый в SQL Server.
  2. XML – этот формат возвращает данные из запросов и встроенных процедур используя URL или шаблона поверх HTTP. Ты также можешь использовать XML для вставки, удаления и обновления данных в базе данных.
  3. MDX (multidimensional expressions) синтаксис объявляет многомерные объекты и запросы для манипулирования многомерными данными в OLAP базах данных.
  4. OLE DB и ODBC API – клиентские приложения используют OLE DB и ODBC (Open Database Connectivity) программные интерфейсы для посылки команд к базе данных.
  5. ActiveX Data Objects (ADO)– клиентские приложения могут использовать ADO для лёгкого доступа из с помощью таких языков программирования как Delphi, Visual C++ и Visual Basic. ADO можно использовать и с в ASP, для обеспечения доступа клиентов к базе данных через Internet.
  6. English Query – это API позволяющие приложениям давать возможность использовать запросы на натуральном английском языке, вместо комплексных Transact-SQL или MDX команд. Для примера, пользователь может использовать запрос типа: «What are the total sales for Region 5?».

Клиент серверные компоненты.

SQL Server содержит клиентские и серверные компоненты для получения и отправки данных. SQL Server использует коммуникационную архитектуру из слов. Эта архитектура позволяет тебе разворачивать некоторые приложения в разных сетевых окружениях.

SQL Server использует клиент - серверную архитектуру чтобы изолировать объем работы в задачи, которые будут выполнятся на сервере (раньше они выполнялись на компьютере – клиенте).

Клиент отвечает за бизнес логику и представление данных пользователю. Обычно клиентские приложения запускаются на одном или нескольких компьютерах. Помимо этого, клиент может быть запущен и на компьютере сервере вместе с SQL Server.

Сервер управляет базой и распределяет доступные серверу ресурсы, такие как память, дисковые ресурсы, пропускная способность сети между многочисленными запросами.

Архитектура клиент – сервер позволяет тебе моделировать и развёртывать приложения для увеличения многообразия окружений. Клиентские интерфейсы обеспечивают возможности приложениям запускаться изолировано на клиентских компьютерах и связи с сервером по сети.

Клиентские компоненты коммуникационной архитектуры включают:

  1. Клиентское приложение посылает серверу Transact-SQL запросы и получает результаты. Приложения разрабатываются с помощью API баз данных. Приложение понятия не имеет об используемом протоколе для соединения с SQL Server.
  2. API базы данных (OLE DB, ODBC) используют провайдеры, драйверы или dll-файлы для отправки Transact-SQL запросов и получения результатов.
  3. Client Net-Library. Клиентские сетевые библиотеки управляют сетевыми соединениями и маршрутизацией на клиенте. Это коммуникационные программные сетевые компоненты, которые пакуют запросы и результаты для отправки

Серверные компоненты коммуникационной архитектуры включают:

  1. Server Net-Library. Серверные сетевые библиотеки могут следить несколько сетевых библиотек одновременно. Для успешного соединения, клиентская сетевая библиотека должна соответствовать одной из серверных библиотек. SQL Server поддерживает такие сетевые протоколы как: TCP/IP, Named Pipes, NWLink, IPX/SPX, VIA GigaNet SAN, VIA ServerNet 2 SAN, AppleTalk, Banyan VINES.
  2. Open Data Services извлекает запросы из пакетов для SQL-Server и наоборот, упаковывают результаты запросов в пакеты для отправки клиенту.
  3. Relational Engine анализирует Transact-SQL запросы, оптимизирует и выполняет.
  4. Storage Engine управляет файлами базы данных, читает и записывает данные в физические страницы, управляет буферами данных и физическим вводом/выводом, контролирует параллелизм, резервным копированием и восстановлением данных.

Процесс коммуникации SQL Server

Logo
Рис 2. Процесс коммуникации SQL Server.

Обычно, клиент коммутируется к серверу через сеть (за исключением случая, когда клиент и сервер находятся на одном компьютере). Следующая последовательность действий запроса иллюстрирует процесс типичной клиент – серверной коммуникации используя API базы данных.

  1. Приложение клиента посылает запрос. Клиент вызывает API функцию базы данных и посылает запрос. API базы данных использует провайдера, драйвер или DLL-файл для встраивания запроса в один или несколько TDS (Tabular Data Stream) пакетов и посылает пакеты клиентской сетевой библиотеке (Client Net-Library).
  2. Клиентская сетевая библиотека пакует TDS пакеты в пакеты сетевого протокола (например TCP/IP). Клиентская сетевая библиотека вызывает API межпроцессорного соединения (IPC) Windows для отправки пакетов серверной сетевой библиотеке (Server Net-Library) используя стек сетевого протокола операционной системы.
  3. Open Data Services извлекает запросы из TDS пакетов и посылает запросы к Relational Engine. Relational Engine компилирует запросы в оптимизированный запускной код и запускает его. Relational Engine связывается с Storage Engine с использованием интерфейсов OLE DB.
  4. Storage Engine передаёт данные из базы данных в буфер данных и посылает наборы строк содержащие данные к Relational Engine. Relational Engine соединяет наборы строк в окончательный результат и возвращает результат в Open Data Services
  5. Open Data Services пакует результат и возвращает их клиентскому приложению используя серверные сетевые библиотеки, стек протоколов, клиентскую сетевую библиотеку и API базы данных (обратный процесс). Результат может быть возвращён также в XML формате.

Сервисы SQL Server

SQL Server включает следующие сервисы: MSSQLServer Service, SQLServerAgent service, Microsoft Distributed Transaction Coordinator (MS DTC) и Microsoft Search. Несмотря на то, что MSSQLServer Service запускается как сервис в Windows 2000, он также может запускаться как приложение.

MSSQLServer Service

MSSQLServer Service – сервис инструментов базы данных. Это компонент, который обрабатывает все Transact-SQL команды и управляет всеми файлами включёнными в базу данных на сервере. MSSQLServer Service отвечает за:

  1. Распределение ресурсов компьютера между множеством конкурирующих пользователей.
  2. Предотвращает логические проблемы, такие как синхронизация запросов от пользователей, которые пытаются изменять они и те же данные в один момент времени.
  3. Гарантирует устойчивость и целостность данных.

SQLServerAgent service

SQLServerAgent service – работает совместно с SQL Server для создания и управления сообщениям, локальными или многопользовательскими работами и операторами. SQLServerAgent service выполняет следующее:

  1. Сообщения обеспечивают информацией о статусе процессов, таких как выполнение работ и сообщения об ошибках.
  2. SQLServerAgent service включает инструменты создания работ и расписания которые автоматизируют задачи.
  3. SQLServerAgent service может посылать сообщения по e-mail почте или Net-BIOS оператору, или запускать другие приложения по сообщению об ошибке.

Microsoft Distributed Transaction Coordinator (MS DTC)

MS DTC позволяет клиентам включать несколько разных исходных данных в одну транзакцию. MS DTC правильно координирует завершение распределённых транзакций гарантируя, что все обновления на всех серверах постоянны или если произошла ошибка – гарантирует, что все изменения отменены.

Microsoft Search

Microsoft Search- инструмент полнотекстового поиска. Он запускается как сервис в Windows 2000.

Несколько экземпляров SQL Server

Начиная с SQL Server 2000 ты можешь запускать несколько экземпляров SQL Server на одном компьютере. Каждый экземпляр владеет своим набором системных и пользовательских баз данных, которые не разделяются между экземплярами. Каждый экземпляр работает так, как будто он единственный на компьютере. Приложения могут соединятся с каждым экземпляром SQL Server.

Если ты при присоединении к серверу указал только имя компьютера и не указывал экземпляр, то соединение произойдёт с экземпляром по умолчанию. Чтобы присоединится к именованному экземпляру, нужно указывать «Имя компьютера/Имя экземпляра».


Design by FMk group ©
Copyright©: Horrific aka Флёнов Михаил ©