worse case scenario in the database
play

WORSE CASE SCENARIO IN THE DATABASE WORSE CASE SCENARIO IN THE - PowerPoint PPT Presentation

DEPARTMENT OF COMMERCE WORSE CASE SCENARIO IN THE DATABASE WORSE CASE SCENARIO IN THE DATABASE GIVE ME YOUR WORST OH NO! A DATABASE MUST BE IN TROUBLE! @bellmar WORSE CASE SCENARIO IN THE DATABASE WERE HAVING SERIOUS PERFORMANCE


  1. DEPARTMENT OF COMMERCE WORSE CASE SCENARIO IN THE DATABASE

  2. WORSE CASE SCENARIO IN THE DATABASE GIVE ME YOUR WORST OH NO! A DATABASE MUST BE IN TROUBLE! @bellmar

  3. WORSE CASE SCENARIO IN THE DATABASE WE’RE HAVING SERIOUS PERFORMANCE ISSUES. CAN YOU LOOK AT OUR DB? Important Client

  4. WORSE CASE SCENARIO IN THE DATABASE @bellmar

  5. WORSE CASE SCENARIO IN THE DATABASE OH. THAT LOOKS LIKE MY OMG WTF?!?!? DATABASE… @bellmar

  6. IT’S NOT THE NUMBER OF TABLES IT’S WHY YOU NEED SO MANY

  7. WORSE CASE SCENARIO IN THE DATABASE TECHNICAL DEBT ๏ “Technical debt” is not limited to application code ๏ How often do we change things? ๏ Application code: Often ๏ Infrastructure: Rarely ๏ Data model and schemas: Variable @bellmar

  8. WORSE CASE SCENARIO IN THE DATABASE TECHNICAL DEBT New Feature Refactoring @bellmar

  9. WORSE CASE SCENARIO IN THE DATABASE TECHNICAL DEBT Mon Tues Wed Thurs Fri @bellmar

  10. WORSE CASE SCENARIO IN THE DATABASE DEBT -VS- LEGACY DEBT LEGACY ✓ WTF factor ✓ Design pattern resource mismatch $ ✓ Performance unaffected by upgrades ✓ Performance product of capacity ✓ Extended onboarding engineers ✓ Candidate skill gap @bellmar

  11. WITHOUT A WAY TO MEASURE DEBT THE BEST TIME TO PAY IT DOWN IS ALWAYS TOMORROW

  12. WORSE CASE SCENARIO IN THE DATABASE MEASURING TECHNICAL DEBT @bellmar

  13. WORSE CASE SCENARIO IN THE DATABASE MEASURING TECHNICAL DEBT Bug fixes Feature deployed Feature started @bellmar

  14. WORSE CASE SCENARIO IN THE DATABASE MEASURING TECHNICAL DEBT Bug fixes!!! Feature deployed Feature started @bellmar

  15. WORSE CASE SCENARIO IN THE DATABASE MEASURING TECHNICAL DEBT ๏ Increase in operation costs ๏ Static code analysis ๏ Test coverage @bellmar

  16. WORSE CASE SCENARIO IN THE DATABASE WHY DON’T WE TALK ABOUT TECHNICAL DEBT IN THE DB? ๏ Most businesses only live 10 years (Time Magazine, 2015) ๏ Silos between DBA and Data Engineering ๏ Backups? Software upgrades? ๏ Normalization? Queries? ๏ “From my experience, a DBA maintains existing infrastructure and a Data Engineer designs new/expanding databases” o O . ? t a h w … m m U @bellmar

  17. WORSE CASE SCENARIO IN THE DATABASE @bellmar

  18. WORSE CASE SCENARIO IN THE DATABASE @bellmar

  19. WORSE CASE SCENARIO IN THE DATABASE @bellmar

  20. WORSE CASE SCENARIO IN THE DATABASE TABLE AND COLUMN NAMES NOT INTUITIVE fdtw01_applDOAlcc NmOCoun_1 @bellmar

  21. WORSE CASE SCENARIO IN THE DATABASE TABLE AND COLUMN NAMES NOT INTUITIVE fake data train wreck 01 fdtw01_applDOAlcc application Department of Awesome location country code NmOCoun_1 Name Of Country @bellmar

  22. WORSE CASE SCENARIO IN THE DATABASE PII AS PRIMARY KEY @bellmar

  23. WORSE CASE SCENARIO IN THE DATABASE IMPROPER PRIVACY/SECURITY ๏ Restricting tool options (test data when PK is unencrypted PII) ๏ “Temporary” roles that have too much access ๏ Not upgrading hashing algorithms (MD5 SHA-1 SHA-256) ๏ Not maturing architecture as organization matures (message queues!) @bellmar

  24. WORSE CASE SCENARIO IN THE DATABASE THIS IS VIEW BASED ON THIS TABLE @bellmar

  25. WORSE CASE SCENARIO IN THE DATABASE DATABASE VIEWS USEFUL DYSFUNCTIONAL ๏ Regularly joining multiple tables ๏ Developer silos (my views, your views) ๏ Subsets of data, better access control ๏ Hides complexity ๏ Routine db calculations (sums, geo) ๏ Application logic in the db ๏ Feature flagging ๏ Small but not nonexistent @bellmar

  26. WORSE CASE SCENARIO IN THE DATABASE THESE ARE DBLINKS TO OTHER DATABASES @bellmar

  27. WORSE CASE SCENARIO IN THE DATABASE DBLINKS AND OTHER MAGIC TRICKS ๏ DBlinks: joins across databases ๏ Query time + network speed ๏ Directionality: Query from which table? Can affect performance ๏ Complicates security ๏ Why was this data separate in the first place? @bellmar

  28. WORSE CASE SCENARIO IN THE DATABASE STORED PROCEDURES ๏ Scripts inserted and run on the db itself ๏ Code will usually run faster on the db than the application ๏ Application logic kept away from where application teams can see it ๏ “We don’t need to version control it because it’s in our backups” ๏ Harder to trace or predict impact of changes @bellmar

  29. WORSE CASE SCENARIO IN THE DATABASE COLUMN TYPE HERE IS BLOB @bellmar

  30. WORSE CASE SCENARIO IN THE DATABASE BLOBS: WHAT DATA IS DATA? ๏ BLOB = Binary Large Object ๏ Images, audio, executables … these things are not queryable ๏ Popular as storage became cheap, but inflates the size of the database ๏ As connection speeds increase, cloud file storage (AWS S3) preferred @bellmar

  31. WORSE CASE SCENARIO IN THE DATABASE WHAT SHOULD YOU DO? ๏ Audit the queries? ๏ Migrate to NoSQL? ๏ Rewrite and simplify the applications using this db? ๏ Light the thing on fire and go home? @bellmar

  32. INCREMENTAL FAILURE IS SOLVED WITH INCREMENTAL IMPROVEMENT

  33. WORSE CASE SCENARIO IN THE DATABASE RESPONSIBILITY GAP Backups Schema design Upgrading Query optimization Analysis Security Normalization DBAS DEVS OPS @bellmar

  34. WORSE CASE SCENARIO IN THE DATABASE ARE ENGINEERS FIRST CLASS CITIZENS? Oh stop being so dramatic. It’s just one little change @bellmar

  35. WORSE CASE SCENARIO IN THE DATABASE COMMUNICATION TOOLS ๏ Organized chat: Can people figure out who each other are and reach out quickly? ๏ Automation: Readable configuration scripts and immutable architecture means devs can see hidden logic. Dev environments easier to setup ๏ Documentation: How does your data dictionary relate to your code documentation? Are you using ORM? @bellmar

  36. WORSE CASE SCENARIO IN THE DATABASE DEFINE YOUR GOAL PERFORMANCE SECURITY ACCURACY @bellmar

  37. WORSE CASE SCENARIO IN THE DATABASE PRIORITIZE BASED ON WORST QUERIES TIME PER EXEC TOTAL TIME EXECUTIONS % CPU 88.89 1,155.52 13 78.09 6.33 43,742.23 6,914 86.07 0.55 792.04 1,442 83.38 @bellmar

  38. WORSE CASE SCENARIO IN THE DATABASE PRIORITIZE BASED ON WORST QUERIES TIME PER EXEC TOTAL TIME EXECUTIONS % CPU 88.89 1,155.52 13 78.09 6.33 43,742.23 6,914 86.07 0.55 792.04 1,442 83.38 @bellmar

  39. WORSE CASE SCENARIO IN THE DATABASE PRIORITIZE BASED ON WORST QUERIES TIME PER EXEC TOTAL TIME EXECUTIONS % CPU 88.89 1,155.52 13 78.09 6.33 43,742.23 6,914 86.07 0.55 792.04 1,442 83.38 @bellmar

  40. WORSE CASE SCENARIO IN THE DATABASE PRIORITIZE BASED ON WORST QUERIES TIME PER EXEC TOTAL TIME EXECUTIONS % CPU 88.89 1,155.52 13 78.09 6.33 43,742.23 6,914 86.07 0.55 792.04 1,442 83.38 @bellmar

  41. WORSE CASE SCENARIO IN THE DATABASE PRIORITIZE BASED ON WORST QUERIES TIME PER EXEC TOTAL TIME EXECUTIONS % CPU 88.89 1,155.52 13 78.09 6.33 43,742.23 6,914 86.07 0.55 792.04 1,442 83.38 @bellmar

  42. WORSE CASE SCENARIO IN THE DATABASE MINIMIZE VECTORS @bellmar

  43. WORSE CASE SCENARIO IN THE DATABASE MINIMIZE VECTORS Migrate application logic from stored procedure to application @bellmar

  44. WORSE CASE SCENARIO IN THE DATABASE MINIMIZE VECTORS Use feature flags in the db (even views) to shift applications over one at a time @bellmar

  45. WORSE CASE SCENARIO IN THE DATABASE REDUCE OVERALL DATABASE SIZE “After 3 months the data the user has entered into our system for their shipment is not accessed again” 6+ months old @bellmar

  46. WORSE CASE SCENARIO IN THE DATABASE OK, BUT I WOULD NEVER WORK FOR A COMPANY LIKE THIS. WHY SHOULD I CARE? You, and thousands of other engineers

  47. WORSE CASE SCENARIO IN THE DATABASE THIS DATA IS IMPORTANT ๏ Background checks for visa applications ๏ Shipping logistics for military families ๏ Financial data that informs decisions made by pensions and investment managers ๏ Election records @bellmar

  48. “I HAVE [X] YEARS OF EXPERIENCE AND I’M STILL TERRIFIED OF BEING ON CALL”

  49. WORSE CASE SCENARIO IN THE DATABASE HOW WE JUDGE EXPERTISE I’VE SEEN SOME SHIT, MAN QUIRKS IDIOSYNCRASIES EDGE CASES EDGE CASES NORMAL NORMAL BEHAVIOR BEHAVIOR @bellmar

  50. THANK YOU! COME TALK TO US ABOUT OPPORTUNITIES

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend