Tag: SQL

  • A Performance Dashboard for Apache Spark

    A Performance Dashboard for Apache Spark

    A Performance Dashboard for Apache Spark Topic: This post dives into the steps for deploying a performance dashboard for Apache Spark, using Spark metrics system instrumentation, InfluxDB and Grafana. What problem does it solve: The dashboard can provide important insights for performance troubleshooting and online monitoring of Apache Spark workloads. In particular when running Spark

    Explore →

  • Minimal Oracle

    Minimal Oracle

    Minimal Oracle The Oracle Database software is large, several gigabytes in Oracle Home for the part that is deployed on the operating system, and additional megabytes in SYSTEM tablespace for the part that is deployed as stored procedures (mainly the dbms_% packages). And this is not a problem with the traditional deployment methods where you

    Explore →

  • Performance Analysis of a CPU-Intensive Workload in Apache Spark

    Performance Analysis of a CPU-Intensive Workload in Apache Spark

    Performance Analysis of a CPU-Intensive Workload in Apache Spark Topic: This post is about techniques and tools for measuring and understanding CPU-bound and memory-bound workloads in Apache Spark. You will find examples applied to studying a simple workload consisting of reading Apache Parquet files into a Spark DataFrame. Why are the topics discussed here relevant

    Explore →

  • Linux BPF/bcc for Oracle Tracing

    Linux BPF/bcc for Oracle Tracing

    Linux BPF/bcc for Oracle Tracing Topic: In this post you will find a short discussion and pointers to the code of a few sample scripts that I have written using Linux BPF/bcc and uprobes for Oracle tracing. Previous work and motivations Tools for dynamic tracing are very useful for troubleshooting and internals investigations of Oracle

    Explore →

  • Hadoop performance troubleshooting with stack tracing, an introduction.

    Hadoop performance troubleshooting with stack tracing, an introduction.

    Hadoop performance troubleshooting with stack tracing, an introduction. Topic: This post is about profiling and performance tuning of distributed workloads and in particular Hadoop applications. You will learn of a profiler application we have developed and how it has successfully been applied to tuning Sqoop to improve the throughput of data transfer from Oracle to

    Explore →

  • Scaling up Cardinality Estimates in 12.1.0.2

    Scaling up Cardinality Estimates in 12.1.0.2

    Scaling up Cardinality Estimates in 12.1.0.2 Topic: Counting the number of distinct values (NDV) for a table column has important applications in the database domain, ranging from query optimization to optimizing reports for large data warehouses. However the legacy SQL method of using SELECT COUNT (DISTINCT <COL>) can be very slow. This is a well

    Explore →

  • How to speed up external C functions via Java

    How to speed up external C functions via Java

    How to speed up external C functions via Java Are you calling external C libraries from inside your Oracle SQL? Especially if those calls are made on a row-by-row basis you might see a significant performance benefit from calling your external C libraries via Java! Introduction: As part of my work as an Openlab fellow

    Explore →

  • Oracle Optimizer Investigated with Flame Graphs

    Oracle Optimizer Investigated with Flame Graphs

    Oracle Optimizer Investigated with Flame Graphs Topic: This post is about investigating the Oracle Optimizer using stack sampling and flame graphs. We will see how the complexity of the Optimizer has increased over the years and in particular with the introduction of cost-based optimization and more recently with 12c adaptive optimization. Context and goal: Stack

    Explore →

  • Flame Graphs for Oracle

    Flame Graphs for Oracle

    Flame Graphs for Oracle Topic: This post is a hands-on introduction to using on-CPU Flame Graphs for investigating Oracle workloads. This technique is about collecting and visualizing sampled stack trace data to analyze and troubleshoot Oracle processes at the OS level (in particular applied to Linux). Motivations: The techniques and tools described here can be

    Explore →