2000 г

Физическая структура данных в SQL Server 7.0

Журнал "Windows 2000 Magazine", #03/2000

Татьяна Крамарская

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

Я думаю, этот материалМатериал— вещество или смесь веществ, из которых изготавливается что-либо или которые способствуют каким-либо действиям. В последнем случае уточняют, что это вспомогательный или расходный материал. будет интересен специалистам, которые знакомы с документацией по SQL Server 7.0, уже имеют опыт работы и хотят глубже проникнуть в механизмыМеханизм (греч. mechan— машина)— это совокупность совершающих требуемые движения тел (обычно— деталей машин), подвижно связанных и соприкасающихся между собой. Механизмы служат для передачи и преобразования движения., используемые сервером.

Физическая структура данных SQL Server 7.0, в курсах Microsoft Official Curriculum (MOC), к сожалению, не рассматривается. В документации общая схема, конечно, изложена, но не описана динамика роста таблиц и индексов. Предлагаю рассмотреть динамику использования сервером физической структуры данных на простых примерах.

Не буду повторять сведения из документации, напомню лишь, что страница - это 8К, а экстентом называют последовательно расположенные 8 страниц (64К). SQL Server использует два типа экстентов: однородные и смешанные. Однородные экстенты всегда принадлежат только одному объекту. Смешанный экстент может использоваться восемью объектами.

Для изучения физической структуры данных проведем простой эксперимент.

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

Итак, три таблицы TA1, TA2 и ТA3 в базе данных MYDB.

USE MYDB

CREATE TABLE TA1 (COL_1 CHAR (8000) NOT NULL)

CREATE TABLE TA2 (COL_1 CHAR (8000) NOT NULL)

CREATE TABLE TA3 (COL_1 CHAR (8000) NOT NULL)

Проверим, где расположена первая страница каждой таблицы и сколько места выделено и используется в таблице TA1. Вспомним, что поле FIRST - это первая страница, ROOT - последняя, FIRSTIAM - первая страница в списке IAM-страниц, индексных карт размещения.

В SQL Server 7.0 страница всегда идентифицируется парой параметров <fileid><pageno>, где <fileid> - идентификаторИдентификатор, ID (англ.data name, identifierнаименование данных) - это уникальный признак объекта, позволяюший различать объекты и/или объект по идентификатору. файла, а<pageno> - номер страницы в этом файле. Номера страниц уникальны только внутри одного файла. Поэтому, когда мы говорим о номере страницы, то подразумеваем именно два параметра. Именно в таком виде, в двух частях, эта информация и хранится в полях системной таблицы sysindexes. В таблице sysindexes все идентификаторы страниц хранятся в шестнадцатеричном виде с обратным порядком байтов. Для прочтения идентификаторов нужно сначала поменять порядок байтов, а потом перевести результат в десятичный вид.

Ниже приведена программаПрограмма - (от греч. — пред, греч. — запись) термин, в переводе означающий «предписание», т.е., которая выполняет эту работу, см. Листинг 1.

Результат имеет вид, показанный на Рисунке 1:

РИСУНОК 1.

Итак, мы видим, что первые страницы таблиц расположены не подряд, а через одну. Потому что сразу за первой страницей данных таблицы следует ее индексная карта размещения, IAM-страница.

Добавим одну запись и посмотрим на занимаемое таблицей пространство.

INSERT INTO TA1(COL_1) VALUES ('1')

EXEC SP_SPACEUSED TA1

name rows reserved data index_size unused

-------

TA1        116 KB    8 KB    8 KB 0 KB

Теперь добавим еще одну запись и посмотрим, как изменилось значение поля ROOT, указывающего на последнюю страницу (Листинг 2).

Один из возможных результатов выглядит так:

Root converted root

----

1:100        0x6400000000100

Повторим эту процедуру семь раз, увеличивая соответственно значение поля COL_1, пока в таблице не появится 9 записей.

Еще раз выберем информацию из таблицы sysindexes, как мы делали ранее, результат представлен на Рисунке 2:

РИСУНОК 2.

Выполним хранимую процедуру

EXEC SP_SPACEUSED TA1

name rows reserved data index_size unused

-------

TA1    9     136 Kв     72 Kв     8 Kв     56 Kв

Как видно из результата выполнения sp_spaceused, размер зарезервированного пространства 136 Кбайт, а размер данных 72 Кбайт.

