Anders Swanson's Avatar

Anders Swanson

@anders-swanson

Developer Evangelist for Oracle Database. I post instructional videos, how-to guides, and blog posts for developers using Oracle Database.

49
Followers
116
Following
57
Posts
29.01.2025
Joined
Posts Following

Latest posts by Anders Swanson @anders-swanson

Preview
Generate JSON Relational Duality Views from JPA entities Oracle AI Database's JSON Relational Duality Views (or simply duality views) let you treat relational tables and JSON documents as two sides of the same model: build your relational schema, and use comprehensive, normalized JSON documents on top. In this article, we’ll walk through the json/jpa-duality-views sample, which combines Spring Boot, Spring Data JPA, and the Oracle JSON Duality View Spring Boot starter to generate read/write duality views from annotated JPA entities at application startup.

Generate JSON Relational Duality Views from JPA entities

Oracle AI Database's JSON Relational Duality Views (or simply duality views) let you treat relational tables and JSON documents as two sides of the same model: build your relational schema, and use comprehensive, normalized JSON documents on…

25.02.2026 20:05 👍 0 🔁 0 💬 0 📌 0
Preview
Hands-on CRUD with JDBC and JSON Relational Duality Views JSON Relational Duality Views are one of my favorite Oracle AI Database features (I’ll call them “duality views” from here on out). Duality views let you model data once, then serve it cleanly to both worlds: JSON-first application code and relational SQL workloads. In this article, we’ll get hands-on with the json/crud-duality-views code sample to demonstrate CRUD (create, read, update, delete)

Hands-on CRUD with JDBC and JSON Relational Duality Views

JSON Relational Duality Views are one of my favorite Oracle AI Database features (I’ll call them “duality views” from here on out). Duality views let you model data once, then serve it cleanly to both worlds: JSON-first application code and…

24.02.2026 16:53 👍 0 🔁 0 💬 0 📌 0
Preview
Brand new to Oracle AI Database? Start Here Many Oracle guides are written for DBAs or long-time developers, and as a newcomer it feels like you’re expected to already know the jargon. I started in the same place, learning the as I went, and I’m still learning each day. If you're considering using Oracle AI Database, I'm here to make this easy for you. Prefer code samples over blogs?

Brand new to Oracle AI Database? Start Here

Many Oracle guides are written for DBAs or long-time developers, and as a newcomer it feels like you’re expected to already know the jargon. I started in the same place, learning the as I went, and I’m still learning each day. If you're considering using…

23.02.2026 21:56 👍 5 🔁 2 💬 0 📌 0
Preview
LangChain vs. DIY: Vector Search with Oracle AI Database When do you use a framework vs. write your own implementation - especially when it comes to AI? Frameworks can be the fastest path to production, only to act as a stumbling block later on. Often, the design choice isn't obvious. To better understand this question, we'll compare two different vector search implementations using Python and Oracle AI Database, looking at the benefits and drawbacks of each.

LangChain vs. DIY: Vector Search with Oracle AI Database

When do you use a framework vs. write your own implementation - especially when it comes to AI? Frameworks can be the fastest path to production, only to act as a stumbling block later on. Often, the design choice isn't obvious. To better…

10.02.2026 20:37 👍 0 🔁 0 💬 0 📌 0
Preview
Use Oracle FreeSQL.com as a remote test database FreeSQL.com lets you use a free, hosted Oracle AI Database instance right from your browser. But, FreeSQL can also be used as a remote database for testing, POCs, and more! In this article, we'll walk though how to connect to a FreeSQL database from your local machine, no database setup required. Login to FreeSQL.com To use FreeSQL as a remote database, you'll need to login using your Oracle account.

Use Oracle FreeSQL.com as a remote test database

FreeSQL.com lets you use a free, hosted Oracle AI Database instance right from your browser. But, FreeSQL can also be used as a remote database for testing, POCs, and more! In this article, we'll walk though how to connect to a FreeSQL database from…

04.02.2026 20:02 👍 2 🔁 1 💬 0 📌 0
Preview
Data Is Context: Building Agent Harness with Database at the Center Long-running agents often fail because they lack disciplined, accurate context. This is especially important when tasks run for hours, touch multiple systems, and must respect permissions, compliance boundaries, and other constraints. When building with agents, data is context, and context is critical. Where does this data most often live? Your database. What is an “agent harness”? An agent harness is the…

Data Is Context: Building Agent Harness with Database at the Center

