02 / Mission-critical infrastructure
NASA / General Dynamics
Connecting space to Earth.
Turning legacy mission data into validated Oracle records with Python tooling for the Space Network Ground Segment Sustainment program.
The context
NASA’s Space Network relays data from orbiting platforms, including the International Space Station and Hubble Space Telescope. The ground segment receives, processes, and distributes those signals. My work supported the Enterprise Infrastructure segment of SGSS.
The challenge
Existing mission data from the legacy system was difficult to transform into the new relational schema and verify for correctness. System engineers needed to compare mission settings against the original data. Manually authoring normalized CSV files meant working across separate files and aligning foreign keys, making that review harder.
The approach
I developed Python tooling with openpyxl to transform Excel documents into relational entities in Oracle. Excel remained the human-readable source for review, so system engineers could visualize mission settings and check them against the legacy data before ingestion.
The tooling used mission names and associated data to identify relationships, checking that foreign key references aligned with the mission-name reference tying the records together. This kept the data understandable and traceable while generating the CSV files needed for ingestion into Oracle.
Validation also checked combinations of settings, beyond whether each individual value was allowed. I loaded permitted configurations from a schema key-value table and checked human-entered data against those rules. For example, the permitted modulation depended on the selected radio frequency band; a modulation valid for one band could be invalid for another.
Engineers ran the Python tool from the command line. Validation issues appeared in a CLI error report, with an optional text-file report. Each issue identified the Excel tab, column, and row so engineers could locate the problematic input in the workbook.
The Excel-to-CSV extraction stage took too long. I refactored it to use multithreading, running extraction work concurrently to reduce the conversion wait.
The outcome
System engineers could continue reviewing familiar Excel documents while the tooling handled conversion and relational mapping. They no longer needed to construct normalized CSV files and align foreign keys by hand. Automated checks identified misaligned mission references and configuration combinations that were not permitted by the schema, with error reports pointing to the source cells for correction. The threaded extraction addressed the long conversion time, while mission-based identifiers kept the resulting data traceable to its source.
My contributions
- Designed and developed relational databases using Oracle Exadata, Microsoft SQL Server, and MySQL, applying OLTP third normal form and OLAP star schema principles.
- Built Python automation with openpyxl to validate mission data, extract CSV files, and populate relational entities in Oracle.
- Validated mission references and configuration combinations against schema rules, reporting errors by Excel tab, column, and row through the CLI and optional text files.
- Refactored Excel-to-CSV extraction to use multithreading and retained human-readable mission identifiers for traceability.
- Maintained and configured Oracle Data Integrator, GoldenGate, and Oracle Business Intelligence applications.
- Worked with NASA engineers at White Sands and Goddard to verify data and deliver pre-deployment training.