Исследуем теперь заголовок страницы данных и индексной карты размещенияКоличество размещений из n по k, обозначаемое A_n^k

РИСУНОК 3.

Заметьте, что идентификатор объекта (m_objId) в заголовке страницы соответствует результату выполнения оператора SELECT OBJECT_ID ('TAl'), и страница принадлежит таблице ТA1.

Тип экстента смешанный, страница заполнена на 100%.

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

DBCC TRACEON (3604)

DBCC page ('MYDB', 1,87,0,0)

Результат представлен на Рисунке 4.

РИСУНОК 4.

Заметим, что в заголовке страницы указан ее тип IAM_PG, тип экстента и заполнение.

Прочитаем заголовок последней страницы таблицы ТA1.

DBCC TRACEON (3604)

DBCC page ('MYDB', 1,112,0,0)

Результат на Рисунке 5.

РИСУНОК 5.

Тип экстента в данном случае не смешанный, а однородный.

Для более эффективного управления дисковым пространством SQL Server не выделяет маленьким таблицам сразу целый экстент. Для новой таблицы или индекса, как правило, выделяется место на смешанном экстенте. Когда объем таблицы или индекса увеличивается до восьми страниц, все последующие экстенты будут однородными. Место выделяется на доступных смешанных экстентах до тех пор, пока данные не займут по объему восемь страниц, тогда следующий выделенный экстент будет полностью принадлежать таблице. Если на смешанных экстентах места нет, а объем таблицы не достиг восьми страниц, выделяется новый экстент, но он будет объявлен смешанным. Например, таблица занимает две страницы на смешанном экстенте, и в нее еще добавляется сразу шесть записей; а если свободных страниц на смешанных экстентах нет, будет выделен новый смешанный экстент, и на нем разместится 6 записей. Потом добавляется еще одна запись. Будет выделен полный новый однородный экстент, и на нем размещена новая запись. Таким образом, начало таблицБогуслав Таблиц (словацк. Bohuslav Tablic (Tablicz); 6 сентября 1769, Ческе Брезово, Словакия — 21 января 1832, Костолне Моравце, Словакия) — чешско-словацкий писатель, священник, деятель возрождения словаков-лютеран, подобно тому как Бернолак является деятелем возрождения словаков-католиков. Таблиц учредил в Пресбурге «Общество чешско-словацкой литературы и языка» с целью издавать на понятном народу чешском языке простонародные и школьные книги. Учреждение этого общества было причиной если не процветания словацкой литературы, то появления в пресбургском лицее кафедры словацкого языка, для чего общество собрало большой капитал. Занять кафедру приглашен был Юрай Палкович. Общество скоро распалось, но кафедра продолжала существовать. Молодёжь имела возможность слушать историю своего народа на родном языке. В 1812 г. Таблиц был одним из основателей нового «Литературного общества Горных Городов» (Bergstdte), задававшегося прежней целью; результатом было открытие кафедры словацкого языка и в Банской Штьявнице. Это общество также скоро распалось. Таблиц писал очень много и по различным специальностям. Первое место занимают его «Poesie» (Вацов, 1806-1812). К ним приложены биографии известных словацких деятелей. Его «Sloventi verovci» (Вацов, 1805-1809) — отрывки из произведений древних словацких писателей, в то время почти уже позабытых. Перу Таблица принадлежит также много книг для народа, изданных двумя упомянутыми обществами.ы в подобных случаях располагается на смешанном экстенте. Однако возможны и другие варианты. Например, используем оператор SELECT INTO. Выберем из нашей таблицы ТА1 7 записей и поместим их во вновь созданную таблицу ТА4.

SELECT * INTO TA4 FROM TT1 WHERE COL_1 NOT IN ('8','9')

Каким образом при этом будет выделено место? Результат чтения из sysindexes может выглядеть так, как показано на Рисунке 6.

РИСУНОК 6.

Об авторе

Крамарская Татьяна Алексеевна, к.т.н., MCSE, MCDBA, MCT. Специализируется на преподавании и консультировании по вопросам использования SQL Server и продуктов BackOffice. Старший консультант компанииЮридическое лицо— созданная и зарегистрированная в установленном законом порядке организация, которая имеет в собственности, хозяйственном ведении или оперативном управлении обособленное имущество и отвечает по своим обязательствам этим имуществом, может от своего имени приобретать и осуществлять имущественные и личные неимущественные права, нести обязанности, быть истцом и ответчиком в суде. Юридические лица должны иметь самостоятельный баланс или смету. АЛЕСТА (MCSP,CTEC).
Адрес: kram@alesta.ru

