I've been a Java developer professionally for about 6 years. Originally, I started writing a few scripts for Oracle SQL while I worked at Oracle CPQ/BigMachines and got familiar with the custom ORM they created. After moving to Braviant Holdings, I got to try my hand using PostgreSQL. It's been great getting to using it and a really fun to work with an open source language.
``` Henrietta Dombrovskaya is a database researcher and developer with over 35 years of academic and industrial experience. She holds a Ph.D. in Computer Science from the University of Saint Petersburg, Russia. At present she is
- A Senior Cloud Consultant at Enterprise DB
- Local Organizer of the Chicago PostgreSQL User Group
- Active community member, a frequent speaker at the PostgreSQL Conferences
- A researcher focused on developing efficient interactions between applications and databases; publications include Proceedings of EDBT 2014 Athens, ICDE 2016 in Helsinki, and SOFSEM 2020 Limassol
- A winner of the “Technologist of the Year” 2019 award of the Illinois Technology Association
- An author of PostgreSQL Query Optimization book ```
Everything shall pass except Object-Relational Impedance Mismatch. Despite many years of research and development in this area, applications and databases still struggle with communication issues. An incompatibility of data models between object-oriented application code and a database engine causes multiple performance problems and triggers over-complicated application design.
In this talk, we describe a solution for high-level information exchange between PostgreSQL database and Java applications. With this solution we can completely eliminate the usage of any ORM. Instead of low-level (attribute-to-column) mapping typical for an ORM, our technique relies on high-level structure-preserving model mapping.
We provide the data transfer between the app and the database with close-to-zero overhead, returning data in the JSON format, which makes it easy for the application to consume the data. Although we developed this methodology for Java applications, it can be used for any programming language which utilizes JSON as a data transfer format. On the PostgreSQL side, we can maintain the strong types and optimize the database queries independently from the application.
The proposed solution is fully implemented in the industrial settings based on cloud services. In our talk we will show how this technique streamlines application development and, at the same time, provides significant performance gains.
Slides have been updated!
- 2019 March 20 13:00 EDT
- 50 min
- New York Ballroom East
- Postgres Conference