Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2018: Using Databases to pull your applications weight by Harisankar P S Most Rails applications out there in the world deal with the manipulation and presentation of data. So the speed of our application is proportional to how fast we can work with data. Rails is good with presenting data. And our Database is the one who is good at processing data. But we sometimes make the mistake of just using the database as a file cabinet, and using ruby to process. The database is built for crunching data and returning to us the results that we need. This talk is about how to optimize your database so as to speed up your existing Rails application.
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 at RailsConf 2018, Harisankar P S discusses the importance of optimizing databases to improve the performance of Rails applications. The central theme revolves around leveraging the power of databases, rather than merely using them as storage solutions. The key points include: - **Understanding Database Functionality**: Databases are general-purpose software that require optimization. Developers must understand how query planners work to enhance system performance. - **Query Planner**: The query planner assesses the best way to execute a database query. Developers can use tools like the EXPLAIN command to analyze and optimize query plans. - **Indexing**: Proper indexing is crucial for speeding up data retrieval. Harisankar details the importance of indexing primary keys, foreign keys, and fields used in WHERE clauses, but warns against over-indexing which can degrade performance. - **Attribute Pre-loading**: Using arrays to reduce the number of database calls can significantly enhance performance. For example, aggregating data into a single array reduces the complexity and time taken for queries. - **Utilizing Views**: Creating database views allows repeated queries to be executed efficiently by storing the result set, which enhances application performance. - **JSON Support**: Modern databases can return JSON responses directly, streamlining the process of developing APIs and reducing overhead. - **Synchronous Commits**: By disabling synchronous commits for non-essential data, applications can speed up write operations at the risk of losing some data in case of a failure. Throughout his presentation, Harisankar shares anecdotes from his experience working with massive data processing in production, emphasizing that understanding the technologies behind Ruby on Rails and databases is critical for building scalable applications. He concludes with a reminder that developers should be familiar with their entire tech stack to avoid bottlenecks and maintain performance as their applications grow.
Suggest modifications
Cancel