DuckDB in Spring Batch: Replace In-Memory Java Loops with One SQL Statement
Table of Contents The setupThe resultsWhy the differenceWhen to use itSpring Batch jobs usually follow the same pattern: an ItemReader streams rows, an ItemProcessor transforms each one, and an ItemWriter writes them out, chunk by chunk. A chunk-oriented step wires ...
-
Embedding DuckDB in a Maven App (and Using It for Things That Aren’t Databases)
Table of Contents SetupQuerying a file on the internet with SQLQuerying a file on the internet with SQLWhere this is actually usefulSumming upDuckDB is described as “SQLite for analytics,” which is true: it’s an in-process database engine that runs inside …
-
Demystifying Exposed: The Intelligent SQL Library for Kotlin
Table of Contents IntroductionWhat is a Domain-Specific Language (DSL)?Key Types of DSLsWhat is Exposed?Why Exposed?Database Access APIs in ExposedWhich API Should You Choose?Step 3: Generate and Open the ProjectStep 4: Verify the ApplicationStep 5: Add Exposed Spring Boot 4 StarterStep …
-
Aggregation Optimization in MongoDB: Unnecessary Unwinds (Part 2)
Table of Contents And why MongoDB might be a better relational database than you ever realized.The video streaming service use case: profiles, devices, and device types (a recap)Optimization, Step 1: removing the $unwind stagesAnd why MongoDB might be a better …
-
BoxLang 1.14.0 : Query Transformers – Take Full Control of Your Query Results
Table of Contents The Problem with Three Return TypesWhat Is a Query Transformer?The Transformer ContractLive Examples: Inline Closures1. Envelope with Metadata2. Domain Object Hydration3. Tabular Format (Near Zero-Copy)4. Rich Column DescriptorsReusable Class TransformersRegistered App-Level TransformersTransformer Resolution Orderbx:query Component SupportJDBC Metadata: …
-
Building an AI-Powered Operations Assistant with Spring AI and MongoDB Atlas — Part 2: Conversational Memory
Table of Contents The Problem with Stateless ChatWhat We Are BuildingTwo Different Kinds of MemoryMix & MatchShort-Term Memory: Keeping the Conversation CoherentLong-Term Memory: Carrying Knowledge Across SessionsMemory Consolidation: From Conversation to Durable FactThe Advisor Chain and Why Order MattersThe Atlas …
-
Exploring MongoT (Atlas Search)
Table of Contents Let’s dive in!Simple Example – Text SearchBreakdown Table (for a ~9ms $search aggregation path through MongoT)Local DebuggingSample DataInteresting Example – Faceted Text SearchLucene Indexing Strategy + Benefits over MongoD IndexesVector Search ExampleLocal Grafana MonitoringPerformance Java Code PackagesSo what …
-
Implementing Soft Deletes in Java
Table of Contents What are soft deletes?How can soft deletes be approached?Field FlaggingArchive collectionsImplementation of soft deletesJava driverCode examplesCascading to related collections Cleanup with TTL indexingPros and cons of soft deletesProsConsWrap UpWhat are soft deletes? Usually, when deleting documents from a …
-
Building an AI-Powered Operations Assistant with Spring AI and MongoDB Atlas — Part 1: RAG Foundation
Table of Contents The problemWhat we are buildingWhy RAG and why MongoDB AtlasHow the Pieces Fit TogetherGetting the Project RunningThe Ingestion PipelineThe Retrieval PipelineThe Atlas Vector Search IndexTrying It OutConclusion and What’s NextThis is the first article in a three-part …
-
UCanAccess: The Modern Pure-Java Bridge to Microsoft Access
Table of Contents A Brief HistoryWhat Problems Does It Solve?The Disappeared BridgeCross-Platform CompatibilitySeamless Integration for ToolingTech Stack & RequirementsGetting StartedAdd the DependencyConnect and QueryWrite Data BackAccess-Specific FunctionsUber JAR for Non-Maven ProjectsQuality & MaintenanceGet InvolvedMicrosoft Access databases are everywhere. Decades of …