русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Организация хранения данных в SQL Server


Дата добавления: 2015-07-09; просмотров: 1810; Нарушение авторских прав


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

Первичные файлы данных имеют расширение .MDF. Это файлы, создаваемые в базе данных в первую очередь и содержащие создаваемые пользователем объекты, такие как таблицы и представления, а также системные таблицы, необходимые SQL Server для поддержки базы данных. Если база данных разрастается так, что объема одного жесткого диска ей не хватает, вы можете создать вторичные файлы данных, имеющие расширение .NDF, на другом жестком диске, таким образом расширяя об­щее пространство, доступное базе данных.

Вторичные файлы данных могут быть сгруппированы. Файловой группой называют логическую группировку файлов; при этом физически файлы могут размещаться на разных дисках, но SQL Server будет их интерпретировать как единое целое. Свойство группировки незаменимо при поддержке громадных баз данных (VLDB), занимаю­щих терабайты дискового пространства.

Файлы журнала транзакций. Они имеют расши­рение .LDF и не содержат объектов базы данных, таких как таблицы или представле­ния. Чтобы понять сущность журнала транзакций, нужно иметь некоторое представ­ление о механизме записи данных SQL Server на диск.

Когда пользователь хочет внести некоторые изменения в данные таблицы, эти из­менения не выполняются непосредственно в файле на диске. Вместо этого сервер извлекает подлежащие изменению данные в оперативную память, где пользователь уже и вносит изменения. Через определенные промежутки времени (примерно через каждые 5 минут) SQL Server берет все изменения, содержащиеся в памяти, и запи­сывает их в файл журнала транзакций. После того как изменения попали в журнал транзакций, они записываются в файл базы данных. Такой журнал называется упреждающим, так как запись в него выполняется перед записью в саму базу данных.



Вы спросите, зачем все это нужно? На то есть две причины, и первая из них — скорость. Память в сотни раз быстрее жесткого диска, поэтому, извлекая данные в память и выполняя изменения в ней, а не непосредственно на диске, мы сокращаем время записи в сотни раз. Вторая причина состоит в том, что журнал транзакций можно использовать для восстановления данных. Предположим, что прошлой ночью в 10 часов было выполнено резервирование данных, а сбой диска произошел сегодня в 11 часов утра, когда с базой данных уже велась работа несколько часов. Если при восстановлении воспользоваться только резервной копией базы данных, то будет потеряна вся работа за утро. Однако с помощью журнала транзакций данные могут быть восстановлены по состоянию на момент сбоя диска (разумеется, если журнал транзакций хранился на отдельном, рабочем диске). Журнал транзакций сохраняет данные и их изменения в режиме реального времени, и его можно рассматривать как оперативную резервную копию.

Теперь давайте заглянем внутрь файлов базы данных. Подумайте, что случилось бы, если бы они не имели внутреннего порядка или организации, т.е. если бы про­грамма SQL Server записывала информацию в первое попавшееся свободное про­странство. В этом случае потребовалась бы вечность, чтобы найти нужную инфор­мацию, и работа сервера замедлилась бы донельзя. Чтобы такого не случилось, SQL Server имеет невидимый нижний уровень хранения данных внутри файлов — страни­цы и экстенты.



<== предыдущая лекция | следующая лекция ==>
Программы, устанавливаемые в SQL Server | Страницы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.18 сек.