Lt304888.ru

Туристические услуги

Секционирование

12-10-2023

Секционирование (англ. partitioning) — реализованное во многих СУБД разделение хранимых объектов баз данных (таких как таблиц, индексов, материализованных представлений) на отдельные части с раздельными параметрами физического хранения. Используется в целях повышения управляемости, производительности и доступности для больших баз данных.

Возможные критерии разделения данных, используемые при секционировании:

  • по предопределённым диапазонам значений
  • по спискам значений
  • при помощи значений хэш-функций

Под композитными критериями разделения понимают последовательно применённые критерии разных типов.

Секционирование реализовано во многих реляционных СУБД, в частности в IBM DB2, Informix, Oracle Database, Teradata Database, Microsoft SQL Server, PostgreSQL, MySQL.

Содержание

Реализация в разных СУБД

Oracle Database

В СУБД Oracle секционирование позволяет большие структуры базы данных (таблицы, индексы) разбить на меньшие части, называемые разделами (англ. partition). Oracle предлагает несколько методов для различных сценариев:

  • Секционирование по диапазонам значений (Range partitioning)
  • Хеш-секционирование (Hash partitioning)
  • Секционирование по списку значений (List partitioning)
  • Составное секционирование:
    • Диапазонное секционирование с хеш-подсекционированием (Range-hash composite partitioning)
    • Диапазонное секционирование со списочным подсекционированием (Range-list composite partitioning)

Также существует 3 типа секционированных индексов:

  • Локально секционированный индекс (local index), т. е. секции индекса соответствуют секциям таблицы.
  • Глобально секционированный индекс (global partitioned index), такой индекс разбивается на секции по другим правилам, нежели сама таблица.
  • Глобально несекционированный индекс (global non-partitioned index), такой индекс не разбивается на секции хотя таблица разбита.
  • всевозможные комбинации из этих 3-х

Informix

В Informix секционирование называется фрагментацией, и также позволяет разбивать таблицы и индексы на отдельные фрагменты по разным схемам:

  • Круговая фрагментация
  • По выражениям
  • По списку значений
  • По интервалам

MySQL

MySQL начиная с версии 5.1 поддерживает секционирование.[1] Поддерживаются следующие типы секционирования:

  • По интервалам (RANGE partitioning)
  • По списку значений (LIST partitioning)
  • По хешу (HASH partitioning)
  • По ключам (KEY partitioning)

Примечания

  1. 18.1. Overview of Partitioning in MySQL

Ссылки


Секционирование.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01