Applications rely on data, and relational databases are a convenient way to organize structured information. Object-relational mappers like SQLAlchemy and Django’s ORM are complex libraries, but they aren’t black magic. De-mystify some of the magic as we build the basics of an ORM in under an hour.
The presentation will start with some background on the requirements and relational databases. Next, we’ll build a basic ORM that allows creating simple tables and inserting, querying, and (if we have time) deleting records. Finally, the talk will cover some of the challenges of building a production-grade ORM, including caching, transactions, supporting multiple dialects, and we’ll briefly discuss security implications of ORMs, including SQL injection. Attendees will leave with a greater appreciation for the inner workings of the ORMs that are used on a daily basis, while understanding the challenges that go into building one.