Oracle Software Developer in Redwood City, California

Software Developer

Preferred Qualifications

We design and develop the data storage & processing engine for the Oracle Database and the Exadata Database Machine. Our focus is on big-data, in-memory data management, high performance OLTP and real-time in-memory analytics. Some of the highlights of this team are as follows:

  • Delivering Oracle Database In-Memory Option, announced by Larry Ellison at the September 2013 Openworld conference in San Francisco. This new In-Memory Database technology provides the ability to process hundreds of billions of rows per second, and is one of the most visible areas in the Oracle Database at present.

  • Industry-leading innovators in Data Management with 100 patents awarded in the last few releases. Examples of research publications: The Database File System, Temporal Databases, Oracle SecureFiles

  • Responsible for leading edge innovations for Exadata: Smart Scan, Hybrid Columnar Compression and more

To learn more about the recent in-memory innovations by this team with the Oracle Database’s upcoming In-Memory option, featuring SIMD vector processing, memory-optimized compression and columnar technology, please see the recorded keynote by Larry Ellison, CEO's presentation at Oracle Openworld 2013 ( ).

We are one of the fastest innovating teams in the industry, with our technology regularly featured within the Top 5 features in the database by external sources for multiple releases. Our innovations extend the Oracle Database to be far more than just a data processing framework – for example, Flashback / Temporal technology allows the Oracle database user to travel back in time, Secure Files and the Database File System allow Oracle to serve as a very high performance unstructured content repository, Advanced Compression and Advanced Data Optimization allow Oracle Database to facilitate the role of an automatic broker for information lifecycle management. Our largest customers entrust their data management needs to the Oracle Database because of technologies built by this team.

If you are excited by complex problems spanning computer systems, algorithms, and theoretical computer science as well as the opportunity to work in a fun, creative, and fast-paced team, this is the right group for you.

The Data Technologies group covers three areas.

  1. Transaction Processing

The Transaction Processing team develops the engine for transaction processing for the database and the mid-tier. We are responsible for transaction locking, multi-versioning concurrency control, parallel and distributed coordination protocols, cache fusion protocols for clusters, self-learning undo management, and transaction recovery. We are leveraging our infrastructure and competencies in these core areas to build next-generation technologies such as columnar storage, transactional storage web service, continuous query notification, flashback technologies, active database history, heterogeneous standby, and cluster transaction fusion. Ongoing and future projects are in the areas of in-memory column store maintenance, continuous query notifications, cluster-wide distributed transactions (transaction fusion), historical data store, flashback transaction, auto correcting undo management, and application integration.

Work in this area is systems-related: a mix of operating systems, databases, parallel and distributed systems, as well as mid-tier infrastructure.

  1. Data Storage

The Data Storage group designs storage and access structures for the entire database: from the upcoming in-memory columnar data format, b-tree and bitmap indexes, heap tables, index-organized-tables, secure files and lobs, hybrid columnar storage, etc. From the constantly changing landscape of processor and storage technology to new application requirements (such as XML, JSON, media streaming, indexing), this is a pivotal group that has the charter of providing technology leadership for the Oracle database server. We are building the world's fastest and most-feature-rich filesystem and indexing technology. Some of our recent efforts have been in areas related to: In-Memory Columnar Databases, compression, encryption, sliding-inserts for efficient XML storage, snapshots, filesystem caching and performance, and scalability in clustered server environments.

The Data Storage layer for the Oracle database is responsible for the storage and retrieval of all data stored in Oracle (relational, XML, text, spatial and graph, OLAP warehouses, unstructured files etc). We organize data both within memory for in-memory columnar and row processing, as well as inside disk blocks, create and manage efficient structures from which those blocks are accessed e.g. a B-tree, bitmap index, LOB, clusters etc., and methods for accessing data from these transactional data structures. Our group has some very hard and interesting problems to solve in the area of distributed systems where database span clusters comprising hundreds of nodes but must provide a single-system image to the end user.

We are also working on providing an intelligent storage subsystem to which the database can push predicate evaluation, projection, aggregation etc. to the storage layer, effectively pushing evaluation logic down to the data as opposed to pulling massive amounts of data to the cpu. Additionally, there are new row-major and column-major storage schemes that we need to design to cater to the business intelligence world for processing petabytes of information while optimizing for the new generation of multi-byte SIMD register instructions provided by present and upcoming CPUs.

  1. Space Management

People want to store everything on persistent media: books, pictures, health records, music, videos, everything. Disks are getting bigger and cheaper, but they are not getting much faster, or easier to manage. At the core of Oracle's business is its ability to store data and do it in a high-performance, scalable, reliable, and manageable way. Now consider that we need to do this just as well for an Exabyte of data. Space truly is the final frontier!

Space management is a fundamental component of the RDBMS that provides an abstraction to the database storage subsystem. Space requirements for the database are primarily of two kinds - temporary scratch space required to store intermediate results generated in the database and persistent storage used to store user data. From managing the temporary space for sorting a terabyte of data to finding the best slot in a petabyte volume disk for storing the next piece of employee payroll information, intelligent space management is one of the foundations for high-performance OLTP and data warehouse systems. Space management needs vary with different kinds of data stored in the database. Storing a streaming video has different requirements than storing the product item names. Developing an efficient storage management component that works for all data types and also scales for several hundred thousand concurrent users will be one of the toughest challenges we face.

To explore these and many more challenges in developing the next generation data management platform at Oracle, please come and check us out.

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

Detailed Description and Job Requirements

Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.

As a member of the software engineering division, you will assist in defining and developing software for tasks associated with the developing, debugging or designing of software applications or operating systems. Provide technical leadership to other software developers. Specify, design and implement modest changes to existing software architecture to meet changing needs.

Duties and tasks are varied and complex needing independent judgment. Fully competent in own area of expertise. May have project lead role and or supervise lower level personnel. BS or MS degree or equivalent experience relevant to functional area. 4 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.

Job: Product Development

Location: US-CA,California-Redwood City

Job Type: Regular Employee Hire

Organization: Oracle