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 30 years of academic and industrial experience. She holds a Ph.D. in Computer Science from University of Saint Petersburg, Russia. She taught Database and Transaction theory at the University of Saint – Petersburg (Russia), as well as multiple database tuning classes for both beginners and advanced professionals.
Her professional experience includes consulting for a number of government projects in Chicago and New York, and providing Data services in the financial sector, manufacturing, and distribution. She is a co-author, with B. Novikov, of the book “System Tuning”, BHV, S.-Petersburg, Russia. Her researches in overcoming object-relational impedance mismatch were publish in the Proceedings of EDBT 2014 Athens and ICDE 2016 in Helsinki. At Braviant Holdings she is happy to have an opportunity to implement the results of her research in practice
Henrietta Dombrovskaya is a co-organizer of the Chicago PostgreSQL User Group
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.
- 2019 March 20 13:00
- 50 min
- Postgres Conference