Как хранятся данные на SQL-сервере? [закрыто]

19

Как хранятся данные на сервере SQL?

    
задан Anoop 14.05.2009 в 20:20
источник
  • Просьба уточнить, что именно вы ищете? –  Mark Sherretta 14.05.2009 в 20:22
  • Я ищу механизм хранения ..... В каком порядке данные вводятся в sql-сервер ... Например, если мы вставляем 10 миллионов строк, как строки будут вставлены, как пейджинг ... журналы транзакций. .файлов ... файлов –  Anoop 14.05.2009 в 20:34
  • OP должен быть отредактирован, чтобы отразить это. Плохое сообщение ... –  Mark Canlas 14.05.2009 в 21:09

6 ответов

16

Эта статья Wikipedia описывает ее довольно хорошо.

Вот его подмножество, относящееся к Хранению данных:

  

Хранение данных Основной блок   хранилище данных - это база данных, которая является   сбор таблиц с типизированными   колонны. SQL Server поддерживает разные   типы данных, включая первичные типы   такие как Integer, Float, Decimal, Char   (включая символьные строки), Varchar   (символьные строки переменной длины),   двоичный (для неструктурированных капель   данные), текст (для текстовых данных) среди   другие. Он также позволяет пользователю   составные типы (UDT), которые будут определены   и используется. SQL Server также делает сервер   статистика доступна как виртуальные таблицы   и представления (называемые динамическим управлением   Views или DMV). База данных также может   содержат другие объекты, включая представления,   хранимые процедуры, индексы и   ограничений, в дополнение к таблицам,   наряду с журналом транзакций. SQL   База данных сервера может содержать максимум   из 231 объектов и может охватывать несколько   Файлы уровня ОС с максимальным файлом   размер 220 ТБ. Данные в   база данных хранится в первичных данных   файлы с расширением .mdf.   Файлы вторичных данных, идентифицированные с помощью   расширение .ndf, используются для хранения   необязательные метаданные. Файлы журналов   идентифицированный с .ldf   расширение.

     

Место хранения, выделенное для базы данных   разделяется на последовательно пронумерованные   страниц размером 8 КБ. Страница   базовая единица ввода-вывода для SQL Server   операции. Страница отмечена значком   96-байтовый заголовок, в котором хранятся метаданные   о странице, включая страницу   номер, тип страницы, свободное место на   страницы и идентификатора объекта, который   владеет им. Тип страницы определяет данные   содержащиеся на странице - данные, хранящиеся в   база данных, индекс, карта распределения   который содержит информацию о том, как   страницы выделяются для таблиц и   индексов, изменение карты, которая выполняется   информация об изменениях, внесенных в   другие страницы с момента последнего резервного копирования или   регистрации или содержат большие типы данных   таких как изображение или текст. Пока страница   базовая единица операции ввода-вывода,   пространство фактически управляется с точки зрения   степень, которая состоит из 8 страниц.   объект базы данных может охватывать все 8   страниц в объеме («равномерная протяженность»)   или доля в размере до 7   объекты («смешанная протяженность»). Строка в   таблица базы данных не может превышать   одна страница, поэтому она ограничена 8 КБ в   размер. Однако, если данные превышают 8   KB, а строка содержит Varchar или   Варвариальные данные, данные в этих   столбцы перемещаются на новую страницу (или   возможно, последовательность страниц, называемая   блок распределения) и заменены на   указатель на данные.

     

Для физического хранения таблицы ее   строки разделены на ряд   разделов (с номерами от 1 до n).   размер раздела определяется пользователем; от   по умолчанию все строки находятся в одном   раздел. Таблица разделена на   несколько разделов для распространения   база данных по кластеру. Строки в   каждый раздел хранится в   B-дерева или кучи. Если таблица   имеет связанный индекс, позволяющий быстро   поиск строк, строки хранятся   в порядке их индекса   значений, с B-деревом, обеспечивающим   индекс. Данные находятся в листовом узле   листья и другие узлы, хранящие   значения индекса для данных листа   достижимые из соответствующих узлов.   Если индекс не кластеризован,   строки не сортируются в соответствии с   индексные ключи. Индексированное представление имеет   та же структура хранения, что и индексированная   Таблица. Таблица без индекса   хранящихся в неупорядоченной структуре кучи.   Как кучи, так и В-деревья могут   несколько единиц размещения.

    
ответ дан Erich Mirabal 14.05.2009 в 20:23
источник
9

Данные SQL Server хранятся в файлах данных, которые по умолчанию имеют расширение .MDF. Файлы журнала (.LDF) являются последовательными файлами, используемыми SQL Server для регистрации транзакций, выполняемых с экземпляром SQL Server (подробнее об экземплярах за мгновение). Файлы журнала (файлы .LDF) автоматически усекаются при использовании модели восстановления SIMPLE, но не при использовании BULK LOGGED или FULL recovery.

