By using UNLOGGED tables, we can insert rows at a higher rate when compared with a logged table (the default). But there’s a trade-off.
Over time our indexes became bloated, meaning invisible rows were still present in the index. This is inefficient and can be addressed by rebuilding the index.
This tip is a recipe for how to recover from a Rails migration that failed to apply in production. This process could work for any SQL migration. The example below is for an index added to a table.
We operate a high scale API application that relies on a single primary PostgreSQL instance. We have scaled up the DB instance vertically, acquiring more CPU, Memory, and disk IO over time.
Indexes are data structures designed for fast retrieval. For databases with high row counts, Indexes that match queries well are critical to achieving good performance.
Authentication and authorization with JSON technologies can be a confusing mess of acronyms, so this post is an attempt to sort these out. This post including the title, is very similar to Red Thunder: JWTs? JWKs? ‘kid’s? ‘x5t’s? Oh my!....
Rack Attack is a Rack middleware developed at Kickstarter that can be used to throttle endpoints and temporarily ban bad actors.
Authentication is a bit tricky with HTTP as it is a stateless protocol. This means that the client plays a role in identifying the user, working with the server.
In Rails API Serialization with JSON:API - Part 1 we looked at using the Sparse Fieldsets functionality of the JSON:API specification.
For a Rails 6 API app I’m working on, there is an API endpoint that provides data to clients, formatted as JSON.