Архитектура баз данных
Оценить
(0 голоса)
Обычно цепочка MRU-LRU вызывает в буферах данных стратегию замещения FIFO ("First In First Out" - "первым пришел-первым обслужен"). Тем не менее, в некоторых случаях эта политика оказывается нежелательной. Если известно, что данные, к которым произошло обращение, больше не будут необходимы, то в их кэшировании нет надобности. И в этом случае ASE использует стратегию замещения "выборка-сброс". Страницы данных могут перемещаться по направлению к LRU-концу цепочки для их более кратковременного сохранения в кэше, чем при стратегии FIFO. Большой объем операций ввода-вывода и множество буферных пулов Несмотря на то. что ASE (до выхода версии 12.5) использует фиксированный размер страницы 2 Кбайт, операции ввода/вывода…
Оценить
(0 голоса)
Предусматривает расположенный в памяти репозиторий (хранилище) для хранения процедур и триггеров. В него помещаются как хранимые процедуры, написанные пользователем, так и системные процедуры. После того как хранимая процедура переносится в кэш, ее откомпилированный план запроса становится доступным другим пользователям, сохраняя доступ к диску и компиляцию процедуры. Хранение физических данных Для хранения данных ASE может использовать как низкоуровневые дисковые устройства, так и файлы UNIX, хотя Sybase рекомендует использовать низкоуровневые (с необработанными данными в виде потока битов) устройства для хранения данных в сферах производства. ASE инициализирует каждое дисковое устройство и составляет карту распределения в устройстве номеров виртуальных страниц. Когда СУБД распределяет пространство…
Оценить
(0 голоса)
Основной единицей хранения в ASE является page (страница). Размер страницы до выхода ASE 12.5 был фиксированным и составлял 2 Кбайт для большинства платформ, включая и Solaris. ASE 12.5 лучше строит главное устройство с помощью dataserver, чем с двоичным buildmaster, и расширяет количество поддерживаемых размеров страниц включением размеров 4, 8 и 16 Кбайт. Данные заголовка в начале страницы занимают до 44 байт и включают указатели на предшествующую и следующую страницы в цепочке страниц и идентификатор объекта БД, к которому принадлежит страница; остальные байты в странице доступны для данных. Группы из восьми страниц называются extents (экстентами). Размещение и удаление пространства для таблиц…
Оценить
(0 голоса)
Данные хранятся в таблицах, как и в любой реляционной БД. Каждая страница данных состоит из одной или более строк данных. Ранее в ASE существовало ограничение на максимально поддерживаемый размер строк - 1962 байт; этот предел был преодолен в ASE 12.0. Строка не может разделять страницы данных на интервалы, за исключением текстовых столбцов и столбцов изображения. Индексы используются для быстрого доступа к строкам данных внутри таблицы. ASE обеспечивает два вида индексов: кластерные и некластерные. В кластерных индексах страницы-листья индекса также являются страницами данных, тогда как в некластерных индексах страницы-листья являются указателями на страницы данных. Каждая таблица способна поддерживать максимум 1 кластерный…
Оценить
(1 голос)
Таблицы могут быть разбиты на разделы, что позволяет выполнять обработку запросов в параллельном режиме, а также сократить конкуренцию при блокировках. В процессе разбивки создается несколько цепочек страниц для таблицы, что весьма существенно повышает производительность операций вставки и параллельной обработки запросов, и при этом допускается также параллельная загрузка и dbcc. Ранние версии ASE допускали возможность разбивки только heap-таблиц (с динамически распределяемой памятью), однако начииая с ASE 11.5, вы можете создавать кластерные индексы в разделенных таблицах. Вы можете решиться на разбивку таблицы по следующим причинам: •             чтобы создать многочисленные точки вставки для Ьеар-таблицы •             чтобы распределить табличные операции ввода/вывода по нескольким устройствам…
Оценить
(0 голоса)
При первоначальной инсталляции ASE создается как минимум четыре системных базы данных: БД master, БД model, БД системных процедур, называемая sybsystemsprocs, а также БД tempdb для временных таблиц. Также может быть создано несколько дополнительных БД: БД аудита под названием sybsecurity, БД pubs2 и pubs3 с примерами, БД управления, dbcc, называемая dbccdb, синтаксическая БД, называемая sybsyntax, которая обеспечивает синтаксическую помощь для команд Transact-SQL. В ASE 11.5 также представлена новая БД, называемая sybsystemdb, используемая для отслеживания двухфазных завершений (транзакций). Кроме этих системных БД создаются также пользовательские БД. сравнению с оригинальным SQL в Transact-SQL введены дополнительные ключевые слова, применяемые при выборке, сохранении и выполнении…
Оценить
(0 голоса)
Что касается ASE П.5, то Sybase поддерживает IQP (Intra-Query Parallelism - параллелизм в рамках запроса). В предыдущих версиях Sybase допускалось выполнение в параллельном режиме множества запросов, однако ASE 11.5 дает возможность разделить работу индивидуального запроса на несколько потоков, называемых worker processes (рабочими процессами). Такая многопотоковость особенно полезна для сложных запросов DSS, требующих табличных сканирований, хотя при этом как для рабочих процессов, так и для процедурного кэша расходуется куда больший объем памяти. Если IQP разрешен, администратор БД определяет количество рабочих процессов, устанавливая тем самым максимальное количество параллельных задач. Каждый рабочий процесс расходует приблизительно такой же объем памяти, как пользовательское соединение. Если…
Оценить
(0 голоса)
Проблема эффективной обработки больших томов данных привела к большей изощренности оптимизаторов РСУБД (реляционной СУБД). Улучшения оптимизаторов сопровождались новыми методами сокращения объема выполняемой работы: разделение на диапазоны, сцепленные индексы, а также большое число экзотических технологий наподобие объединенных индексов и материализованных представлений. Эти вопросы рассматриваются в главе 8. Sybase Adaptive Server IQ with Multiplex (IQ-M) - адаптивный сервер фирмы Sybase с мультиплексированием в рамках запроса - применяет совершенно иной подход для решения этих проблем. Вместо сохранения данных в строках IQ-М сохраняет данные в столбцах. Полный набор данных для столбца сохраняется в виде единого объекта под названием column vector (вектор-столбец, или одномерный массив…
Оценить
(0 голоса)
Sybase рекомендует "агрессивное" индексирование. Как мы могли видеть, каждый столбец имеет, по крайней мере, один индекс по умолчанию, может быть создано три индекса. Даже в этих условиях Sybase ожидает, что общий размер данных плюс индексы будет не более чем оригинальный размер низкоуровневых данных. Такое требование к объему хорошо выглядит по сравнению с условными базами данных, в которых итоговый размер БД обычно "раздувается" в три-пять раз по сравнению с оригинальными размерами низкоуровневых данных. Sybase IQ-М поддерживает многочисленные типы индексов, включая bitmapped indexes (индексы по битовому отображению), bitwise indexes (побитовые индексы в соответствии с запатентованной технологией), а также В-tree indexes (индексы В-де-рева).…
Оценить
(0 голоса)
В дополнение к требованиям памяти серверного процесса, IQ-М использует два кэша: IQ-M Main Cache (основной кэш IQ-М) и IQ-M Temporary Cache (временный кэш IQ-М). Основной кэш хранит страницы данных, а временный кэш служит для обработки объединений, сортировок, подочередей и промежуточных таблиц. Если временный кэш слишком мал для какой-нибудь операции, то временная область диска используется в качестве области переполнения. Во время загрузки данных основной кэш сохраняет информацию всех типов индексов кроме одного, управление которым осуществляется из временного кэша. Если основной кэш слишком большой, то страницы данных будут кэшироваться и не будут выгружаться до окончания загрузки, что в результате приводит к снижению…