You should solve this by making one request to a db api layer (use GraphQL!) And have that layer do the back and forth with the db, from right next to it.
Holding transactions open for long distance round trips is going to get you into trouble in a myriad of ways. It does not scale.