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.
2. 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.
3. 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.