Navigating Google Cloud Platform, or any cloud platform for that matter, can be draining, primarily when you work with cloud services every day. If you manage multiple projects, just accessing the right resource can feel like a nightmare because of the number of clicks involved.| dineshgowda
We had an interesting incident at work recently. We run huge databases on PostgreSQL, and to reduce disk fragmentation, we run pg_repack[1] on a regular basis. This tool rewrites tables and indexes so that they are stored in contiguous blocks on disk. It reduces the overhead of disk seeks, improves read performance, and reduces the size of the database.| dineshgowda
Before we discuss what VACUUM does and its implications, we need to understand how data is actually stored on disk. What happens when a tuple is inserted, updated, or deleted? Understanding this will help us understand what VACUUM does, why it’s needed, and its implications.| Dinesh Gowda
[Educational] https://github.com/dineshgowda24/bitcask-rb| Dinesh Gowda
I have been working with a client with close to 600k images on their home page. The photos are tagged with multiple categories. The index API returns paginated pictures based on various sets of filters on classes. Recently, they normalized their data, and every image was mapped to 4 different categories through join tables.| Dinesh Gowda
In this post, we will talk about some exciting and powerful use cases of event-driven systems that can be solved using RabbitMQ and SNS - SQS combo. Goal Say we have several microservices running in production, and each service encloses a business entity.| Dinesh Gowda
The most compelling feature of relational database systems is ACID(Atomicity Consistency Isolation Durability). Isolation is achieved using transactions. Isolation is needed to avoid race conditions when concurrent actors act upon the same row. SQL standard defines isolation with different levels. Every isolation level offers certain guarantees and possible anomalies that can occur.| Dinesh Gowda