Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Up Next: Coraline Ada Ehmke - The broken promise of Open Source https://www.youtube.com/watch?v=5ByUPh_uPqQ ###################### ### \o/ EuRuKo 2018 \o/ ### ###################### ### Day 1 ### Yukihiro Matsumoto - Keynote https://www.youtube.com/watch?v=cs0s5lZAUwc Chris Salzberg - Metaprogramming for generalists https://www.youtube.com/watch?v=1fIlcnrJHxs Joannah Nanjekye - Ruby in containers https://www.youtube.com/watch?v=qPNkOPvjecs Damir Zekić - Tool belt of a seasoned bug hunter https://www.youtube.com/watch?v=ObB0dzX_rBs Igor Morozov - Ducks and monads: wonders of Ruby types https://www.youtube.com/watch?v=v-H9nK8hqfE Brad Urani - Rails anti-patterns: how not to design your database https://www.youtube.com/watch?v=zo3iRBPzscU Coraline Ada Ehmke - The broken promise of Open Source https://www.youtube.com/watch?v=5ByUPh_uPqQ Louisa Barrett - Ruby not red: color theory for the rest of us https://www.youtube.com/watch?v=OgO1EIFDgPU ### Day 2 ### Nadia Odunayo - The case of the missing method — a Ruby mystery story https://www.youtube.com/watch?v=OlOA0aGxud0 Pitch the next EuRuKo's location https://www.youtube.com/watch?v=YXe9OoQW8lc Ana María Martínez Gómez - Let’s refactor some Ruby code https://www.youtube.com/watch?v=jUc8InwoA-E Pan Thomakos - Debugging adventures in Rack-land https://www.youtube.com/watch?v=5o4krwjJbOI Lightning talks https://www.youtube.com/watch?v=zSeaNPjwnnA Kerstin Puschke - Scaling a monolith isn't scaling microservices https://www.youtube.com/watch?v=tA8gGd_Rl7E Amr Abdelwahab - An empathy exercise: contextualising the question of privilege https://www.youtube.com/watch?v=6CqmGYvFwAQ Wrap up & announcing the next EuRuKo's location https://www.youtube.com/watch?v=wMggsShGTzk
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In his talk titled "Rails anti-patterns: how not to design your database" at EuRuKo 2018, Brad Urani delves into common pitfalls encountered in database design, particularly within Ruby on Rails applications. He emphasizes that the selection of design patterns is often situational and encourages careful consideration of various contexts when developing database structures. Key points discussed include: - **Introduction to Rails Anti-Patterns**: Urani explains that while certain patterns may be labeled "anti-patterns," they can be acceptable if used in the right context. - **Naive Trees**: A naive tree structure, while space-efficient, can lead to complications with complex queries. Retrieving descendants typically requires multiple joins, complicating performance due to potential N+1 query problems. - **Closure Trees**: This alternative is much more robust than naive trees; it simplifies querying by referencing every descendant for each parent, requiring fewer joins and offering clearer data manipulation, supported by a Ruby gem that aids in its implementation. - **Materialized Paths**: Another approach discussed involves maintaining a path column to simplify descendant queries. Though it sacrifices some referential integrity, it provides faster performance and greater flexibility, albeit subject to character length limitations. - **Polymorphic Relationships**: While useful for flexibility, Urani warns that polymorphic relationships can compromise data integrity, especially in industries like finance and healthcare. He suggests structured designs that utilize exclusive arcs or parent tables to maintain referential integrity. - **Developer Considerations**: Urani underscores the importance of balancing developer happiness with performance, noting that as applications scale, thoughtful database design becomes crucial. - **Conclusion and Recommendations**: He concludes that the decision between performance and simplicity, or integrity and rapid development, must align with the specific needs of the application. Urani recommends reading "Trees and Hierarchies in SQL for Smarties" for those interested in deeper insights into SQL design patterns. The talk provides practical advice for Rails developers facing database design challenges, reinforcing that every design choice should be evaluated based on context and specific use cases.
Suggest modifications
Cancel