Оператор Skyline - Skyline operator

В Оператор Skyline является предметом проблема оптимизации, используется в запросе для фильтрации результатов из базы данных, чтобы сохранить только те объекты, которые не хуже других.

Этот оператор является расширением SQL предложенный Börzsönyi et al.[1] Классический пример применения оператора Skyline - выбор отеля для отдыха. Пользователь хочет, чтобы отель был как дешевым, так и близко к пляжу. Однако отели, расположенные рядом с пляжем, также могут быть дорогими. В этом случае оператор Skyline представит только те отели, которые не хуже других отелей как по цене, так и по удаленности от пляжа.

Предлагаемый синтаксис

Чтобы привести пример в SQL: Börzsönyi et al.[1] предложил следующий синтаксис для оператора Skyline:

ВЫБРАТЬ ... ОТ ... ГДЕ ...ГРУППА ОТ ... ИМЕЕТ ...SKYLINE Из [ОТЛИЧИТЕЛЬНЫЙ] d1 [MIN | МАКСИМУМ | DIFF],                 ..., дм [MIN | МАКСИМУМ | DIFF]ПОРЯДОК ОТ ...

где D1, ... dм обозначают размеры Skyline, а MIN, MAX и DIFF указывают, должно ли значение в этом измерении быть минимизированным, максимальным или просто другим.

Реализация

Оператор Skyline может быть реализован непосредственно в SQL с использованием текущих конструкций SQL, однако это оказалось очень медленным.[1] Были предложены другие алгоритмы, использующие принцип «разделяй и властвуй», индексы,[1] Уменьшение карты[2] и универсальные вычисления на видеокартах.[3] Запросы Skyline к потокам данных (то есть непрерывные запросы Skyline) изучались в контексте параллельной обработки запросов на многоядерных процессорах, благодаря их широкому распространению в задачах принятия решений в реальном времени и аналитике потоков данных.[4]

Смотрите также

использованная литература

  1. ^ а б c d Борзони, Стефан; Коссманн, Дональд; Стокер, Конрад (2001). «Оператор Skyline». Труды 17-й Международной конференции по инженерии данных: 421–430. Дои:10.1109 / ICDE.2001.914855. ISBN  0-7695-1001-9. S2CID  5812098.
  2. ^ Муллесгаард, Каспер; Педерсен, Йенс Лауритс; Лу, Хуа; Чжоу, Юнлуань (2014). «Эффективное вычисление горизонта в MapReduce» (PDF). Proc. 17-я Международная конференция по расширению технологии баз данных (EDBT): 37–48.
  3. ^ Bøgh, Kenneth S; Согласие, Ира; Маньяни, Маттео (2013). «Эффективное вычисление горизонта на базе графического процессора». Материалы девятого международного семинара по управлению данными на новом оборудовании: 5:1–5:6. Дои:10.1145/2485278.2485283. ISBN  9781450321969. S2CID  13195757.
  4. ^ Де Маттеис, Тициано; Ди Джироламо, Сальваторе; Менкагли, Габриэле (25 августа 2016 г.). "Непрерывные запросы горизонта на многоядерных архитектурах". Параллелизм и вычисления: практика и опыт. 28 (12): 3503–3522. Дои:10.1002 / cpe.3866. S2CID  6562372.