<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Artur Costa on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/artur-costa/</link><description>Articles written by Artur Costa on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 11 Nov 2025 19:31:10 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/artur-costa/index.xml" rel="self" type="application/rss+xml"/><item><title>The Cost of Not Knowing MongoDB - Part 3: (appV6R0 to appV6R4)</title><link>https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-3-appv6r0-to-appv6r4/</link><pubDate>Tue, 11 Nov 2025 19:31:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-3-appv6r0-to-appv6r4/</guid><description>&lt;p&gt;Welcome to the third and final part of the series &amp;ldquo;The Cost of Not Knowing MongoDB.&amp;rdquo; Building upon the foundational optimizations explored in &lt;a href="https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-1-appv0-to-appv4/"&gt;Part 1&lt;/a&gt;
 and &lt;a href="https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-2-appv5r0-to-appv5r4/"&gt;Part 2&lt;/a&gt;
, this article delves into advanced MongoDB design patterns that can dramatically transform application performance.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-1-appv0-to-appv4/"&gt;Part 1&lt;/a&gt;
, we improved application performance by concatenating fields, changing data types, and shortening field names. In &lt;a href="https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-2-appv5r0-to-appv5r4/"&gt;Part 2&lt;/a&gt;
, we implemented the Bucket Pattern and Computed Pattern and optimized the aggregation pipeline to achieve even better performance.&lt;/p&gt;</description></item><item><title>The Pitfall of Increasing Read Capacity by Reading From Secondary Nodes in a MongoDB Replica Set</title><link>https://foojayio.github.io/website/today/the-pitfall-of-increasing-read-capacity-by-reading-from-secondary-nodes-in-a-mongodb-replica-set/</link><pubDate>Thu, 30 Oct 2025 15:23:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-pitfall-of-increasing-read-capacity-by-reading-from-secondary-nodes-in-a-mongodb-replica-set/</guid><description>&lt;h2 id="h2-0-the-scenario"&gt;The scenario&lt;/h2&gt;
&lt;p&gt;Imagine we are responsible for managing the MongoDB cluster that supports our country&amp;rsquo;s national financial payment system, similar to&lt;a href="https://en.wikipedia.org/wiki/Pix_%28payment_system%29" target="_blank" rel="noopener noreferrer"&gt;Pix&lt;/a&gt;
 in Brazil. Our application was designed to be read-heavy, with one write operation for every 20 read operations.&lt;/p&gt;
&lt;p&gt;With&lt;a href="https://en.wikipedia.org/wiki/Black_Friday_%28shopping%29" target="_blank" rel="noopener noreferrer"&gt;Black Friday&lt;/a&gt;
 approaching, a critical period for our national financial payment system, we have been entrusted with the crucial task of creating a scaling plan for our cluster to handle the increased demand during this shopping spree. Given that our system is read-heavy, we are exploring ways to enhance the read performance and capacity of our cluster.&lt;/p&gt;</description></item><item><title>The Cost of Not Knowing MongoDB - Part 2</title><link>https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-2-appv5r0-to-appv5r4/</link><pubDate>Tue, 21 Oct 2025 14:26:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-2-appv5r0-to-appv5r4/</guid><description>&lt;p&gt;This is the second part of the series &amp;ldquo;The Cost of Not Knowing MongoDB,&amp;rdquo; where we go through many ways we can model our MongoDB schemas for the same application and have different performances. In the &lt;a href="https://www.mongodb.com/developer/products/mongodb/cost-of-not-knowing-mongodb/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=cost-part2-foojay&amp;amp;utm_term=tony.kim" target="_blank" rel="noopener noreferrer"&gt;first part&lt;/a&gt;
 of the series, we concatenated fields, changed data types, and short-handed field names to improve the application performance. In this second part, as discussed in the &lt;a href="https://www.mongodb.com/developer/products/mongodb/cost-of-not-knowing-mongodb/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=cost-part2-foojay&amp;amp;utm_term=tony.kim#issues-and-improvements:~:text=than%20appV3.-,Issues%20and%20improvements,-Enough%20of%20focusing" target="_blank" rel="noopener noreferrer"&gt;issues and improvement of appV4&lt;/a&gt;
, the performance gains will be achieved by analyzing the application behavior and how it stores and reads its data, leading us to the use of the &lt;a href="https://www.mongodb.com/blog/post/building-with-patterns-the-bucket-pattern/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=cost-part2-foojay&amp;amp;utm_term=tony.kim" target="_blank" rel="noopener noreferrer"&gt;Bucket Pattern&lt;/a&gt;
 and the &lt;a href="https://www.mongodb.com/blog/post/building-with-patterns-the-computed-pattern/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=cost-part2-foojay&amp;amp;utm_term=tony.kim" target="_blank" rel="noopener noreferrer"&gt;Computed Pattern&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>The Cost of Not Knowing MongoDB (Part 1)</title><link>https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-1-appv0-to-appv4/</link><pubDate>Tue, 14 Oct 2025 13:43:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-cost-of-not-knowing-mongodb-part-1-appv0-to-appv4/</guid><description>&lt;p&gt;The primary focus of this series is to show how much performance you can gain, and as a consequence, the cost you can save when using &lt;a href="https://www.mongodb.com/lp/cloud/atlas/try4-reg/?utm_campaign=devrel&amp;amp;utm_source=third-party-content&amp;amp;utm_medium=cta&amp;amp;utm_content=cost-part1-foojay&amp;amp;utm_term=tony.kim" target="_blank" rel="noopener noreferrer"&gt;MongoDB&lt;/a&gt;
 properly, following the best practices, studying your application needs, and using it to model your data.&lt;/p&gt;
&lt;p&gt;To show these possible gains, a dummy application will be presented, and many possible implementations of it using MongoDB will be developed and load-tested. There will be implementations for all levels of MongoDB knowledge: beginner, intermediate, senior, and mind-blowing (🤯) .&lt;/p&gt;</description></item></channel></rss>