Showing posts with label administration. Show all posts
Showing posts with label administration. Show all posts

Wednesday, March 12, 2025

Db2 for your data lakehouse

Db2 as engine and data source
for the data lakehouse
A while ago, I was working with IBM watsonx.data to prepare a presentation on data lakehouse solutions. When talking about the (query) engines for a data lakehouse, typically, it is mostly about Presto and Spark. Did you know that Db2 can be used both as data source AND as query engine in watsonx.data (see screenshot)? Let's take a look...

Thursday, February 6, 2025

Db2: Loading and unloading of data on remote clients with external tables

Unload Db2 data to remote client
Today, I am going to take a look at another variation of external tables. They can be used to load data from a remote Db2 client or unload data to that client - directly from or into a file. I tested it with the Db2 CLP and with a Python script and it was quite easy.

Wednesday, January 29, 2025

Simple container-based Minio deployment for Db2

MinIO console with Db2-generated files
You probably have read that I am testing Db2 external tables and remote storage. External tables are data files stored outside the database itself, either in the local file system or on (typically) S3-compatible object storage. To be able to test everything locally, even without Internet connectivity while traveling, I installed and configured MinIO. Here are the few steps to get it up and running as a Docker/podman deployment.

Friday, January 17, 2025

Once again: Db2 External Tables

Db2 log files and data on IBM COS
Today, I once again share some notes about Db2 External Tables. Recently, I set up Db2 12.1 Community Edition and had some time to "play" with external tables, multi-tenancy, and catalog tables. As this blog serves me as external memory :), here is what I need to remember...

Tuesday, January 7, 2025

Db2 12.1 Community Edition for Docker on Fedora

Db2 version 12.1 is ready for testing
Last November, Db2 v12.1 became generally available. It took some days before the containerized Db2 Community Edition was upgraded. Today, I pulled the new container image and installed it on my Fedora system with/in a Podman environment. Here is my quick writeup.

Wednesday, August 28, 2024

A look at local external tables in Db2

Surprising Db2 results or not?
My recent post about Db2 backup to S3 or Object Storage triggered a question. And the answer to it is that I wrote about external tables first in 2017, about 7 years ago. Since then, some features were added or changed for external tables and remote storage support, most recently in Db2 11.5.7 (AFAIK). With my new Db2 playground in place, I thought it was nice to test external tables again.

Friday, August 9, 2024

Revisited: Db2 backup to S3 / Object Storage

Db2 backup in an S3 bucket
One of the popular posts I have written is on Db2 and S3-compatible Cloud Object Storage, a follow-up from an older article on that same topic. Because things change and I recently set up my new test environment, I just tested backing up a Db2 database to an S3-compatible bucket in my IBM Cloud storage service. Here are my notes.

Friday, August 2, 2024

Three plus one simple (and free) ways to test Db2

Getting started with Db2
Recently, I switched jobs and now want to set up a "playground" on my machine. First on the list is IBM Db2. So, what options are available to anyone to test Db2 and build up some Db2 skills? In this blog, I plan to provide an overview and share what I option I am going with. Why titled I this blog post "three plus one"? Because a possible solution for quickly testing Db2 queries is not really a full Db2 database. So let's start with that one...

Wednesday, April 3, 2024

Follow-up on resource reclamation: Search resources and Code Engine commands

Restore IBM Cloud Code Engine projects
Some longer I time ago, I wrote about resource reclamation in IBM Cloud. When you delete a resource, it is not immediately gone but moved into a kind of trash bin. It gives you some days to reconsider or to recover from accidents. Today, I am going to share some additional tips & tricks.

Monday, October 30, 2023

πŸŽƒ Unicode characters and Db2 πŸ•Έ️ 🏚️

