Skyline Query(天际线查询)
Skyline query是多维度数据库中一种非常重要的point query,它最初由 Börzsönyi 等人于2001年提出。一个数据库中的数据对象(也就是空间中的点)可能有成千上万个,但是我们往往对其中一些更感兴趣,Skyline就是定义这里的“更感兴趣”的一种方式。
他们在论文中举了两个著名的例子。其中一个是纽约曼哈顿区天际线,在曼哈顿地区有许多高大漂亮的建筑,但是站在海岸线眺望时能够看到的建筑要么是离海岸线近的建筑,要么是比较高大的建筑,也就是那些无法被遮挡住的建筑才能被看到。这些建筑就构成了曼哈顿的轮廓天际线,英文称之为skyline,这也就是skyline名字的来源。Skyline query正是从这个想法出发提出的一种point query。
第二个例子是“Nassau旅馆”,假设去Nassau海滩旅游,大多数游客先肯定是想找离海滩近价格又便宜的旅馆,这个例子就是基于“价格便宜”和“离海滩近”两个目标。但是一般离海滩近的旅馆价格高一些,所以不会有一个确定的结果,只能返回一系列的结果供用户选择。这些旅馆的距离和价格都不比其他旅馆“差”,也就是返回值的点在同一价格上没有在距离上更近的点了。