Consulting Member of Technical Staff
Redwood City , California
February 03, 2017
We are searching for experienced engineers in Parallel Data Manipulation Group and SQL Execution Groups.

The Parallel Data Manipulation Language (PDML) team is responsible for three main areas: (1) loading massive amount of data into Oracle RDBMS, (2) constraint management (for example primary-foreign key) within Oracle RDBMS, and (3) accessing very large data sets residing in external sources such as Hadoop HDFS, external files, and No SQL DBs. All three areas need to execute in parallel on both SMP and on large clusters of distributed memory machines.

Our mission is to make the Oracle RDBMS the fastest and most flexible database for storing and retrieving data including external sources whether it be a few megabytes or 500 terabytes!

We develop extensions to the SQL language and invent state of the art techniques that can take advantage of multiple CPU's in a machine, or large clusters of machines so that data can be manipulated and retrieved as fast as possible.

Our immediate challenge is to scale out our parallel execution including parallel dml on extremely large clusters to allow us to support near real-time parallel query. Furthermore, in the current Oracle release we have significantly improved parallel scalability of sql operators and parallel scalability of reading external data sources, so sql can execute scalably on internal and external sources alike. We have provided ability to read external data stored in JSON and other semi-structured JAVA formats, hence extending Oracle sql to new domain processing and analyzing semi-structured data with the most powerful and reach sql engine.

We looking for talented and curious engineers who would be interested in working on very complex, advanced SQL parallel system problems. All of these problems are in the space of database scalability to achieve unparalleled reliability and performance in Oracle RDBMS kernel. Our next challenges are making parallel execution on massively parallel clusters of machine look like a piece of cake.
For SQL execution we are focusing on providing scalability of the sql operators for parallel queries and for memory usage. A most recent area of interest if vectorized and columnar processing.

What kind of skills we are looking for:

* Knowledge of database systems theory: SQL query optimization, SQL Execution, hash-join, group-by, re-partitioning and fragmentation.

* Knowledge of operating systems: logical time, snapshots, stability, message ordering, concurrency control, transactions, multi-threading support.

* A good sense for database systems practice.

* Some experience in Map Reduce, Hadoop, Hive and processing of semi-structured data.
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.

As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems.

Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience.

Oracle is an Equal Employment Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, disability and protected veterans status or any other characteristic protected by law.

A little about us:
Oracle is shifting the complexity from IT, moving it out of the enterprise by engineering hardware and software to work together—in the cloud.

Know someone who would be interested in this job? Share it with your network.