Long-running agents often fail because they lack disciplined, accurate context. This is especially important when tasks run for hours, touch multiple systems, and must respect permissions, compliance boundaries, and other…

30.01.2026 21:13 👍 0 🔁 0 💬 0 📌 0
Preview
Overview of Caching Strategies with Oracle AI Database - andersswanson.dev Recently, I’ve been exploring different caching database caching strategies with Oracle AI Database and came to the following conclusion: Choosing the right mix of caching and read-scaling options…

Caching can improve performance by bringing data closer to the client

@anders-swanson.bsky.social gives an overview of the caches in Oracle AI Database, including

Oracle True Cache
Oracle Active Data Guard
Database In-Memory
Buffer Cache
Server-Side Result Cache

26.01.2026 12:02 👍 2 🔁 1 💬 0 📌 0
Preview
Overview of Caching Strategies with Oracle AI Database Recently, I've been exploring different caching database caching strategies with Oracle AI Database and came to the following conclusion: Choosing the right mix of caching and read-scaling options doesn't have to be a one-feature or one-service decision. Teams have a rich toolbox of caching and scaling options available, but also real trade-offs. This article provides an overview of database caching options, including related options that aren't caches (Data Guard).

Overview of Caching Strategies with Oracle AI Database

Recently, I've been exploring different caching database caching strategies with Oracle AI Database and came to the following conclusion: Choosing the right mix of caching and read-scaling options doesn't have to be a one-feature or…

20.01.2026 21:40 👍 0 🔁 0 💬 0 📌 0
Preview
Reflecting on a year of DevRel with Oracle AI Database Over the past year, I’ve been working in DevRel focused on modern application development with Oracle AI Database. Coming from a product engineering background, the shift was challenging: I moved from product, DevOps, and infrastructure work into a public-facing role, meeting users, partnering with PMs, and building a presence in the Oracle developer community. It’s been a steep learning curve…

Reflecting on a year of DevRel with Oracle AI Database

Over the past year, I’ve been working in DevRel focused on modern application development with Oracle AI Database. Coming from a product engineering background, the shift was challenging: I moved from product, DevOps, and infrastructure work…

16.01.2026 19:05 👍 2 🔁 0 💬 0 📌 0
Preview
Propagating Cross-Database Events with Oracle AI Database Event-driven apps don’t have to stop at a single database boundary. In this hands-on guide, you’ll use Transactional Event Queues (TxEventQ) in Oracle AI Database to propagate real-time events from one database to another, no external broker required. We’ll spin up two container instances of Oracle AI Database Free, create multi-consumer topics in each database, and schedule cross-database queue-to-queue propagation. …

Propagating Cross-Database Events with Oracle AI Database

Event-driven apps don’t have to stop at a single database boundary. In this hands-on guide, you’ll use Transactional Event Queues (TxEventQ) in Oracle AI Database to propagate real-time events from one database to another, no external…

14.01.2026 19:22 👍 2 🔁 0 💬 0 📌 0
Preview
GraphQL with ORDS & Oracle AI Database If you're running Oracle REST Data Services (ORDS) or Oracle Autonomous AI Database, you've got a configurable GraphQL server ready to query your data. GraphQL is a strongly typed query language and runtime for APIs that lets clients request exactly the data they need through a single endpoint, reducing over- and under-fetching. In this article, we'll walk through using ORDS as a GraphQL server…

GraphQL with ORDS & Oracle AI Database

If you're running Oracle REST Data Services (ORDS) or Oracle Autonomous AI Database, you've got a configurable GraphQL server ready to query your data. GraphQL is a strongly typed query language and runtime for APIs that lets clients request exactly the data…

09.01.2026 18:07 👍 0 🔁 0 💬 0 📌 0
Preview
GraphQL + Oracle: Instantly Query Relational Data GraphQL became popular for its ability to provide fewer round trips, predictable payloads, and evolving client schemas. If you run Oracle AI Database, you don’t need a new data store to get those benefits: Using SQL, you can run GraphQL queries on your existing relational schemas. What is GraphQL? GraphQL with Oracle SQL Define a relational schema (many-to-many) Query with GraphQL()

GraphQL + Oracle: Instantly Query Relational Data

GraphQL became popular for its ability to provide fewer round trips, predictable payloads, and evolving client schemas. If you run Oracle AI Database, you don’t need a new data store to get those benefits: Using SQL, you can run GraphQL queries on…

