Facebook
Software Engineer
Futurewei Technologies Sep 2016 - Sep 2019
Principal Database Architect
Harmony Gardens, Inc. May 2019 - Aug 2019
Business Development Intern
Alliance Consulting Group Jan 2019 - Apr 2019
Project Manager
Chartwell Associates Pte Ltd May 2018 - Jul 2018
Business Optimization Intern
Education:
University of Michigan College of Literature, Science, and the Arts 2016 - 2020
University of Michigan 2016 - 2020
Bachelors
University of Michigan - Stephen M. Ross School of Business 2017 - 2020
Bachelors, Bachelor of Business Administration
Central Academy, Ann Arbor, Michigan 2015 - 2016
Washtenaw Community College 2015 - 2016
University of Illinois at Chicago 1990 - 1995
Doctorates, Doctor of Philosophy, Computer Science
King Fahd University of Petroleum & Minerals - Kfupm 1988 - 1990
Masters, Computer Science
King Fahd University of Petroleum & Minerals - Kfupm 1981 - 1986
Bachelors, Bachelor of Science, Computer Science
Skills:
Market Research Client Management Strategic Consulting Process Optimization Business Development Data Analysis Business Strategy Collaborative Problem Solving Cross Cultural Communication Skills Leadership Team Leadership Databases Data Warehousing Data Modeling Teradata Software Development Sql Unix Distributed Systems Software Engineering Database Design Etl Enterprise Architecture Olap Solution Architecture Enterprise Software Hadoop Big Data Agile Methodologies Algorithms Requirements Analysis Computer Science Web Applications Performance Benchmarking
Grace Kwan-On Au - Rancho Palos Verdes CA Ahmad Said Ghazal - Redondo Beach CA Paul Laurence Sinclair - Manhattan Beach CA
Assignee:
NCR Corporation - Dayton OH
International Classification:
G06F 1730
US Classification:
707 2
Abstract:
A method, database system and computer program are disclosed for optimizing a SQL query, in which the SQL query includes a WHERE clause and a FROM clause. An evaluation is done to determine whether a non-covering join index partially but not completely covers the query. If it does, the join index is added to the FROM clause of the query without removing the partially covered base tables and the WHERE clause of the query is modified by: (1) mapping a query condition to the join index for its partially covered base tables; and (2) adding a join back condition from the join index to a base table from which the join index was formed.
Semantic Query Optimization Using Value Correlation
Ahmad Said Ghazal - Redondo Beach CA Paul Laurence Sinclair - Manhattan Beach CA
Assignee:
NCR Corporation - Dayton OH
International Classification:
G06F 1730
US Classification:
707 2, 707 10
Abstract:
A method and computer system for optimizing queries to a database are disclosed. The database includes a first table (T ) having a primary key (PK) column and a first correlated value column (CV ) and a second table (T ) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV ). The method includes joining T to the T using PK=FK as the join condition to produce a join result having rows. Each row includes a value from CV and a value from CV. The method further includes creating an initial running constraint (RC). The initial running constraint includes a null range. The method further includes producing a derived constraint rule (DCR) having the following form: where C and C are constants, and âââ means âimplies,â by performing the following processing for each row in the join result: computing a new constraint (NEW), having a range, and modifying RC by merging the range of NEW with the range of RC.
Hong Gui - Madison WI, US Curt J. Ellmann - Madison WI, US Grace Au - Rancho Palos Verdes CA, US Ahmad S. Ghazal - Redondo Beach CA, US
Assignee:
NCR Corporation - Dayton OH
International Classification:
G06F017/30
US Classification:
707 3, 707 4
Abstract:
A method and apparatus determines (1) if a materialized view can be used to respond to a query for data stored in one or more base tables of a database system; and/or (2) if the materialized view needs to be updated in response to an update query. A query expression tree represents the query, and a materialized view expression tree represents the materialized view. The components of the query expression tree are compared with components of the materialized view expression tree to determine if the materialized view covers the query that is, the tuples in the result of the query expression are a subset of the tuples in the result of the materialized view expression.
Determining The Satisfiability And Transitive Closure Of Conditions In A Query
Ahmad Ghazal - Redondo Beach CA, US Curtis Ellmann - Madison WI, US
Assignee:
NCR Corporation - Dayton OH
International Classification:
G06F 17/30
US Classification:
707 3, 707 4
Abstract:
A method and computer system for improving the efficiency of execution of a database query that includes conditions is disclosed. Satisfiability of the conditions is analyzed before executing the query. If the conditions are satisfiable, the transitive closure of the conditions is analyzed and the conditions are modified to meet transitive closure, if necessary, before executing the query.
Semantically Reducing The Number Of Partitions Involved In A Join
Ahmad Said Ghazal - Redondo Beach CA, US Paul Laurence Sinclair - Manhattan Beach CA, US
Assignee:
NCR Corp. - Dayton OH
International Classification:
G06F 17/30
US Classification:
707101, 707 3, 707102
Abstract:
A method, computer program and system for joining two tables, tand tare described. Each table contains rows and columns and is divided into one or more partitions. A correlation function is calculated between a first correlated value column of table tand a second correlated value column of table t. Following a query request, a joining algorithm is used to join tand t, using a reduced set of partitions based in part upon the correlation function.
A method, computer program, and computer network are disclosed for executing database queries. The method includes identifying a first set of conditions corresponding to a selected step for executing a query. A second set of conditions corresponding to one or more steps for executing the query that feed the selected step is identified. Each condition in the first set is checked for mathematical redundancy, including redundancy without equivalency, with regard to the other conditions in the union of the conditions corresponding to the selected step and the conditions in the second set. Each condition in the first set that is redundant is included in a third set. If there is only one condition in the third set, an identifier of the one condition is stored.
Method And System For Updating Value Correlation Optimizations
Ahmad Said Ghazal - Redondo Beach CA, US Paul Laurence Sinclair - Manhattan Beach CA, US
Assignee:
NCR Corporation - Dayton OH
International Classification:
G06F 17/30 G06F 7/00
US Classification:
707 2, 707 3, 707 4, 707 10
Abstract:
A method, computer program, and database system are disclosed for executing database queries. The database includes a first table (T) having a primary key (PK) column and a first correlated value column (CV) and a second table (T) having a foreign key (FK) column related to the primary key column of the first table and a second correlated value column (CV). One implementation of the method includes preparing a database query for execution based at least in part on application of a derived constraint rule (DCR) having the form, (PK=FK)→CV+C≦CV≦CV+C, where Cand Care constants and “→” means “implies,” to produce an execution plan. Abort steps that are conditioned on changes in the DCR are also included in the execution plan. The plan is then executed.
The invention relates to a method and database system for rewriting a SQL query having at least one null sensitive expression (NSE) in a select list of the query, the query comprising at least one outer join command to be performed on at least two tables and involving a view or a Derived Table (DT). The method comprising the steps of: identifying at least one unmatching row belonging to the view or DT using non-nullable fields that belong to the outermost table in the view or DT; converting the NSE(s) from the at least one identified rows into a SQL case construct; and performing the at least one outer join. The database system comprising means for rewriting a SQL query having at least one null sensitive expression (NSE) in a select list of the query, the query comprising at least one outer join command to be performed on at least two tables and involving a view or a Derived Table (DT). The system comprises a device configured to identify at least one unmatching row belonging to the view or DT using non-nullable fields that belong to the outermost table in the view or DT; a device configured to convert the NSE(s) from the at least one identified rows into a SQL case construct; and a device configured to perform the at least one outer join.