Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Предлагаемый синтаксис [ править ]

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

ВЫБРАТЬ  ...  ИЗ  ...  ГДЕ  ... GROUP  BY  ...  HAVING  ... SKYLINE  OF  [ DISTINCT ]  d1  [ MIN  |  МАКС  |  DIFF ],  ...,  дм  [ MIN  |  МАКС  |  DIFF ] ЗАКАЗАТЬ  ПО  ...

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

Реализация [ править ]

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

См. Также [ править ]

Ссылки [ править ]

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