Экземпляры допускают более одной установки SQL Server на одной машине. Если экземпляр является безымянным, это экземпляр по умолчанию. Возможны именованные экземпляры. Например,

MACHINENAME & lt; - экземпляр по умолчанию - это просто имя машины MACHINENAME \ Test & lt; - это экземпляр "Test" на этом компьютере

Вы можете использовать такие инструменты, как SQL Server Management Studio (с SQL Server 2005) или Enterprise Manager (SQL Server 2000 и ранее) для взаимодействия с экземпляром & amp; базы данных под экземпляром.

Все экземпляры (с SQL Server 2005) будут иметь скрытую базу данных ресурсов, а также базу данных master, model, msdb и temp. Эти базы данных являются «системными» базами данных.

Не уверен, что еще вы ищете. Надеюсь, что это поможет.

EDIT: О да, физически данные в «файлах данных» (файлы .MDF, по умолчанию) структурированы в так называемых «страницах» в SQL Server. Данные в файлах журнала (файлы .LDF) сохраняются последовательно. На предприятии файлы данных и журналов иногда разделяются на разных физических жестких дисках для лучшего ввода / вывода на диске. Для этого используется аппаратный RAID.

EDIT2: Забыл упомянуть группы файлов. Используя группы файлов, вы можете создать схему логической базы данных, чтобы элементы этой схемы физически разделялись, как правило, для распределения физической базы данных на разных жестких дисках. Например, вы можете иметь группу файлов данных, группу файлов индексов и группу файлов изображений (для двоичных изображений).

    
ответ дан Garrett 14.05.2009 в 20:31
источник
  • Просто заметил ваш тег «sqlserver2008», поэтому некоторые из вышеперечисленных элементов можно игнорировать. знак равно –  Garrett 14.05.2009 в 20:32
  • Ваше сообщение очень полезно –  Anoop 15.05.2009 в 15:30
  • Большое спасибо –  Anoop 15.05.2009 в 15:31
  • Нет проблем! Рад, что это помогло. –  Garrett 15.05.2009 в 23:41
6

Я рекомендую книгу «Microsoft SQL Server 2008 Internals» - на самом деле все, что делает Kalen Delaney на внутренней стороне, хорошо, IMO.

    
ответ дан onedaywhen 15.05.2009 в 10:36
источник
  • +1 для Карен Делани .... –  Kev 15.05.2009 в 15:21
  • +1> Отличная книга, объясняет внутренности намного лучше, чем несколько сотен символов, которые можно было бы сделать на веб-форуме. –  Aaron Alton 17.05.2009 в 04:59
2

SQL Server - это система управления реляционными базами данных :

  

A Управление реляционными базами данных   система (СУБД) - это база данных   системы управления (СУБД), которая основана   на реляционной модели, представленной   Э. Ф. Кодд. Самые популярные рекламные ролики   и базы данных с открытым исходным кодом,   использование основано на реляционной модели.

     

Краткое определение СУБД может быть   СУБД, в которой данные хранятся в   форма таблиц и взаимосвязь   среди данных также сохраняется в   форма таблиц.

    
ответ дан Andrew Hare 14.05.2009 в 20:23
источник
1

Вы можете сделать это примерно так же глубоко, как вы хотите, но для SQL Server 2008 Файлы и Архитектура файловых групп - MSDN - хороший обзор базовой архитектуры базы данных.

Сайт MSDN станет ценным ресурсом, если вам потребуется еще более подробная информация о том, как SQL Server 2008 хранит данные.

    
ответ дан mwigdahl 14.05.2009 в 20:24
источник
-4

Что такое РСУБД?

RDBMS означает систему управления реляционными базами данных. Данные РСУБД структурированы в таблицах, полях и записях базы данных. Каждая таблица РСУБД состоит из строк таблицы базы данных. Каждая строка таблицы базы данных состоит из одного или нескольких полей таблицы базы данных.

RDBMS хранит данные в коллекции таблиц, которые могут быть связаны с общими полями (столбцами таблицы базы данных). СУРБД также предоставляют реляционные операторы для управления данными, хранящимися в таблицах базы данных. Большинство СУБД используют SQL в качестве языка запросов базы данных.

Эдгар Кодд представил модель реляционной базы данных. Многие современные СУБД не соответствуют определению Codd для РСУБД, но тем не менее они по-прежнему считаются РСУБД.

Наиболее популярными СУБД являются MS SQL Server, DB2, Oracle и MySQL. Источник

    
ответ дан Serapth 14.05.2009 в 20:22
источник