Golang: ORM or not ORM @ Mercado Libre

Fernando Eugenio Correa
Mercado Libre Tech
Published in
2 min readJul 12, 2022

How can we evaluate the best choice considering project requirements and team characteristics?

Read this story in portuguese.

This series of articles aims to share the experience that we, the Code Ecosystem team, have had in seeking information about the most appropriate way to work with relational databases using the Go language in Mercado Libre. In order to help our developers (especially those from Go), available options will be presented so that they can get their own perspective on the best solution method.

In the first article, “Go Language, Relational Databases and ORMs”, we briefly explain the Go language (main features and functionalities), relational databases and the SQL language, and some of the ways we have to work with Go and relational databases. This discussion will lead us to an introduction to ORMs and some of the main packages available in Go (we already use some of them! 😃).

In the second part, called “Using Go at Meli: ORM or !ORM”, we share our experience with evaluating the use of these different packages and observations regarding our environment in Mercado Libre. We will discuss characteristics and possible motivations so that the different teams (who have different characteristics, knowledge and needs within Mercado Libre) can find the solution that best meets their needs.

In the last part, “Code Ecosystem — Improving the development experience”, we invite you to know our team a little better. We present our team, our mission, characteristics and initiatives and how this topic motivates us to seek and generate this type of information.

Now, with all the pieces on the board, let’s play the game…

--

--