A smiley query in Db2
Recently, I had a discussion about Unicode characters and Db2. Since Db2 LUW version 9.5, new databases default to the Unicode code page. Instead of having the entire database in the Unicode code page, you can specify a CCSID (coded character set identifier) for either individual columns or the whole table when creating the table (isn't that 😱?). Our discussion was not around emojis (πŸ˜€) and Halloween (πŸŽƒ), but "business" - the Euro sign (€). How can you insert and retrieve Unicode characters when you know their code points? Let's take a look and have some fun...

Wednesday, October 4, 2023

Blog series on cloud security and account cleanup

Cleaning up unused cloud privileges

Regular account cleanup is part of account administration and security best practices, not just for cloud environments. So it is great when your cloud provider offers functionality to analyse the security setup and to detect unused (inactive) identities and privileges in your account. Over the past year, I looked at those features and thereby created a mini series on cloud security and account cleanup. Here is an overview.

Friday, August 25, 2023

Simple installation: Python driver for IBM Db2 (finally) has wheel support

A quick post about a feature I have been asking for for several years: The Db2 driver for Python, ibm_db, has wheel support now. It means that the Python package distributes a pre-built binary with the Db2 driver (for many Python versions and most users). So far, in order to install the Db2 driver, you needed to have a build environment available. To create small container images, it required a multi-stage approach. Now, I can simply use a slim base image and install the Db2 driver.

If you have feedback, suggestions, or questions about this post, please reach out to me on Twitter (@data_henrik), Mastodon (@data_henrik@mastodon.social), or LinkedIn.

Wednesday, July 5, 2023

Trusted Contexts for enhanced security: Both in Db2 and IBM Cloud

Security feature in action: Trusted Profile

I trust you to know my old blog post about trusted contexts. Some years ago, I explained how to secure your Db2 database using trusted contexts. By establishing a trusted relationship based on specified attributes, the Db2 feature of a trusted context allows you to switch to another user ID or role, typically with more associated privileges. It is a great security tool to limit direct user privileges and still allow a user to perform tasks requiring more privileges.

Tuesday, June 13, 2023

IDUG 2023 EMEA Db2 Tech Conference in Prague in October

Screenshot of IDUG website
Summer vacation is coming up, but there are certain things to take care of before. One of such things is to register for the upcoming IDUG 2023 EMEA Db2 Tech Conference. The conference is held at the Prague Congress Centre, Czech Republic, this year and runs from October 15-19. It is the main gathering for European users of IBM Db2.

Tuesday, May 9, 2023

Decode JWTs in bash

Today, it is once again time for one of those "let's document it" blog posts. Lately, I looked into one of the IBM Cloud security features, trusted profiles based on compute resources. I described how to turn your container into a trusted identity. For developing code locally, I needed to copy over files from the Kubernetes pods to my local machine, then decode JWT access tokens, all using the command line. Here is what I did.

Friday, March 24, 2023

Analyze your IBM Cloud access management setup

ER diagram for cloud security data
Recently, I looked into how to analyze the access management setup of my IBM Cloud account. I wanted to better understand what kind of access policies exist, what service instances are covered by rules and policies, etc. In the past, I have shared with you how to get insights into IBM Cloud account privileges or how to improve security by identifying inactive identities. This time, I looked across the existing APIs to obtain identity and access management (IAM) and resource data. I retrieved, then analyzed that security data. With these insights, it is possible to improve security for your IBM Cloud account and its resources.

Tuesday, March 21, 2023

flatpak: How to deal with unwanted package updates


Not all software is available as package for my Linux distribution. That's why I use flatpak for some applications. Recently, a new app version introduced a bug. It resulted in random crashes. So I looked into a way to get back to an older, more stable app version.

Tuesday, October 25, 2022

Things I learned at IDUG on JSON Web Token support in Db2

JSON Web Token support in Db2
Right now, I am at the IDUG 2022 EMEA Db2 Tech Conference in Edinburgh, Scotland. It's great to have an in-person event again, to network and to discuss. This year, there are many sessions covering Db2 security and they are well-attended. Database security seems to be (more) popular, now. In the past, I have blogged about JSON Web Tokens (JWT) and Db2. They allow a Single Sign-On (SSO) integration of Db2.

Tuesday, September 6, 2022

New IBM Cloud security features you should know

Custom role for operating Code Engine
Cybersecurity is always in a state of change. There are new security features and new attack methods - or was it the other way? Over the past months, several new security features were added to IBM Cloud. In this blog post, I want to quickly describe them and point you to IBM Cloud blog posts where I discuss them in greater detail.

Monday, May 16, 2022

Containerize your Db2 Python app

De-containerizing my stuff
By following my blog posts (here or at the IBM Cloud site)  or my code samples, you might know that many of my apps are coded in Python. Moreover, many projects involve IBM Db2 (see "How to connect from Python to Db2"). With Docker and other container technologies around and many projects involving Kubernetes / OpenShift or Knative / IBM Cloud Code Engine, the next question is how to containerize / dockerize your Db2 application written in Python. Well, here I share some of my experience...