Philipp Salvisberg’s Blog

Database-centric development

2018-08-28

SmartDB as of 2018-08-21

Introduction This is a transcription of the recorded Ask TOM #SmartDB Office Hours from August 21, 2018, where Bryn Llewellyn presented an updated, narrow definition of the Smart Database Paradigm (SmartDB). It covers the time between 05:55 to 12:19. A big thank you to Bryn for taking the time to clarify the SmartDB definition. […]
2018-08-28

SmartDB as of 2018-06-12

This is a transcription of Bryn Llewellyn’s talk Guarding Your Data Behind a Hard Shell PL/SQL API—the Detail recorded at Kscope18. It covers the time between 08:06 to 11:03. This definition was the starting position for my previous SmartDB and PinkDB-related posts. In the meantime, Bryn provided an updated, narrow definition of the Smart […]
2018-08-25

Use the Database as Persistence Layer Only

Using the database as a persistence layer only is an anti-pattern. Praful Todkar applies this anti-pattern in How to extract a data-rich service from a monolith. Martin Fowler reviewed this article and published it on his website. Hence it is highly visible. I generally agree with the approach. However, I cannot agree […]
2018-08-05

View-API for JOOQ Application

In this blog post, I show how to build a read-only view-API for Oracle’s HR sample schema. And I will use this view-API in a JOOQ application. This application will fully comply with the Pink Database Paradigm (PinkDB). This means the application executes set-based SQL and retrieves data with as few network roundtrips as possible. […]
2018-07-18

The Pink Database Paradigm (PinkDB)

1. Introduction The Pink Database paradigm (PinkDB) is an application architecture for database-centric applications. It focuses on relational database systems and is vendor-neutral. The principles are based on the ideas of SmartDB, with some adaptions that make PinkDB easier to apply in existing development environments. An important feature of a PinkDB application […]
2018-07-18

Is Your Application SmartDB?

I recently had a few discussions regarding the Smart Database Paradigm (SmartDB) with long-standing customers, new customers, partners, competitors and colleagues. Some people think that using APEX and PL/SQL in their database application is SmartDB. But it is not that simple. Bryn Llewelyn defined the term “Smart Database Paradigm” (SmartDB) in his talk Guarding […]
2018-06-19

MemOptimized RowStore in Oracle Database 18c with OCI

On June 10 2018 I blogged about the MemOptimized RowStore in Oracle Database 18c. If you haven’t read this post, it is a good idea to catch up now. I showed that accessing a memoptimized table t4 via the MemOptimized RowStore was around 60% slower than accessing a heap-organized table t1. I […]
2018-06-10

MemOptimized RowStore in Oracle Database 18c

The MemOptimized RowStore introduced in Oracle Database 18c is designed to improve the performance of simple queries accessing data via primary key columns only. An example of such a query is SELECT value FROM t WHERE key = :key where key is the only primary key column of table t. This feature is […]
2018-05-06

Why and How Using the accessible_by_clause

The accessible_by_clause was introduced in Oracle Database 12 Release 1 and extended in Release 2. If you don‘t know this feature, I suggest having a look at the documentation or reading Steven Feuerstein’s blog post. In this blog post, I talk about how to use this feature properly. Consider you have a […]