08.01.2026 23:48 👍 2 🔁 0 💬 0 📌 0
Preview
Why You Should Use Pluggable Databases (PDBs) PDBs give microservices their own isolated database environment inside one database instance, reducing blast radius, simplifying lifecycle ops, and enabling hard resource controls. This solves the problem of what services need from the database layer: Strong isolation (workload, security, transactions) Independent lifecycle (patch, clone, refresh, move, deploy) Predictable performance and resource controls Simple connectivity and access, with optional cross-PDB traffic…

Why You Should Use Pluggable Databases (PDBs)

PDBs give microservices their own isolated database environment inside one database instance, reducing blast radius, simplifying lifecycle ops, and enabling hard resource controls. This solves the problem of what services need from the database layer:…

07.01.2026 18:14 👍 0 🔁 0 💬 0 📌 0
Preview
Transactional isolation in a multi-model database Most apps rarely fit a single data model. A single business action can touch JSON documents, update a graph, write spatial coordinates, process vector embeddings, and publish events to downstream services, all within the same database. However, not all work is equal - A millisecond OLTP order update shouldn't wait for a long-running vector similarity scan. Explicit control…

Transactional isolation in a multi-model database

Most apps rarely fit a single data model. A single business action can touch JSON documents, update a graph, write spatial coordinates, process vector embeddings, and publish events to downstream services, all within the same database. However, not…

06.01.2026 18:28 👍 0 🔁 0 💬 0 📌 0
Preview
Oracle REST Data Services (ORDS) with Docker Compose Setting up Oracle REST Data Services (ORDS) test environment is quick and simple with Docker Compose and Oracle AI Database Free. In this article, we'll set up a clean, consistent ORDS + Database environment in minutes using containers: No manual installs and no guesswork. Note: This is intended as a lab setup and not a production grade installation. I've previously blogged about ORDS with Oracle Autonomous AI Database Free…

Oracle REST Data Services (ORDS) with Docker Compose

Setting up Oracle REST Data Services (ORDS) test environment is quick and simple with Docker Compose and Oracle AI Database Free. In this article, we'll set up a clean, consistent ORDS + Database environment in minutes using containers: No…

12.12.2025 18:38 👍 0 🔁 0 💬 0 📌 0
Preview
Level Up Your Schema: Annotations for Object Metadata in Oracle AI Database In Oracle AI Database, annotations provide a powerful way to attach metadata to database objects. Tables, columns, views, and domains are enhanced with self-describing, user-defined assets. This article introduces annotations and how you can start using them to make your data more explainable and AI-ready. Database Annotations Create a Table With Annotations Update Annotations Remove Annotations Example: Use annotations as context for AI Agents with SQLcl MCP Server…

Level Up Your Schema: Annotations for Object Metadata in Oracle AI Database

In Oracle AI Database, annotations provide a powerful way to attach metadata to database objects. Tables, columns, views, and domains are enhanced with self-describing, user-defined assets. This article introduces…

05.12.2025 17:24 👍 3 🔁 2 💬 0 📌 0
Preview
Can I build an Agent & still use SQLcl’s MCP Server? Yes! Previously on @thatjeffsmith... Can I build an Agent & still use SQLcl’s MCP Server? Yes!

Previously on @thatjeffsmith... Can I build an Agent & still use SQLcl’s MCP Server? Yes!

02.12.2025 20:54 👍 2 🔁 1 💬 1 📌 0
Natural Language SQL with Oracle MCP and LangChain4j Want to build agentic applications with MCP integrations in Java? Sure! Just use Langchain4j. In this article, we'll build a natural language interface for your database orchestrated by Langchain4j agents, integrating Oracle's SQLcl MCP server (Model Context Protocol). Click here to skip the article and jump right to the code The app takes natural-language questions from a terminal prompt, generates the appropriate SQL, executes it through SQLcl using the MCP protocol, and then summarizes the results into a clean report using a second agent.

Natural Language SQL with Oracle MCP and LangChain4j

Want to build agentic applications with MCP integrations in Java? Sure! Just use Langchain4j. In this article, we'll build a natural language interface for your database orchestrated by Langchain4j agents, integrating Oracle's SQLcl MCP server…

