Published Jul 5, 2016

Nulls, Procs, and Imposter Syndrome

    Join the hosts of Coding Blocks as they dive into the intersection of gaming and programming, debate the merits of stored procedures versus ORMs, and explore JavaScript tools that boost developer efficiency, all while candidly addressing the personal and gendered impacts of imposter syndrome in tech.
    Episode Highlights
    Coding Blocks logo

    Popular Clips

    Episode Highlights

    • Querying

      The discussion on querying strategies highlights the importance of flexibility and performance in database management. Alan Underwood emphasizes the need for systems like Elasticsearch for fast querying, especially when dealing with hundreds of millions of records. Michael Outlaw adds that the repository pattern can abstract query calls, allowing for easier integration of different technologies without embedding business logic directly into stored procedures.

      If you built it in your code to where you had something like a repository pattern, you call something and then you don't know what it uses behind the scene.

      --- Alan Underwood

      Effective lookup table design is also crucial, with Alan advocating for using start and end dates to maintain historical data integrity rather than simple active flags 1.

         

      Procs vs. ORMs

      The debate between stored procedures (procs) and Object-Relational Mappers (ORMs) reveals strong opinions on both sides. Michael Outlaw supports ORMs like Entity Framework for their ease of use in .NET environments, while Joe Zack prefers procs for handling complex queries and performance issues. Alan, once a staunch proc advocate, now leans towards scalable solutions, questioning the long-term viability of procs in large-scale systems.

      If you look at SQL server, it is an OLTP, it is an online, it's a transactional system.

      --- Alan Underwood

      The conversation also touches on the practicality of storing queries in code versus databases, with Outlaw favoring ORMs for their abstraction capabilities 2.

         

      Data Challenges

      Managing and scaling databases presents unique challenges, particularly when it comes to sharding and maintaining data integrity. Alan Underwood shares insights from Instagram's tech blog, explaining how sharding at the application layer can enhance scalability and reduce single points of failure. Michael Outlaw and Alan discuss the complexities of maintaining historical data, emphasizing the importance of using start and end dates to track changes accurately.

      Sharding is basically putting data on different systems so they can all be super efficient at getting that data out.

      --- Alan Underwood

      This approach allows for better scalability and flexibility in managing large datasets 3.

    Related Episodes