VLDB 2026 Research / reviewers in the wild / expert
Ahmed M. Aly
dblp:39/8165
· DBLP profile ↗
24ranked-venue papers
10as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 23 · 9 first-author · 1 since 2021Artificial intelligence and machine learning · 6 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 6 · 2 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Databases, data mining, and information retrieval
13 papers |
Indexing and storage engines · 26% Spatial and temporal data management · 21% Data stream processing · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Parallel and multicore computing · 41% Cloud and datacenter computing · 40% Distributed systems · 19% |
Topics — the 30 heaviest of 35, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Data stream processing
continuous query processing |
0.7 | 3 | 2018 | FAST: Frequency-Aware Indexing for Spatio-Textual Data Streams · ICDE 2018 Mars: Real-time spatio-temporal queries on microblogs · ICDE 2014 M3: Stream Processing on Main-Memory MapReduce · ICDE 2012 |
Indexing and storage engines
index maintenance |
0.5 | 1 | 2021 | An Experimental Evaluation and Investigation of Waves of Misery in R-trees · Proc. VLDB Endow. 2021 |
Indexing and storage engines
node splitting |
0.5 | 1 | 2021 | An Experimental Evaluation and Investigation of Waves of Misery in R-trees · Proc. VLDB Endow. 2021 |
Indexing and storage engines › spatial index
r-tree |
0.5 | 1 | 2021 | An Experimental Evaluation and Investigation of Waves of Misery in R-trees · Proc. VLDB Endow. 2021 |
Indexing and storage engines
tree index |
0.5 | 1 | 2021 | An Experimental Evaluation and Investigation of Waves of Misery in R-trees · Proc. VLDB Endow. 2021 |
Database system architecture and tuning › database design
workload-aware partitioning |
0.5 | 2 | 2016 | Kangaroo: Workload-Aware Processing of Range Data and Range Queries in Hadoop · WSDM 2016 A Demonstration of AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial Data · Proc. VLDB Endow. 2015 |
Spatial and temporal data management
spatial partitioning |
0.4 | 2 | 2015 | AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial Data · Proc. VLDB Endow. 2015 A Demonstration of AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial Data · Proc. VLDB Endow. 2015 |
Spatial and temporal data management
spatial query processing |
0.4 | 2 | 2016 | Cruncher: Distributed in-memory processing for location-based services · ICDE 2016 Spatial Queries with Two kNN Predicates · Proc. VLDB Endow. 2012 |
Distributed and cloud data management › federated database
federated query processing |
0.3 | 1 | 2018 | F1 Query: Declarative Querying at Scale · Proc. VLDB Endow. 2018 |
Spatial and temporal data management › spatial databases
geo-textual data management |
0.3 | 1 | 2018 | FAST: Frequency-Aware Indexing for Spatio-Textual Data Streams · ICDE 2018 |
Indexing and storage engines › spatial index
spatio-textual indexing |
0.3 | 1 | 2018 | FAST: Frequency-Aware Indexing for Spatio-Textual Data Streams · ICDE 2018 |
Spatial and temporal data management
spatial indexing |
0.3 | 2 | 2016 | Tornado: A Distributed Spatio-Textual Stream Processing System · Proc. VLDB Endow. 2015 Cruncher: Distributed in-memory processing for location-based services · ICDE 2016 |
Distributed and cloud data management › distributed analytics
distributed in-memory analytics |
0.2 | 1 | 2016 | Cruncher: Distributed in-memory processing for location-based services · ICDE 2016 |
Distributed and cloud data management
distributed query processing |
0.2 | 1 | 2016 | Kangaroo: Workload-Aware Processing of Range Data and Range Queries in Hadoop · WSDM 2016 |
Graph data management › graph indexing
dynamic graph indexing |
0.2 | 1 | 2016 | Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs · SIGMOD Conference 2016 |
Graph data management
graph indexing |
0.2 | 1 | 2016 | Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs · SIGMOD Conference 2016 |
Graph data management
graph query processing |
0.2 | 1 | 2016 | Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs · SIGMOD Conference 2016 |
Query processing and optimization
range query |
0.2 | 1 | 2016 | Kangaroo: Workload-Aware Processing of Range Data and Range Queries in Hadoop · WSDM 2016 |
Graph data management › path query
shortest path query |
0.2 | 1 | 2016 | Graph Indexing for Shortest-Path Finding over Dynamic Sub-Graphs · SIGMOD Conference 2016 |
Data stream processing
spatial data streams |
0.2 | 1 | 2016 | Cruncher: Distributed in-memory processing for location-based services · ICDE 2016 |
Spatial and temporal data management › spatial databases
spatial data warehousing |
0.2 | 1 | 2016 | Cruncher: Distributed in-memory processing for location-based services · ICDE 2016 |
Query processing and optimization
adaptive partitioning |
0.2 | 1 | 2015 | A Demonstration of AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial Data · Proc. VLDB Endow. 2015 |
Data stream processing
load shedding |
0.2 | 1 | 2014 | Mars: Real-time spatio-temporal queries on microblogs · ICDE 2014 |
Spatial and temporal data management
spatio-temporal query processing |
0.2 | 1 | 2014 | Mars: Real-time spatio-temporal queries on microblogs · ICDE 2014 |
Query processing and optimization
query execution |
0.1 | 1 | 2012 | Spatial Queries with Two kNN Predicates · Proc. VLDB Endow. 2012 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2012 | M3: Stream Processing on Main-Memory MapReduce · ICDE 2012 |
Indexing and storage engines
in-memory index |
0.1 | 1 | 2018 | FAST: Frequency-Aware Indexing for Spatio-Textual Data Streams · ICDE 2018 |
Distributed systems › stream processing
distributed stream processing |
0.1 | 1 | 2015 | Tornado: A Distributed Spatio-Textual Stream Processing System · Proc. VLDB Endow. 2015 |
Spatial and temporal data management
spatio-temporal indexing |
0.1 | 1 | 2014 | Mars: Real-time spatio-temporal queries on microblogs · ICDE 2014 |
Cloud and datacenter computing › cluster resource management and scheduling
cluster resource management |
0.0 | 1 | 2012 | M3: Stream Processing on Main-Memory MapReduce · ICDE 2012 |
Methods — techniques the papers use, named apart from their topics
adaptive indexing · 0.8declarative querying · 0.7SQL · 0.7experimental evaluation · 0.5range query processing · 0.4k-nearest-neighbor query processing · 0.4spatial pruning · 0.3adaptive query processing · 0.2adaptive partitioning · 0.2adaptive caching · 0.2data deduplication · 0.2mapreduce · 0.1in-memory processing · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | An Experimental Evaluation and Investigation of Waves of Misery in R-treesabstractWaves of misery is a phenomenon where spikes of many node splits occur over short periods of time in tree indexes. Waves of misery negatively affect the performance of tree indexes in insertion-heavy workloads. Waves of misery have been first observed in the context of the B-tree, where these waves cause unpredictable index performance. In particular, the performance of search and index-update operations deteriorate when a wave of misery takes place, but is more predictable between the waves. This paper investigates the presence or lack of waves of misery in several R-tree variants, and studies the extent of which these waves impact the performance of each variant. Interestingly, although having poorer query performance, the Linear and Quadratic R-trees are found to be more resilient to waves of misery than both the Hilbert and R*-trees. This paper presents several techniques to reduce the impact in performance of the waves of misery for the Hilbert and R*-trees. One way to eliminate waves of misery is to force node splits to take place at regular times before nodes become full to achieve deterministic performance. The other way is that upon splitting a node, do not split it evenly but rather at different node utilization factors. This allows leaf nodes not to fill at the same pace. We study the impact of two new techniques to mitigate waves of misery after the tree index has been constructed, namely Regular Elective Splits (RES, for short) and Unequal Random Splits (URS, for short). Our experimental investigation highlights the trade-offs in performance of the introduced techniques and the pros and cons of each technique. Tong An, Bo-Cheng Chu, Ahmed Mahmood, Ahmed M. Aly, Jianguo Wang 0001, Walid G. Aref |
Proc. VLDB Endow. | 6 |
| 2020 | Local trend discovery on real-time microblogs with uncertain locations in tight memory environments
Abdulaziz Almaslukh, Amr Magdy 0001, Ahmed M. Aly, Mohamed F. Mokbel, Sameh Elnikety, Yuxiong He, Suman Nath, Walid G. Aref |
GeoInformatica | 3 |
| 2018 | Adaptive processing of spatial-keyword data over a distributed streaming clusterabstractThe widespread use of GPS-enabled smartphones along with the popularity of micro-blogging and social networking applications, e.g., Twitter and Facebook, has resulted in the generation of huge streams of geo-tagged textual data. Many applications require real-time processing of these streams. For example, location-based ad-targeting systems enable advertisers to register millions of ads to millions of users based on the users' location and textual profile. Existing streaming systems are either centralized or are not spatial-keyword aware, and hence these systems cannot efficiently support the processing of rapidly arriving spatial-keyword data streams. In this paper, we introduce a two-layered indexing scheme for the distributed processing of spatial-keyword data streams. We realize this indexing scheme in Tornado, a distributed spatial-keyword streaming system. The first layer, termed the routing layer, is used to fairly distribute the workload, and furthermore, co-locate the data objects and the corresponding queries at the same processing units. The routing layer uses the Augmented-Grid, a novel structure that is equipped with an efficient search algorithm for distributing the data objects and queries. The second layer, termed the evaluation layer, resides within each processing unit to reduce the processing overhead. The two-layered index adapts to changes in the workload by applying a cost formula that continuously represents the processing overhead at each processing unit. Extensive experimental evaluation using real Twitter data indicates that Tornado achieves high scalability and more than 2x improvement over the baseline approach in terms of the overall system throughput. Ahmed R. Mahmood, Anas Daghistani, Ahmed M. Aly, MingJie Tang, Saleh M. Basalamah, Sunil Prabhakar 0001, Walid G. Aref |
SIGSPATIAL/GIS | 3 |
| 2018 | FAST: Frequency-Aware Indexing for Spatio-Textual Data StreamsabstractMany applications need to process massive streams of spatio-textual data in real-time against continuous spatio-textual queries. For example, in location-aware ad targeting publish/subscribe systems, it is required to disseminate millions of ads and promotions to millions of users based on the locations and textual profiles of users. In this paper, we study indexing of continuous spatio-textual queries. There exist several related spatio-textual indexes that typically integrate a spatial index with a textual index. However, these indexes usually have a high demand for main-memory and assume that the entire vocabulary of keywords is known in advance. Also, these indexes do not successfully capture the variations in the frequencies of keywords across different spatial regions and treat frequent and infrequent keywords in the same way. Moreover, existing indexes do not adapt to the changes in workload over space and time. For example, some keywords may be trending at certain times in certain locations and this may change as time passes. This affects the indexing and searching performance of existing indexes significantly. In this paper, we introduce FAST, a Frequency-Aware Spatio-Textual index for continuous spatio-textual queries. FAST is a main-memory index that requires up to one third of the memory needed by the state-of-the-art index. FAST does not assume prior knowledge of the entire vocabulary of indexed objects. FAST adaptively accounts for the difference in the frequencies of keywords within their corresponding spatial regions to automatically choose the best indexing approach that optimizes the insertion and search times. Extensive experimental evaluation using real and synthetic datasets demonstrates that FAST is up to 3x faster in search time and 5x faster in insertion time than the state-of-the-art indexes. Ahmed R. Mahmood, Ahmed M. Aly, Walid G. Aref |
ICDE | 2 |
| 2018 | WORQ: Workload-Driven RDF Query Processing
Amgad Madkour, Ahmed M. Aly, Walid G. Aref |
ISWC (1) | 2 |
| 2018 | F1 Query: Declarative Querying at ScaleabstractF1 Query is a stand-alone, federated query processing platform that executes SQL queries against data stored in different file-based formats as well as different storage systems at Google (e.g., Bigtable, Spanner, Google Spreadsheets, etc.). F1 Query eliminates the need to maintain the traditional distinction between different types of data processing workloads by simultaneously supporting: (i) OLTP-style point queries that affect only a few records; (ii) low-latency OLAP querying of large amounts of data; and (iii) large ETL pipelines. F1 Query has also significantly reduced the need for developing hard-coded data processing pipelines by enabling declarative queries integrated with custom business logic. F1 Query satisfies key requirements that are highly desirable within Google: (i) it provides a unified view over data that is fragmented and distributed over multiple data sources; (ii) it leverages datacenter resources for performant query processing with high throughput and low latency; (iii) it provides high scalability for large data sizes by increasing computational parallelism; and (iv) it is extensible and uses innovative approaches to integrate complex business logic in declarative query processing. This paper presents the end-to-end design of F1 Query. Evolved out of F1, the distributed database originally built to manage Google's advertising data, F1 Query has been in production for multiple years at Google and serves the querying needs of a large number of users and systems. Bart Samwel, John Cieslewicz, Ben Handy, Jason Govig, Petros Venetis, Chanjun Yang, Keith Peters, Jeff Shute, Daniel Tenedorio, Himani Apte, Felix Weigel, David Wilhite, Jiexing Li, Zhan Yuan, Craig Chasseur, Ian Rae, Anurag Biyani, Andrew Harn, Andrey Gubichev, Amr El-Helw, Orri Erling, Zhepeng Yan, Mohan Yang, Yiqun Wei, Thanh Do, Colin Zheng, Goetz Graefe, Somayeh Sardashti, Ahmed M. Aly, Divyakant Agrawal, Shivakumar Venkataraman |
Proc. VLDB Endow. | 33 |
| 2017 | SHRec: Scalable Holistic RecommendationabstractThe problem of recommending items to users is of high practical importance. For instance, many web services try to find relevant recommendations for the users, e.g., finding relevant movies, social-media friends, restaurants, shopping items, etc. The expansion of the Web and the ever-growing number of people who use web services render the problem of recommendation challenging. The Locality Sensitive Hashing (LSH, for short) is the most known scalable technique for nearest-neighbor search in high dimensional data, and hence the LSH is widely used in most industrial recommendation systems. This paper presents an implementation of the LSH using Google's MapReduce engine. We apply the LSH to a real case study at Google, where we recommend for each web-host a set of outlinks based on the outlink similarity amongst the web-hosts. We identify some performance limitations of the LSH that occur due to specific properties in the data, and that become significant when the scale of the data is large. Furthermore, we present SHRec, a novel technique for scalable recommendation that addresses these performance limitations. Based on real deployment of both SHRec and LSH on Google's infrastructure, and using real data of the crawled Web at Google, where a sample host-level graph of 1.5 Billion web-hosts is extracted, we demonstrate that SHRec is more scalable than LSH. In particular, we show that SHRec is one order of magnitude faster than LSH while achieving better recommendation quality. Ahmed M. Aly, Moustafa A. Hammad, Amr Ahmed 0001 |
SSDBM | 1 |
| 2016 | GeoTrend: spatial trending queries on real-time microblogsabstractThis paper presents GeoTrend; a system for scalable support of spatial trend discovery on recent microblogs, e.g., tweets and online reviews, that come in real time. GeoTrend is distinguished from existing techniques in three aspects: (1) It discovers trends in arbitrary spatial regions, e.g., city blocks. (2) It supports trending measures that effectively capture trending items under a variety of definitions that suit different applications. (3) It promotes recent microblogs as first-class citizens and optimizes its system components to digest a continuous flow of fast data in main-memory while removing old data efficiently. GeoTrend queries are top-k queries that discover the most trending k keywords that are posted within an arbitrary spatial region and during the last T time units. To support its queries efficiently, GeoTrend employs an in-memory spatial index that is able to efficiently digest incoming data and expire data that is beyond the last T time units. The index also materializes top-k keywords in different spatial regions so that incoming queries can be processed with low latency. In case of peak times, a main-memory optimization technique is employed to shed less important data, so that the system still sustains high query accuracy with limited memory resources. Experimental results based on real Twitter feed and Bing Mobile spatial search queries show the scalability of GeoTrend to support arrival rates of up to 50,000 microblog/second, average query latency of 3 milli-seconds, and at least 90+% query accuracy even under limited memory resources. Amr Magdy 0001, Ahmed M. Aly, Mohamed F. Mokbel, Sameh Elnikety, Yuxiong He, Suman Nath, Walid G. Aref |
SIGSPATIAL/GIS | 2 |
| 2016 | Atlas: on the expression of spatial-keyword group queries using extended relational constructsabstractThe popularity of GPS-enabled cellular devices introduced numerous applications, e.g., social networks, micro-blogs, and crowd-powered reviews. These applications produce large amounts of geo-tagged textual data that need to be processed and queried. Nowadays, many complex spatio-textual operators and their matching complex indexing structures are being proposed in the literature to process this spatio-textual data. For example, there exist several complex variations of the spatio-textual group queries that retrieve groups of objects that collectively satisfy certain spatial and textual criteria. However, having complex operators is against the spirit of SQL and relational algebra. In contrast to these complex spatio-textual operators, in relational algebra, simple relational operators are offered, e.g., relational selects, projects, order by, and group by, that are composable to form more complex queries. In this paper, we introduce Atlas, an SQL extension to express complex spatial-keyword group queries. Atlas follows the philosophy of SQL and relational algebra in that it uses simple declarative spatial and textual building-block operators and predicates to extend SQL. Not only that Atlas can represent spatio-textual group queries from the literature, but also it can compose other important queries, e.g., retrieve spatio-textual groups from subsets of object datasets where the selected subset satisfies user-defined relational predicates and the groups of close-by objects contain miss-spelled keywords. We demonstrate that Atlas is able to represent a wide range of spatial-keyword queries that existing indexes and algorithms would not be able to address. The building- block paradigm adopted by Atlas creates room for query optimization, where multiple query execution plans can be formed. Ahmed R. Mahmood, Walid G. Aref, Ahmed M. Aly, MingJie Tang |
SIGSPATIAL/GIS | 3 |
| 2016 | Cruncher: Distributed in-memory processing for location-based servicesabstractAdvances in location-based services (LBS) demand high-throughput processing of both static and streaming data. Recently, many systems have been introduced to support distributed main-memory processing to maximize the query throughput. However, these systems are not optimized for spatial data processing. In this demonstration, we showcase Cruncher, a distributed main-memory spatial data warehouse and streaming system. Cruncher extends Spark with adaptive query processing techniques for spatial data. Cruncher uses dynamic batch processing to distribute the queries and the data streams over commodity hardware according to an adaptive partitioning scheme. The batching technique also groups and orders the overlapping spatial queries to enable inter-query optimization. Both the data streams and the offline data share the same partitioning strategy that allows for data co-locality optimization. Furthermore, Cruncher uses an adaptive caching strategy to maintain the frequently-used location data in main memory. Cruncher maintains operational statistics to optimize query processing, data partitioning, and caching at runtime. We demonstrate two LBS applications over Cruncher using real datasets from OpenStreetMap and two synthetic data streams. We demonstrate that Cruncher achieves order(s) of magnitude throughput improvement over Spark when processing spatial data. Ahmed S. Abdelhamid, MingJie Tang, Ahmed M. Aly, Ahmed R. Mahmood, Thamir Qadah, Walid G. Aref, Saleh M. Basalamah |
ICDE | 3 |
| 2016 | Graph Indexing for Shortest-Path Finding over Dynamic Sub-GraphsabstractA variety of applications spanning various domains, e.g., social networks, transportation, and bioinformatics, have graphs as first-class citizens. These applications share a vital operation, namely, finding the shortest path between two nodes. In many scenarios, users are interested in filtering the graph before finding the shortest path. For example, in social networks, one may need to compute the shortest path between two persons on a sub-graph containing only family relationships. This paper focuses on dynamic graphs with labeled edges, where the target is to find a shortest path after filtering some edges based on user-specified query labels. This problem is termed the Edge-Constrained Shortest Path query (or ECSP, for short). This paper introduces Edge-Disjoint Partitioning (EDP, for short), a new technique for efficiently answering ECSP queries over dynamic graphs. EDP has two main components: a dynamic index that is based on graph partitioning, and a traversal algorithm that exploits the regular patterns of the answers of ECSP queries. The main idea of EDP is to partition the graph based on the labels of the edges. On demand, EDP computes specific sub-paths within each partition and updates its index. The computed sub-paths act as pre-computations that can be leveraged by future queries. To answer an ECSP query, EDP connects sub-paths from different partitions using its efficient traversal algorithm. EDP can dynamically handle various types of graph updates, e.g., label, edge, and node updates. The index entries that are potentially affected by graph updates are invalidated and re-computed on demand. EDP is evaluated using real graph datasets from various domains. Experimental results demonstrate that EDP can achieve query performance gains of up to four orders of magnitude in comparison to state of the art techniques. Mohamed S. Hassan 0002, Walid G. Aref, Ahmed M. Aly |
SIGMOD Conference | 3 |
| 2016 | Kangaroo: Workload-Aware Processing of Range Data and Range Queries in HadoopabstractDespite the importance and widespread use of range data, e.g., time intervals, spatial ranges, etc., little attention has been devoted to study the processing and querying of range data in the context of big data. The main challenge relies in the nature of the traditional index structures e.g., B-Tree and R-Tree, being centralized by nature, and hence are almost crippled when deployed in a distributed environment. To address this challenge, this paper presents Kangaroo, a system built on top of Hadoop to optimize the execution of range queries over range data. The main idea behind Kangaroo is to split the data into non-overlapping partitions in a way that minimizes the query execution time. Kangaroo is query workload-aware, i.e., results in partitioning layouts that minimize the query processing time of given query patterns. In this paper, we study the design challenges Kangaroo addresses in order to be deployed on top of a distributed file system, i.e., HDFS. We also study four different partitioning schemes that Kangaroo can support. With extensive experiments using real range data of more than one billion records and real query workload of more than 30,000 queries, we show that the partitioning schemes of Kangaroo can significantly reduce the I/O of range queries on range data. Ahmed M. Aly, Hazem Elmeleegy, Yan Qi 0002, Walid G. Aref |
WSDM | 1 |
| 2015 | Cost Estimation of Spatial k-Nearest-Neighbor OperatorsabstractAdvances in geo-sensing technology have led to an unprecedented spread of location-aware devices. In turn, this has resulted into a plethora of location-based services in which huge amounts of spa- tial data need to be efficiently consumed by spatial query proces- sors. For a spatial query processor to properly choose among the various query processing strategies, the cost of the spatial operators has to be estimated. In this paper, we study the problem of estimat- ing the cost of the spatialk-nearest-neighbor (k-NN, for short) op- erators, namely,k-NN-Select andk-NN-Join. Given a query that has ak-NN operator, the objective is to estimate the number of blocks that are going to be scanned during the processing of this operator. Estimating the cost of ak-NN operator is challenging for several reasons. For instance, the cost of ak-NN-Select operator is directly affected by the value ofk, the location of the query focal point, and the distribution of the data. Hence, a cost model that captures these factors is relatively hard to realize. This paper in- troduces cost estimation techniques that maintain a compact set of cataloginformation that can be kept in main-memory to enable fast estimation via lookups. A detailed study of the performance and accuracy trade-off of each proposed technique is presented. Ex- perimental results using real spatial datasets from OpenStreetMap demonstrate the robustness of the proposed estimation techniques. Ahmed M. Aly, Walid G. Aref, Mourad Ouzzani |
EDBT | 1 |
| 2015 | Spatial queries with k-nearest-neighbor and relational predicatesabstractThe ubiquity of location-aware devices and smartphones has unleashed an unprecedented proliferation of location-based services that require processing queries with both spatial and relational predicates. Many algorithms and index structures already exist for processing k-Nearest-Neighbor (kNN, for short) predicates either solely or when combined with textual keyword search. Unfortunately, there has not been enough study on how to efficiently process queries where kNN predicates are combined with general relational predicates, i.e., ones that have selects, joins and group-by's. One major challenge is that because the kNN is a ranking operation, applying a relational predicate before or after a kNN predicate in a query evaluation pipeline (QEP, for short) can result in different outputs, and hence leads to different query semantics. In particular, this renders classical relational query optimization heuristics, e.g., pushing selects below joins, inapplicable. This paper presents various query optimization heuristics for queries that involve combinations of kNN select/join predicates and relational predicates. The proposed optimizations can significantly enhance the performance of these queries while preserving their semantics. Experimental results that are based on queries from the TPC-H benchmark and real spatial data from OpenStreetMap demonstrate that the proposed optimizations can achieve orders of magnitude enhancement in query performance. Ahmed M. Aly, Walid G. Aref, Mourad Ouzzani |
SIGSPATIAL/GIS | 1 |
| 2015 | A Demonstration of AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial DataabstractThe ubiquity of location-aware devices, e.g., smartphones and GPS devices, has led to a plethora of location-based services in which huge amounts of geotagged information need to be efficiently processed by large-scale computing clusters. This demo presents AQWA, an adaptive and query-workload-aware data partitioning mechanism for processing large-scale spatial data. Unlike existing cluster-based systems, e.g., SpatialHadoop, that apply static partitioning of spatial data, AQWA has the ability to react to changes in the query-workload and data distribution. A key feature of AQWA is that it does not assume prior knowledge of the query-workload or data distribution. Instead, AQWA reacts to changes in both the data and the query-workload by incrementally updating the partitioning of the data. We demonstrate two prototypes of AQWA deployed over Hadoop and Spark. In both prototypes, we process spatial range and k -nearest-neighbor ( k NN, for short) queries over large-scale spatial datasets, and we exploit the performance of AQWA under different query-workloads. Ahmed M. Aly, Ahmed S. Abdelhamid, Ahmed R. Mahmood, Walid G. Aref, Mohamed S. Hassan 0002, Hazem Elmeleegy, Mourad Ouzzani |
Proc. VLDB Endow. | 1 |
| 2015 | AQWA: Adaptive Query-Workload-Aware Partitioning of Big Spatial DataabstractThe unprecedented spread of location-aware devices has resulted in a plethora of location-based services in which huge amounts of spatial data need to be efficiently processed by large-scale computing clusters. Existing cluster-based systems for processing spatial data employ static data-partitioning structures that cannot adapt to data changes, and that are insensitive to the query workload. Hence, these systems are incapable of consistently providing good performance. To close this gap, we present AQWA, an adaptive and query-workload-aware mechanism for partitioning large-scale spatial data. AQWA does not assume prior knowledge of the data distribution or the query workload. Instead, as data is consumed and queries are processed, the data partitions are incrementally updated. With extensive experiments using real spatial data from Twitter, and various workloads of range and k -nearest-neighbor queries, we demonstrate that AQWA can achieve an order of magnitude enhancement in query performance compared to the state-of-the-art systems. Ahmed M. Aly, Ahmed R. Mahmood, Mohamed S. Hassan 0002, Walid G. Aref, Mourad Ouzzani, Hazem Elmeleegy, Thamir Qadah |
Proc. VLDB Endow. | 1 |
| 2015 | Tornado: A Distributed Spatio-Textual Stream Processing SystemabstractThe widespread use of location-aware devices together with the increased popularity of micro-blogging applications (e.g., Twitter) led to the creation of large streams of spatio-textual data. In order to serve real-time applications, the processing of these large-scale spatio-textual streams needs to be distributed. However, existing distributed stream processing systems (e.g., Spark and Storm) are not optimized for spatial/textual content. In this demonstration, we introduce Tornado, a distributed in-memory spatio-textual stream processing server that extends Storm. To efficiently process spatio-textual streams, Tornado introduces a spatio-textual indexing layer to the architecture of Storm. The indexing layer is adaptive, i.e., dynamically re-distributes the processing across the system according to changes in the data distribution and/or query workload. In addition to keywords, higher-level textual concepts are identified and are semantically matched against spatio-textual queries. Tornado provides data deduplication and fusion to eliminate redundant textual data. We demonstrate a prototype of Tornado running against real Twitter streams, where the users can register continuous or snapshot spatio-textual queries using a map-assisted query-interface. Ahmed R. Mahmood, Ahmed M. Aly, Thamir Qadah, El Kindi Rezig, Anas Daghistani, Amgad Madkour, Ahmed S. Abdelhamid, Mohamed S. Hassan 0002, Walid G. Aref, Saleh M. Basalamah |
Proc. VLDB Endow. | 2 |
| 2014 | JISC: Adaptive Stream Processing Using Just-In-Time State CompletionabstractThe continuous and dynamic nature of data streams may lead a query execution plan (QEP) of a long-running continuous query to become suboptimal during execution, and hence will need to be al-tered. The ability to perform an efficient and flawless transition to an equivalent, yet optimal QEP is essential for a data stream query processor. Such transition is challenging for plans with stateful bi-nary operators, such as joins, where the states of the QEP have to be maintained during query transition without compromising the correctness of the query output. This paper presents Just-In-Time State Completion (JISC); a new technique for query plan migration. JISC does not cause any halt to the query execution, and thus allows the query to maintain steady output. JISC is applicable to pipelined as well as eddy-based query evaluation frameworks. Probabilistic analysis of the cost and experimental studies show that JISC in-creases the execution throughput during the plan migration stage by up to an order of magnitude compared to existing solutions. 1. Ahmed M. Aly, Walid G. Aref, Mourad Ouzzani, Hosam M. Mahmoud |
EDBT | 1 |
| 2014 | Indexing recent trajectories of moving objectsabstractThe plethora of lacation-aware devices has led to countless location-based services in which huge amounts of spatio-temporal data get created everyday. Several applications requie efficient processing of queries on the locations of moving objects over time, i.e., the moving object trajectories. This calls for efficient trajectory-based indexing methods that capture both the spatial and temporal dimensions of the data in a way that minimizes the number of disk I/Os required for both updating and querying. Motivated by applications that require only the recent history of a moving object's trajectory, this paper introduces the trails-tree; a disk-based data structure for indexing recent trajectories. The trails-tree maintains a temporal-sliding window over the trajectories and uses: (1) an in-memory memo structure that reduces the I/O cost of updates using a lazy-update mechanism, and (2) a lazy vacuum-cleaning mechanism to delete parts of the trajectories that fall out of the sliding window. Experimental evaluation illustrates that the trails-tree outperforms the state-of-the-art index structures for indexing recent trajectory data by up to a factor of two. Ahmed R. Mahmood, Walid G. Aref, Ahmed M. Aly, Saleh M. Basalamah |
SIGSPATIAL/GIS | 3 |
| 2014 | Mars: Real-time spatio-temporal queries on microblogsabstractMars demonstration exploits the microblogs location information to support a wide variety of important spatio-temporal queries on microblogs. Supported queries include range, nearest-neighbor, and aggregate queries. Mars works under a challenging environment where streams of microblogs are arriving with high arrival rates. Mars distinguishes itself with three novel contributions: (1) Efficient in-memory digestion/expiration techniques that can handle microblogs of high arrival rates up to 64,000 microblog/sec. This also includes highly accurate and efficient hopping-window based aggregation for incoming microblogs keywords. (2) Smart memory optimization and load shedding techniques that adjust in-memory contents based on the expected query load to trade off a significant storage savings with a slight and bounded accuracy loss. (3) Scalable real-time query processing, exploiting Zipf distributed microblogs data for efficient top-k aggregate query processing. In addition, Mars employs a scalable real-time nearest neighbor and range query processing module that employs various pruning techniques so that it serves heavy query workloads in real time. Mars is demonstrated using a stream of real tweets obtained from Twitter firehose with a production query workload obtained from Bing web search. We show that Mars serves incoming queries with an average latency of less than 4 msec and with 99% answer accuracy while saving up to 70% of storage overhead for different query loads. Amr Magdy 0001, Ahmed M. Aly, Mohamed F. Mokbel, Sameh Elnikety, Yuxiong He, Suman Nath |
ICDE | 2 |
| 2013 | Maximizing energy utilization of routing in wireless sensor networksabstractThe recent interest in wireless sensor networks has led to a number of routing schemes that aim at utilizing the limited resources available at sensor nodes more efficiently. This paper proposes and evaluates `Range Switching', a routing scheme that aims at increasing the energy utilization of routing protocols. Range switching is applicable to any routing protocol. In this paper, we apply Range Switching to the Gradient Based Routing (GBR) protocol. Experimental results and mathematical analysis show that Range Switching if combined with some network traffic spreading schemes can increase the Wireless Sensor Network (WSN) life-time. Ahmed M. Aly, Magdy A. Ahmed, Mohamed N. El-Derini |
AICCSA | 1 |
| 2012 | M3: Stream Processing on Main-Memory MapReduceabstractThe continuous growth of social web applications along with the development of sensor capabilities in electronic devices is creating countless opportunities to analyze the enormous amounts of data that is continuously steaming from these applications and devices. To process large scale data on large scale computing clusters, MapReduce has been introduced as a framework for parallel computing. However, most of the current implementations of the MapReduce framework support only the execution of fixed-input jobs. Such restriction makes these implementations inapplicable for most streaming applications, in which queries are continuous in nature, and input data streams are continuously received at high arrival rates. In this demonstration, we showcase M3, a prototype implementation of the MapReduce framework in which continuous queries over streams of data can be efficiently answered. M3 extends Hadoop, the open source implementation of MapReduce, bypassing the Hadoop Distributed File System (HDFS) to support main-memory-only processing. Moreover, M3 supports continuous execution of the Map and Reduce phases where individual Mappers and Reducers never terminate. Ahmed M. Aly, Asmaa Sallam, Bala M. Gnanasekaran, Long-Van Nguyen-Dinh, Walid G. Aref, Mourad Ouzzani, Arif Ghafoor |
ICDE | 1 |
| 2012 | Spatial Queries with Two kNN PredicatesabstractThe widespread use of location-aware devices has led to countless location-based services in which a user query can be arbitrarily complex, i.e., one that embeds multiple spatial selection and join predicates. Amongst these predicates, the k -Nearest-Neighbor ( k NN) predicate stands as one of the most important and widely used predicates. Unlike related research, this paper goes beyond the optimization of queries with single k NN predicates, and shows how queries with two k NN predicates can be optimized. In particular, the paper addresses the optimization of queries with: (i) two k NN-select predicates, (ii) two k NN-join predicates, and (iii) one k NN-join predicate and one k NN-select predicate. For each type of queries, conceptually correct query evaluation plans (QEPs) and new algorithms that optimize the query execution time are presented. Experimental results demonstrate that the proposed algorithms outperform the conceptually correct QEPs by orders of magnitude. Ahmed M. Aly, Walid G. Aref, Mourad Ouzzani |
Proc. VLDB Endow. | 1 |
| 2010 | SimDB: a similarity-aware database systemabstractThe identification and processing of similarities in the data play a key role in multiple application scenarios. Several types of similarity-aware operations have been studied in the literature. However, in most of the previous work, similarity-aware operations are studied in isolation from other regular or similarity-aware operations. Furthermore, most of the previous research in the area considers a standalone implementation, i.e., without any integration with a database system. In this demonstration we present SimDB, a similarity-aware database management system. SimDB supports multiple similarity-aware operations as first-class database operators. We describe the architectural changes to implement the similarity-aware operators. In particular, we present the way conventional operators' implementation machinery is extended to support similarity-aware operators. We also show how these operators interact with other similarity-aware and regular operators. In particular, we show the effectiveness of multiple equivalence rules that can be used to extend cost-based query optimization to the case of similarity-ware operations. Yasin N. Silva, Ahmed M. Aly, Walid G. Aref, Per-Åke Larson |
SIGMOD Conference | 2 |