02.12.2025 16:23 👍 3 🔁 1 💬 0 📌 0
Spring Cloud Config: JDBC Backend & Oracle AI Database Spring Cloud Config's JDBC backend stores application properties in your database, providing a simple method to serve configuration properties to all your Spring Boot apps. Client → Config Server → Oracle DB Client → Config Server → Oracle DB This article walks through using the JDBC backend for Oracle Database. You'll learn how JDBC-based configuration works, how to set up the required table and database objects, and how to get your Spring Config server/clients reading properties directly from the database.

Spring Cloud Config: JDBC Backend & Oracle AI Database

Spring Cloud Config's JDBC backend stores application properties in your database, providing a simple method to serve configuration properties to all your Spring Boot apps. Client → Config Server → Oracle DB Client → Config Server → Oracle DB…

21.11.2025 17:07 👍 0 🔁 0 💬 0 📌 0
Preview
Spatial Data in Oracle AI Database Spatial data describes the shape, location, and relationships of objects or points - whether virtual or in the real world. It powers everything from mapping and logistics to proximity search and location-aware applications. In Oracle AI Database, spatial is a first-class data type. You store it, index it, query it, and join it alongside your relational, JSON, and vector data…

Spatial Data in Oracle AI Database

Spatial data describes the shape, location, and relationships of objects or points - whether virtual or in the real world. It powers everything from mapping and logistics to proximity search and location-aware applications. In Oracle AI Database, spatial is a…

14.11.2025 22:36 👍 0 🔁 0 💬 0 📌 0
Preview
AI Optimizer & Toolkit: test and generate apps In this article, we'll explore automated testing with the Oracle AI Optimizer & Toolkit, and then generate Python LangChain or Java Spring AI applications from our tested AI configurations. What is the Oracle AI Optimizer & Toolkit? It’s a free and open-source tool designed to make it easier for developers and data engineers to build, benchmark, and optimize AI workflows running on Oracle Database.

AI Optimizer & Toolkit: test and generate apps

In this article, we'll explore automated testing with the Oracle AI Optimizer & Toolkit, and then generate Python LangChain or Java Spring AI applications from our tested AI configurations. What is the Oracle AI Optimizer & Toolkit? It’s a free and…

05.11.2025 17:44 👍 0 🔁 0 💬 0 📌 0
Preview
Unlocking Session Visibility with Oracle Client Info Monitoring database interactions is critical for performance tuning, debugging, and security. With Oracle AI Database, you can attach client metadata to connections; such as client identifiers, module and action names. Client metadata can be queried from views like V$SESSION to see where your application is interacting with the database. In this article, we'll build a sample Spring Boot application that integrates client info into database connections.

Unlocking Session Visibility with Oracle Client Info

Monitoring database interactions is critical for performance tuning, debugging, and security. With Oracle AI Database, you can attach client metadata to connections; such as client identifiers, module and action names. Client metadata can be…

03.11.2025 18:34 👍 0 🔁 0 💬 0 📌 0
Preview
AI Optimizer & Toolkit: connect LLMs and use your data In this article, we’ll configure the Oracle AI Optimizer and Toolkit with an LLM, enable embedding and chat APIs, and integrate user context through vectorized data for RAG-powered responses. We'll embed and store user data in Oracle AI Database with vector indexes, all without a single line of code! What is the Oracle AI Optimizer and Toolkit? It's a free and open-source tool designed to make it easier for developers and data engineers to build, benchmark, and optimize AI workflows running on Oracle Database.

AI Optimizer & Toolkit: connect LLMs and use your data

In this article, we’ll configure the Oracle AI Optimizer and Toolkit with an LLM, enable embedding and chat APIs, and integrate user context through vectorized data for RAG-powered responses. We'll embed and store user data in Oracle AI…

27.10.2025 17:28 👍 0 🔁 0 💬 0 📌 0
Preview
AI Optimizer & Toolkit: set up a local sandbox The Oracle AI Optimizer and Toolkit is a free and open-source tool designed to make it easier for developers and data engineers to build, benchmark, and optimize AI workflows running on Oracle Database. It provides a modular framework for experimenting with model selection, prompt engineering, agents (tool calling), retrieval-augmented generation (RAG), and hybrid query optimization. In this article, we'll set up a local, containerized test environment for the AI Optimizer and Toolkit - enabling you to develop and test AI with Oracle Database without writing a single line of SQL.

AI Optimizer & Toolkit: set up a local sandbox

The Oracle AI Optimizer and Toolkit is a free and open-source tool designed to make it easier for developers and data engineers to build, benchmark, and optimize AI workflows running on Oracle Database. It provides a modular framework for…

