~/talk

Dealing with Bad Architecture Decisions: A Case Study

Talkat StarCon 2018 · on Saturday, 2018-01-06· [databases, microservices]
github:cjanke
slides:none on file

Team builds an Elasticsearch-backed order index but discovers one minute update lag because drift takes up to a minute (sometimes 15+) to push changes into a staging table, so a database table is added as a DB search pseudo-index and queries become a two-step: search for IDs then filter in SQL. The result is a Frankenstein database+search hybrid that fixes immediacy but complicates queries, remains in production, and reveals lessons about validating backups and not locking architecture decisions.

AI-written summary · about

  1. 0:00Start
  2. 1:46What orders are in progress and need to be shipped today?
  3. 9:00Last minute hacky solution!
  4. 9:26Wait, do we even need the index?
  5. 10:14And it's still in place one year later!
  6. 11:21Lesson #1: Make sure your back-up works
  7. 12:21Make it clear from the beginning that the Prevention architecture is open to discussion. • Hold regular retrospectives where the architecture is evaluated.
  8. 12:52Question 3: Why didn't I realize earlier how big of an issue this was?
  9. 13:47Lesson #3: Try not to panic
  10. 14:30Final thoughts / meta lesson
~/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.