Modern Java applications often struggle with performance bottlenecks that have little to do with the JVM itself. In most cases, the culprit lies deeper in how the application interacts with its database. Slow queries, missing indexes, or inefficient access patterns …
-
Building Systems That Know Why They Exist ~ When Data, Logic, and Intent Finally Align
Every software system begins with intent. A human decision. A statement of what should exist, how it should behave, and why it matters. But somewhere along the way, that intent dies. It’s decomposed into documentation, user stories, and scattered logic. …
-
Atlas Searching with the Java Driver
Table of Contents New to search?Setting up our Atlas environmentOpening network accessIndexing sample dataClick, click, click, … code!Our coding project challengeKnow the $search structureNow back to your regularly scheduled JavaJava $search buildingAnd the results are…For further informationBonus section: relevancy scoringSearching …
-
Navigating the Nuances of GraphRAG vs. RAG
Table of Contents RAG: The Baseline Approach Based on EmbeddingsGraphRAG: Connecting the Dots with Knowledge GraphsTowards Hybrid Approaches and Unified PlatformsBuilding Reliable AI Apps While large language models (LLMs) hold immense promise for building AI applications and agentic systems, ensuring …
-
Service Layer Pattern in Java With Spring Boot
Table of Contents What you’ll learnWhat is the Service Layer pattern?Why use a service layer?How the Service Layer fits with MVCTraditional MVCMVC + Service LayerA real example: User management serviceThe scenarioStep 1: The domain modelStep 2: The repository interfaceStep 3: …
-
Beyond Keywords: Hybrid Search with Atlas And Vector Search (Part 3)
Table of Contents One search might not be enoughMerging the best of both worldsPrerequisitesThe vector searchThe full-text searchImplementing the full-text indexExecuting a basic text queryImproving the experience with fuzzy searchRefining results with score boostingCombining forces with hybrid searchThe $rankFusionHow to …
-
The Cost of Not Knowing MongoDB – Part 3: (appV6R0 to appV6R4)
Table of Contents Application version 6 revision 0 (appV6R0): A dynamic monthly bucket documentSchemaBulk upsertGet reportsIndexesInitial scenario statisticsLoad test resultsIssues and improvementsApplication version 6 revision 1 (appV6R1): A dynamic quarter bucket documentSchemaBulk upsertGet reportsIndexesInitial scenario statisticsLoad test resultsIssues and improvementsApplication …
-
Modeling Relationships With Hibernate ORM and MongoDB
Table of Contents PrerequisitesOne-to-many relationshipApproach 1: Embedding reviews inside booksApproach 2: Moving reviews to a separate collectionApproach 3: Bringing back recent reviews (Subset Pattern)Implementing the Subset PatternTesting the featureWrapping up In the previous article—Getting Started With Hibernate ORM and MongoDB—we …
-
Getting Started With Hibernate ORM and MongoDB
Table of Contents How MongoDB fits inPrerequisitesTag your Atlas clusterProject overviewSetting up the projectConfigure HibernateThe Book entityCreating the SessionFactoryImplementing the Book serviceRunning the applicationCurrent limitations (Public Preview)Wrapping up For years, Hibernate ORM has been one of the most popular frameworks …
-
The Pitfall of Increasing Read Capacity by Reading From Secondary Nodes in a MongoDB Replica Set
Table of Contents The scenarioA solution from AI ModelsThe pitfall of scaling capacity by reading from secondary nodesIncreasing read capacity vs increasing read performanceProperly increasing read capacityVertical scaling (scale up)Horizontal scaling (scale out via sharding)Maybe other ways around it?Read-only nodeAnalytics …
-
How MongoDB Decides What to Forget?
Table of Contents Scan → Score → Hazard Check → Write (if dirty) → Evict → Adjust Metrics Inside MongoDB’s storage engine, WiredTiger, nothing happens by accident. Every page in memory exists under policy — governed, measured, and continuously evaluated against …