~/talk

Switching to MongoDB: The challenges of translating database schemas

Talkat PyCon AU 2024 · 2024-11-22..11-26· [databases]
slides:none on file

Claim: migrating from Postgres to MongoDB is often unnecessary and surprisingly hard but feasible with tooling. The team builds and demonstrates MongoDB Relational Migrator on an example app Conduit (FastAPI + SQLAlchemy + Postgres), copying tables to collections, embedding tags into article documents, adding indexes, and using CDC/Kafka for large or live datasets. Results: queries on embedded tags become faster, joins are slower, transactions exist, and document semantics change (beware the 16 megabyte document limit and that embedded tag edits no longer propagate globally).

AI-written summary · about

  1. 0:00Introduction to MongoDB
  2. 1:30Data storage methods
  3. 2:35Migrating to MongoDB
  4. 4:21MongoDB Relational Migrator
  5. 4:43Conduit PostgreSQL schema
  6. 6:12Relational vs document modeling
  7. 8:40MongoDB data structure
  8. 9:23First migration attempt
  9. 12:14Relational schema challenges
  10. 14:00Optimizing MongoDB structure
  11. 16:58Relational vs MongoDB models
  12. 17:18Large documents and 16MB limit
  13. 19:02MongoDB performance strategies
  14. 21:29Code refactoring implications
  15. 23:14Complexity of data migrations
  16. 23:35Q&A on migration
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.