21.10.2025 16:53 👍 1 🔁 0 💬 0 📌 0
Preview
How to write a custom tracer for Oracle Database JDBC In this article, we'll implement a custom JDBC tracer for Oracle Database based on the OJDBC OpenTelemetry provider. Our custom implementation integrates with Spring Boot and adds span attributes like database client info and the system user. If you'd like to use the Oracle-provided JDBC tracing implementation, check out my prior post: Oracle JDBC Tracing with Spring Boot OpenTelemetry…

How to write a custom tracer for Oracle Database JDBC

In this article, we'll implement a custom JDBC tracer for Oracle Database based on the OJDBC OpenTelemetry provider. Our custom implementation integrates with Spring Boot and adds span attributes like database client info and the system user.…

20.10.2025 17:20 👍 1 🔁 0 💬 0 📌 0
Preview
Oracle JDBC Tracing with Spring Boot OpenTelemetry Oracle's JDBC Driver can export traces to an OpenTelemetry backend - let's walk through how to configure this with Spring Boot and Micrometer! Just looking for the code? Click Here. With OpenTelemetry tracing, you gain visibility into JDBC calls Oracle Database — making it easier to debug, optimize, and monitor your applications. We'll collect traces from JDBC calls, export traces to an OpenTelemetry (Zipkin) backend, and then view the traces online.

Oracle JDBC Tracing with Spring Boot OpenTelemetry

Oracle's JDBC Driver can export traces to an OpenTelemetry backend - let's walk through how to configure this with Spring Boot and Micrometer! Just looking for the code? Click Here. With OpenTelemetry tracing, you gain visibility into JDBC calls…

10.10.2025 20:36 👍 0 🔁 0 💬 0 📌 0
Preview
Tracing a Spring Boot JMS app with Oracle Database Free In this article, we'll use OpenTelemetry tracing to instrument a Spring JMS application with Oracle Database Free. Tracing allows developers to follow a request as it flows through distributed systems — in this case, from the producer to the consumer through Oracle Database Transactional Event Queues (TxEventQ). Tracing helps correlate slow consumers, lost messages, or queue bottlenecks to specific spans.

Tracing a Spring Boot JMS app with Oracle Database Free

In this article, we'll use OpenTelemetry tracing to instrument a Spring JMS application with Oracle Database Free. Tracing allows developers to follow a request as it flows through distributed systems — in this case, from the producer to the…

07.10.2025 15:11 👍 0 🔁 0 💬 0 📌 0
Preview
Monitor your Oracle Database(s) with OpenTelemetry In this article, we'll explore how Oracle Database fits into the modern, open-source, and cloud-native observability stack. What is OpenTelemetry? OpenTelemetry is an open-source observability framework that provides a standardized way to collect and process telemetry data, including traces, metrics, and logs: Standardizes across tools and vendors, allowing you to send data to any backend that supports OpenTelemetry. Supports modern architectures, where cloud-native microservices greatly benefit from consistent telemetry collection.

Monitor your Oracle Database(s) with OpenTelemetry

In this article, we'll explore how Oracle Database fits into the modern, open-source, and cloud-native observability stack. What is OpenTelemetry? OpenTelemetry is an open-source observability framework that provides a standardized way to collect…

02.10.2025 18:20 👍 1 🔁 0 💬 0 📌 0
Preview
Testing Go apps with Oracle Database using Testcontainers In this article, we'll walk through how to configure an Oracle Database Free container for go application tests using testcontainers-go. What is Testcontainers? Testcontainers for Oracle Database (go) Write a test for OracleContainer Run the test References What is Testcontainers? Testcontainers is a popular framework that lets you test applications against real, disposable containers. It helps ensure your tests run against realistic environments without requiring complex infrastructure setup.

Testing Go apps with Oracle Database using Testcontainers

In this article, we'll walk through how to configure an Oracle Database Free container for go application tests using testcontainers-go. What is Testcontainers? Testcontainers for Oracle Database (go) Write a test for OracleContainer Run…

01.10.2025 21:01 👍 0 🔁 0 💬 0 📌 0
Migrate an Apache Kafka application to Oracle Database in 5 minutes
Migrate an Apache Kafka application to Oracle Database in 5 minutes YouTube video by Data Bites

Migrate an Apache Kafka app to Oracle Database in 5 minutes.
youtu.be/LS12tcBNIdM?...

30.09.2025 18:46 👍 0 🔁 0 💬 0 📌 0