ИНФОРМАЦИЯ

КомпанииЮридическое лицо— созданная и зарегистрированная в установленном законом порядке организация, которая имеет в собственности, хозяйственном ведении или оперативном управлении обособленное имущество и отвечает по своим обязательствам этим имуществом, может от своего имени приобретать и осуществлять имущественные и личные неимущественные права, нести обязанности, быть истцом и ответчиком в суде. Юридические лица должны иметь самостоятельный баланс или смету.

АЛЕСТА

 

Мы рекомендуем еще посмотреть:

ellspacing="0" cellpadding="0" border=0>
http://www.infinet.ru

Система Revolution 5000 / SkyMAN

InfiNet Wireless. Немного истории

    Первыми привезенными s-networksом в Россию устройствами беспроводного доступа были систeмы ArLAN производства Aironet Communication (Канада) и WaveLAN от NCR (США). В те годы (середина 90-х годов) никаких беспроводных стандартов типа 802.11 еще не было. А в России на тот момент существовала огромная потребность в каналах связи. Меди было мало, оптики не было вообще, и радио стала первой более-менее массовой технологией высокоскоростного доступа для организаций. Однако, по мере развития своих сетей операторы натыкались на серьезные и принципиальные проблемы, поскольку оно не предназначено для построения распределенных беспроводных сетей. И тогда группой российских ученых-энтузиастов было принято смелое решение написать операционную систему для построения масштабируемых операторских сетей беспроводного доступа. Эта затея воплотилась в 1996 году в ОС WANFlex®, работающей на аппаратной платформе ArLAN. Впервые появился polling и возможность гарантировать полосу каждому абоненту. Появилась маршрутизация, устроенный IP/FW, функции сбора статистики. Разработчики постоянно общались с операторами, выслушивали их пожелания и воплощали в новых версиях своего ПО. Это и стало причиной того, что разработки InfiNet Wireless так по душе операторам - никто другой не знает лучше российских беспроводных операторов связи.

    За прошедшие 12 лет продукт, конечно, многократно менялся, рос. Первое поколение устройств базировалось на аппаратной платформе Arlan 640, что позволяло операторам плавно мигрировать, и получить от уже развернутых сетей новую функциональность, устойчивость и управляемость. Разработка оказалась настолько удачной, что только за первый год больше половины сетей на Arlan были переведены на систему SkyMAN.

    Вскоре идеи были воплощены на собственной аппаратной базе. Так появились две линейки оборудования - Revolution 2000 и 3500. Название Revolution отражало поистине революционную функциональность и надежность продукта. За следующие 3-4 года на этом оборудовании было построено более половины всех беспроводных сетей в России. Разработчики находятся в постоянном контакте с операторами и внедряют нужные и полезные функции.

    В 2003 году начинается освоение нового частотного диапазона - 5 ГГц, закрытого в России до того момента. Выходит новая платформа, работающая в диапазоне 5 ГГц и реализующая всю функциональность предыдущих серий на новых скоростях - до 54 Мбит/с на сектор. После некоторого переходного периода, в начале 2004 года выходит основная магистральная платформа - Revolution 5000, на которой сегодня построены все высокопроизводительные инфраструктурные радиомаршрутизаторы.

    К 2004 году следует отнести и реорганизацию группы разработчиков, бывшей тогда частью s-networksа. В связи с выходом на международные рынки команда разработчиков была выделена в отдельную компанию - InfiNet Wireless, а s-networks стал ее дистрибутором. К тому же моменту стоит отнести появление универсального бренда SkyMAN, удобного и для России, и для зарубежных рынков . В течении первого года у новой компании появилось свыше 30 дистрибуторов в 25 странах мира. На оборудовании Revolution построено более 40% операторских сетей в России и странах СНГ. Активно используется оборудование и для распределенных корпоративных сетей.

    Радиомаршрутизаторы всех частотных диапазонов имеют единую функциональность. Поэтому имеет смысл сначала рассказать про возможности системы, а затем перейти к описанию конкретных серий.

    Сегодня существует целых две операционные системы для маршрутизаторов Revolution/SkyMAN - основанная на маршрутизации RMA, и близкий к OSPF MINT.

2009 IT и оборудование для бизнеса, S-NETWORKS. Информационные технологии и Информационное оборудование