
{"id":5762,"date":"2022-06-09T10:39:01","date_gmt":"2022-06-09T09:39:01","guid":{"rendered":"http:\/\/dasini.net\/blog\/?p=5762"},"modified":"2025-07-11T09:09:18","modified_gmt":"2025-07-11T08:09:18","slug":"explore-visualize-your-mysql-heatwave-data-with-superset","status":"publish","type":"post","link":"https:\/\/dasini.net\/blog\/2022\/06\/09\/explore-visualize-your-mysql-heatwave-data-with-superset\/","title":{"rendered":"Explore &#038; visualize your MySQL HeatWave data with Superset"},"content":{"rendered":"\n<p><strong>MySQL<\/strong> &#8211; <em>The world&rsquo;s most popular open source database<\/em> &#8211; is probably <strong>the best choice for a transactional database<\/strong> especially when considering the <strong>costs \/ performance ratio<\/strong>, and that <strong>on-premise<\/strong> or in the <strong>cloud<\/strong>.<\/p>\n\n\n\n<p>But what about <span style=\"text-decoration: underline;\">business intelligence<\/span> (BI) needs? <span style=\"text-decoration: underline;\">Analytics<\/span> workloads? <\/p>\n\n\n\n<p>We&rsquo;ve got you covered now with the versatile <strong><a href=\"https:\/\/www.oracle.com\/mysql\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL HeatWave\">MySQL HeatWave<\/a> <\/strong>&#8211; a fully managed database service, that combines transactions, analytics, and machine learning services into one MySQL Database, delivering real-time, secure analytics without the complexity, latency, and cost of ETL duplication.<br>MySQL HeatWave is a native MySQL solution thus <strong>current MySQL applications work without changes<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"341\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML-800x341.png?resize=800%2C341\" alt=\"\" class=\"wp-image-5803\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?resize=800%2C341&amp;ssl=1 800w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?resize=300%2C128&amp;ssl=1 300w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?resize=768%2C327&amp;ssl=1 768w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?w=1012&amp;ssl=1 1012w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>MySQL HeatWave is also fast, super fast, easy to use and provides an incredible price\/performance ratio&#8230;<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"485\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/rc24full-heatwave-800x485.png?resize=800%2C485\" alt=\"\" class=\"wp-image-5805\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/rc24full-heatwave.png?resize=800%2C485&amp;ssl=1 800w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/rc24full-heatwave.png?resize=300%2C182&amp;ssl=1 300w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/rc24full-heatwave.png?resize=768%2C465&amp;ssl=1 768w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/rc24full-heatwave.png?resize=1536%2C931&amp;ssl=1 1536w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/rc24full-heatwave.png?w=1980&amp;ssl=1 1980w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p><span style=\"text-decoration: underline;\">Details &amp; more numbers<\/span>: <a href=\"https:\/\/www.oracle.com\/mysql\/heatwave\/performance\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Performance comparison of MySQL HeatWave with Snowflake, Amazon Redshift, Amazon Aurora, and Amazon RDS for MySQL\">Performance comparison of MySQL HeatWave with Snowflake, Amazon Redshift, Amazon Aurora, and Amazon RDS for MySQL<\/a>.<\/p>\n\n\n\n<p>MySQL HeatWave is currently available on <a href=\"https:\/\/www.oracle.com\/mysql\/heatwave\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL HeatWave on OCI\">Oracle Cloud Infrastructure<\/a> (OCI). Availability on Amazon Web Services (AWS) and Microsoft Azure is coming (<a href=\"https:\/\/thestack.technology\/oracle-heatwave-is-going-multicloud-how-hot-will-things-get\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle\u2019s \u201cHeatWave\u201d is going multicloud: How hot will things get for MySQL?\">Oracle\u2019s \u201cHeatWave\u201d is going multicloud: How hot will things get for MySQL?<\/a>).<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Indeed, having a fast and easy to use database is valuable. But analytics also imply that you need to explore and visualize your data.<br>There are plenty of tools available on the market, one of the them is <strong><a href=\"https:\/\/superset.apache.org\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Apache Superset\">Apache Superset<\/a><\/strong>, an open source modern data exploration and visualization platform.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"342\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-01-1-800x342.png?resize=800%2C342\" alt=\"\" class=\"wp-image-5813\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-01-1.png?resize=800%2C342&amp;ssl=1 800w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-01-1.png?resize=300%2C128&amp;ssl=1 300w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-01-1.png?resize=768%2C328&amp;ssl=1 768w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-01-1.png?resize=1536%2C657&amp;ssl=1 1536w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-01-1.png?resize=2048%2C876&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>In this article I will show you how to properly configure <strong>Apache Superset<\/strong> in order to take advantage of a high performance, in-memory query accelerator: <a href=\"https:\/\/www.oracle.com\/mysql\/heatwave\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL HeatWave: Architected for performance and scalability\"><strong>MySQL HeatWave<\/strong><\/a>.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">MySQL HeatWave<\/h1>\n\n\n\n<p>I&rsquo;m on <a href=\"https:\/\/www.oracle.com\/cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Infrastructure (OCI) - The next-generation cloud designed to run any application, faster and more securely, for less.\">OCI<\/a> and I will not go into all the installation details (<a href=\"https:\/\/dev.mysql.com\/doc\/heatwave\/en\/heatwave-before-you-begin.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Before you begin using MySQL HeatWave, the following is assumed\">RTFM<\/a>). Below the main steps.<\/p>\n\n\n\n<p>Using your favorite Internet browser, open your OCI console, select a compartment and go to <em>Databases \/ MySQL \/ DB System<\/em>s.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/07\/OCI_Create_MDS_edited.png\" alt=\"\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Create a DB Systems and select <strong>HeatWave<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/04\/MySQL-Database-Service-Choice.png\" alt=\"\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The rest is pretty straightforward!<\/p>\n\n\n\n<p>Please note the <em><strong>Show Advanced Options<\/strong><\/em> link at the bottom of the page. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/07\/OCI_create_MDS_form6_Show_advanced_options.png\" alt=\"\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>It&rsquo;s <em><strong>Data Import<\/strong><\/em> tab is useful if you want to create an instance with data. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/07\/OCI_create_MDS_form10_FINAL_edited.png\" alt=\"\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>More information in this article: <a href=\"http:\/\/dasini.net\/blog\/2021\/08\/31\/discovering-mysql-database-service-episode-5-create-a-mysql-db-system-from-a-mysql-shell-dump\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Discovering MySQL Database Service \u2013 Episode 5 \u2013 Create a MySQL DB system from a MySQL Shell dump\"><strong><em>Discovering MySQL Database Service \u2013 Episode 5 \u2013 Create a MySQL DB system from a MySQL Shell dump<\/em><\/strong><\/a><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Now we must add the HeatWave cluster.<\/p>\n\n\n\n<p>On the left, under <strong><em>Resources<\/em><\/strong> click <strong><em>HeatWave<\/em><\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"107\" height=\"237\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-MDS-Resources-HeatWave.png?resize=107%2C237\" alt=\"\" class=\"wp-image-5785\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Add the HeatWave Cluster&#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"151\" height=\"30\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeaWave-Add-HeatWave-Cluster-button.png?resize=151%2C30\" alt=\"\" class=\"wp-image-5787\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Set the Node Count <\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"252\" data-id=\"5789\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster-800x252.png?resize=800%2C252\" alt=\"\" class=\"wp-image-5789\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=800%2C252&amp;ssl=1 800w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=300%2C95&amp;ssl=1 300w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=768%2C242&amp;ssl=1 768w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?w=1199&amp;ssl=1 1199w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>I would recommend to estimate the node count, click <strong><em>Estimate Node Count<\/em><\/strong> then <strong><em>Generate Estimate<\/em><\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"635\" height=\"212\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeatWave-Estimate-Node-Count.png?resize=635%2C212\" alt=\"\" class=\"wp-image-5793\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeatWave-Estimate-Node-Count.png?w=635&amp;ssl=1 635w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeatWave-Estimate-Node-Count.png?resize=300%2C100&amp;ssl=1 300w\" sizes=\"auto, (max-width: 635px) 100vw, 635px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Copy the <strong><em>Load Command<\/em><\/strong>. <br>It will be used to load the chosen data into the HeatWave cluster.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Apply the node count estimate:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"632\" height=\"623\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeatWave-Apply-Node-Count-Estimate.png?resize=632%2C623\" alt=\"\" class=\"wp-image-5795\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeatWave-Apply-Node-Count-Estimate.png?w=632&amp;ssl=1 632w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeatWave-Apply-Node-Count-Estimate.png?resize=300%2C296&amp;ssl=1 300w\" sizes=\"auto, (max-width: 632px) 100vw, 632px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Finally create the cluster by pushing the button: <strong><em>Add HeatWave Cluster<\/em><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"152\" height=\"32\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeaWave-Add-HeatWave-Cluster-blue-button.png?resize=152%2C32\" alt=\"\" class=\"wp-image-5790\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeaWave-Add-HeatWave-Cluster-blue-button.png?w=152&amp;ssl=1 152w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HeaWave-Add-HeatWave-Cluster-blue-button.png?resize=150%2C32&amp;ssl=1 150w\" sizes=\"auto, (max-width: 152px) 100vw, 152px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>When the cluster is running, the very last step is to offload the data to the cluster by running the stored procedure (i.e. the \u00ab\u00a0Load Command\u00a0\u00bb) copied previously using your favorite MySQL client. <\/p>\n\n\n\n<p>e.g. Offload to the HeatWave cluster all the tables inside the airportdb schema:<br><strong>CALL sys.heatwave_load(JSON_ARRAY(&lsquo;airportdb&rsquo;), NULL);<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"142\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HW-Load-Command-800x142.png?resize=800%2C142\" alt=\"\" class=\"wp-image-5824\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HW-Load-Command.png?resize=800%2C142&amp;ssl=1 800w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HW-Load-Command.png?resize=300%2C53&amp;ssl=1 300w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HW-Load-Command.png?resize=768%2C137&amp;ssl=1 768w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-HW-Load-Command.png?w=1007&amp;ssl=1 1007w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Apache Superset<\/h1>\n\n\n\n<p>I assume that you know what is Apache Superset. If not <a href=\"https:\/\/superset.apache.org\/docs\/intro\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"What is Apache Superset?\">RTFM<\/a>.<br>I also assume that it is already installed. You&rsquo;ll find the necessary information in their documentation: <a href=\"https:\/\/superset.apache.org\/docs\/installation\/installing-superset-from-scratch\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Installing Superset from Scratch\">Installing Superset from Scratch<\/a> or <a href=\"https:\/\/superset.apache.org\/docs\/installation\/installing-superset-using-docker-compose\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Installing Superset Locally Using Docker Compose\">Installing Superset Locally Using Docker Compose<\/a>.<\/p>\n\n\n\n<p>it is worth noting that I had some issues during the installation process following the documentation.<\/p>\n\n\n\n<p>For the record, below what I&rsquo;ve done using a <a href=\"https:\/\/www.oracle.com\/cloud\/compute\/virtual-machines\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"OCI Virtual Marchine (VM)\">VM<\/a> Ubuntu 20.04 from <a href=\"https:\/\/www.oracle.com\/cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Infrastructure\">Oracle Cloud Infrastructure<\/a> (OCI).<br>Please note this is a test installation, <span style=\"text-decoration: underline;\">not suitable for a production environment<\/span>.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Install the required dependencies (Ubuntu or Debian):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ sudo apt update &amp;&amp; sudo apt -y install build-essential libssl-dev libffi-dev python3-dev python3-pip libsasl2-dev libldap2-dev default-libmysqlclient-dev libprotobuf17 python3-protobuf<\/code><\/pre>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Upgrade pip&nbsp;(and prevent some issues)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ pip3 install --upgrade pip\n\n$ pip3 install zipp==3.8.0\n\n$ pip3 install Flask-WTF==0.14.3<\/code><\/pre>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Install  Superset<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ pip3 install apache-superset<\/code><\/pre>\n\n\n\n<p>Binaries are in $HOME\/.local\/bin<br>I decided to put the following information into my ~\/.bashrc (however not sure it is a good practice, but good enough for testing)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">export PATH=\"$HOME\/.local\/bin:$PATH\"\nexport FLASK_APP=superset<\/code><\/pre>\n\n\n\n<p>then<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ source ~\/.bashrc<\/code><\/pre>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Initialize the database:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ superset db upgrade\n\n$ superset fab create-admin\n\n\n# If you want to load the embeded examples\n# superset load_examples\n\n# Create default roles and permissions\n$ superset init<\/code><\/pre>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Please not that you will probably have to update your firewall.<\/p>\n\n\n\n<p>If like me you are on <a href=\"https:\/\/www.oracle.com\/cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Infrastructure (OCI) - The next-generation cloud designed to run any application, faster and more securely, for less\">OCI<\/a> you must update the <a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/Network\/Concepts\/securitylists.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"OCI Security Lists\">security list<\/a> (OCI virtual firewall) for the protocol TCP and the port you are going to use, 8088 in this article<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"124\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-Networking-VCN-Security-List-Ingress-Rules-Apache-Superset-800x124.png?resize=800%2C124\" alt=\"\" class=\"wp-image-5835\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-Networking-VCN-Security-List-Ingress-Rules-Apache-Superset.png?resize=800%2C124&amp;ssl=1 800w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-Networking-VCN-Security-List-Ingress-Rules-Apache-Superset.png?resize=300%2C47&amp;ssl=1 300w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-Networking-VCN-Security-List-Ingress-Rules-Apache-Superset.png?resize=768%2C119&amp;ssl=1 768w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-Networking-VCN-Security-List-Ingress-Rules-Apache-Superset.png?resize=1536%2C238&amp;ssl=1 1536w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/OCI-Networking-VCN-Security-List-Ingress-Rules-Apache-Superset.png?w=1985&amp;ssl=1 1985w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>On Ubuntu you may have to update IPtable.<\/p>\n<\/blockquote>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Start Superset<\/h2>\n\n\n\n<p>Superset is listening on port 8088<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ superset run -h 0.0.0.0 -p 8088 --with-threads --reload<\/code><\/pre>\n\n\n\n<p>If everything worked, you should be able to navigate to&nbsp;<code>hostname:port<\/code>&nbsp;in your browser  and login using the username and password you created.<\/p>\n\n\n\n<p>If you have everything on your laptop, you can remove <code><em>-h 0.0.0.0<\/em><\/code>  and then only local connections will be allowed (i.e. navigate to <code>localhost:8088<\/code>).<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Install MySQL Connector Python 8.0<\/h1>\n\n\n\n<p>Unlike what is written <a href=\"https:\/\/superset.apache.org\/docs\/databases\/mysql\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Connectiong to MySQL\">here<\/a>, I would recommend to use MySQL 8.0, to download and use the official <a href=\"https:\/\/dev.mysql.com\/downloads\/connector\/python\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Connector\/Python 8.0.x\">MySQL Python connector<\/a> available on the <a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL, The world's most popular open source database \">MySQL<\/a> website.<\/p>\n\n\n\n<p>Go to <a href=\"https:\/\/dev.mysql.com\/downloads\/connector\/python\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Connector\/Python 8.0.x\">https:\/\/dev.mysql.com\/downloads\/connector\/python\/<\/a> for the latest version.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"SQL\" class=\"language-SQL\">$ wget https:\/\/dev.mysql.com\/get\/Downloads\/Connector-Python\/mysql-connector-python-py3_8.0.29-1ubuntu20.04_amd64.deb\n\n$ sudo dpkg -i mysql-connector-python-py3_8.0.29-1ubuntu20.04_amd64.deb<\/code><\/pre>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Obviously, MySQL customers can use the commercial version available on <a href=\"https:\/\/support.oracle.com\/portal\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"My Oracle Support\">MOS<\/a>.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Configure Superset for MySQL HeatWave<\/h1>\n\n\n\n<p>Using the Apache Superset UI you can add a new backend database.<\/p>\n\n\n\n<p>Go to <em>Data \/ Databases<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"122\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-add-database-02.png?resize=589%2C122\" alt=\"\" class=\"wp-image-5845\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-add-database-02.png?w=589&amp;ssl=1 589w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-add-database-02.png?resize=300%2C62&amp;ssl=1 300w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Then click + DATABASE<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"120\" height=\"36\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/apache-superset-add-database-03.png?resize=120%2C36\" alt=\"\" class=\"wp-image-5847\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Add your MySQL HeatWave database.<br>There are 2 important parts:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1\/ SQLALCHEMY URI :<\/h3>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>mysql+mysqlconnector:\/\/&lt;MySQL user&gt;:&lt;MySQL password&gt;@&lt;MySQL host&gt;<\/strong><\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>You need the MySQL user, password and IP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"485\" height=\"588\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Superset_01_connect_DB.png?resize=485%2C588\" alt=\"\" class=\"wp-image-5849\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Superset_01_connect_DB.png?w=485&amp;ssl=1 485w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Superset_01_connect_DB.png?resize=247%2C300&amp;ssl=1 247w\" sizes=\"auto, (max-width: 485px) 100vw, 485px\" \/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2\/ ENGINE PARAMETERS<\/h3>\n\n\n\n<p>In order to take advantage of the power of MySQL HeatWave, <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/server-system-variables.html#sysvar_autocommit\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL autocommit\"><code><em><strong>autocommit<\/strong><\/em><\/code><\/a>&nbsp;must be enabled. <\/p>\n\n\n\n<p>If <em><strong>autocommit<\/strong><\/em> is disabled, queries are not offloaded and execution is performed on the MySQL DB System. In other words, the queries will be much slower. <a href=\"https:\/\/dev.mysql.com\/doc\/heatwave\/en\/heatwave-running-queries.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL HeatWave - Query Prerequisites\">Details here<\/a>.<\/p>\n\n\n\n<p>Go to <em>Advanced \/ Other \/ ENGINE PARAMETERS<\/em><\/p>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>{\u00ab\u00a0isolation_level\u00a0\u00bb:\u00a0\u00bbAUTOCOMMIT\u00a0\u00bb}<\/strong><\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"467\" height=\"740\" src=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Superset_02_connect_DB.png?resize=467%2C740\" alt=\"\" class=\"wp-image-5856\" srcset=\"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Superset_02_connect_DB.png?w=467&amp;ssl=1 467w, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Superset_02_connect_DB.png?resize=189%2C300&amp;ssl=1 189w\" sizes=\"auto, (max-width: 467px) 100vw, 467px\" \/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>You all set \ud83d\ude42<\/p>\n\n\n\n<p>Thanks to <strong>MySQL HeatWave<\/strong>, you can now add your datasets and build awesome and very fast dashboards, explore and visualize your data at the speed of light.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Resources<\/h2>\n\n\n\n<ul class=\"wp-block-list has-luminous-vivid-orange-color has-text-color\">\n<li><a href=\"http:\/\/dasini.net\/blog\/2021\/08\/03\/discovering-mysql-database-service-episode-1-introduction\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Introduction to the series&nbsp;Discovering MySQL Database Service\">Introduction to the series&nbsp;<strong><em>Discovering MySQL HeatWave Database Service<\/em><\/strong><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.oracle.com\/mysql\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Database Service (MDS)\">MySQL Database Service (MDS)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/heatwave\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL HeatWave User Guide\">MySQL HeatWave User Guide<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/mysql-database\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Documentation of MySQL Database Service \">Documentation of MySQL Database Service <\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.oracle.com\/cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Infrastructure (OCI)\">Oracle Cloud Infrastructure (OCI)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/Content\/libraries\/glossary\/glossary-intro.htm\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Infrastructure Glossary\">Oracle Cloud Infrastructure Glossary<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.oracle.com\/cloud\/free\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Oracle Cloud Free Tier\">Oracle Cloud Free Tier<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.mysql.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">MySQL &#8212; The world&rsquo;s most popular open source database<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/dev.mysql.com\/doc\/mysql-shell\/8.0\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"MySQL Shell\">MySQL Shell<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/superset.apache.org\/docs\/intro\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Apache Superset\">Apache Superset<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.sqlalchemy.org\/en\/14\/orm\/session_transaction.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"SQLAlchemy 1.4 Documentation - Transactions and Connection Management\">SQLAlchemy 1.4 Documentation &#8211; Transactions and Connection Management<\/a><\/li>\n<\/ul>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/groups\/12524512\/\" target=\"_blank\" rel=\"noopener\" title=\"Olivier DASINI on Linkedin\">Follow me on Linkedin<\/a><\/p>\n\n\n\n<p>Watch my videos on my <a href=\"https:\/\/www.youtube.com\/channel\/UC12TulyJsJZHoCmby3Nm3WQ\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Olivier's MySQL Channel\">YouTube channel<\/a> and <a href=\"https:\/\/www.youtube.com\/channel\/UC12TulyJsJZHoCmby3Nm3WQ\/?sub_confirmation=1\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Subscribe\">subscribe<\/a>.<\/p>\n\n\n\n<p>My <a href=\"https:\/\/www.slideshare.net\/freshdaz\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Olivier DASINI on Slideshare\">Slideshare account<\/a>.<\/p>\n\n\n\n<p>My <a href=\"https:\/\/speakerdeck.com\/freshdaz\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Olivier DASINI on Speaker Deck\">Speaker Deck account<\/a>.<\/p>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-vivid-red-color has-text-color\"><strong>Thanks for using HeatWave &amp; MySQL!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article I will show you how to properly configure Apache Superset in order to take advantage of a high performance, in-memory query accelerator: MySQL HeatWave.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"categories":[203,339],"tags":[1680,306,202,349],"class_list":["post-5762","post","type-post","status-publish","format-standard","hentry","category-mysql-en","category-tuto-en","tag-analytics-en","tag-cloud","tag-performance","tag-tuto-en"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9LfWW-1uW","jetpack-related-posts":[{"id":4462,"url":"https:\/\/dasini.net\/blog\/2021\/04\/13\/heatwave-a-mysql-cloud-feature-to-speed-up-your-queries\/","url_meta":{"origin":5762,"position":0},"title":"HeatWave &#8211; A MySQL cloud feature to speed up your queries","author":"Olivier DASINI","date":"13 avril 2021","format":false,"excerpt":"If you have (too) long running select queries it is probably because of lack of relevant indexes, problematic schema that lead to poor queries or inadequate hardware. That said, sometime even if you doing it right, the query execution time could be too long regarding of what the application or\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/04\/MySQL-Database-Service-HeatWave-Replication.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/04\/MySQL-Database-Service-HeatWave-Replication.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/04\/MySQL-Database-Service-HeatWave-Replication.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/04\/MySQL-Database-Service-HeatWave-Replication.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5915,"url":"https:\/\/dasini.net\/blog\/2022\/07\/05\/interactively-explore-visualize-your-mysql-heatwave-data-with-apache-zeppelin\/","url_meta":{"origin":5762,"position":1},"title":"Interactively explore &#038; visualize your MySQL HeatWave data with Apache Zeppelin","author":"Olivier DASINI","date":"5 juillet 2022","format":false,"excerpt":"In this article I will show you how to properly configure Apache Zeppelin in order to take advantage of the Analytics and Machine Learning capabilities of MySQL HeatWave the MySQL in-memory query accelerator.","rel":"","context":"Dans &quot;Machine Learning&quot;","block_context":{"text":"Machine Learning","link":"https:\/\/dasini.net\/blog\/category\/machine-learning-en\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=700%2C400 2x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/Configure-Heatwave-Cluster.png?resize=1050%2C600 3x"},"classes":[]},{"id":4662,"url":"https:\/\/dasini.net\/blog\/2021\/08\/03\/discovering-mysql-database-service-episode-1-introduction\/","url_meta":{"origin":5762,"position":2},"title":"Discovering MySQL Database Service &#8211; Episode 1 &#8211; Introduction","author":"Olivier DASINI","date":"3 ao\u00fbt 2021","format":false,"excerpt":"This is the first episode of \u201cDiscovering MySQL Database Service\u201c, a series of tutorials where I will show you, step by step, how to use MySQL Database Service and some other Oracle Cloud Infrastructure services. Like any series, in this episode I\u2019m going to give you some context and set\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"MySQL Database Service","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6061,"url":"https:\/\/dasini.net\/blog\/2022\/07\/18\/iris-data-set-with-mysql-heatwave-machine-learning-zeppelin\/","url_meta":{"origin":5762,"position":3},"title":"Iris Data Set with MySQL HeatWave Machine Learning  &#038; Zeppelin","author":"Olivier DASINI","date":"18 juillet 2022","format":false,"excerpt":"During the last 20 years MySQL has democratized the usage of transactional databases. Now with MySQL HeatWave we are in the process of democratizing Analytics and Machine Learning. With MySQL HeatWave, valorizing your data has never been so easy! In this article I will show you how easy it is\u2026","rel":"","context":"Dans &quot;MySQL&quot;","block_context":{"text":"MySQL","link":"https:\/\/dasini.net\/blog\/category\/mysql-en\/"},"img":{"alt_text":"MySQL HeatWave a MySQL in-Memory Query Accelerator","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?fit=1012%2C431&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?fit=1012%2C431&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?fit=1012%2C431&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2022\/06\/HW_ML.png?fit=1012%2C431&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":6650,"url":"https:\/\/dasini.net\/blog\/2024\/07\/16\/get-your-heatwave-mysql-data-on-premises-with-replication\/","url_meta":{"origin":5762,"position":4},"title":"Get Your HeatWave MySQL Data On-Premises with Replication","author":"Olivier DASINI","date":"16 juillet 2024","format":false,"excerpt":"This article guides you through setting up replication between a HeatWave MySQL instance (source) and an on-premise standalone MySQL instance (replica). It highlights key steps like creating a replication user, securing the connection, and using MySQL Shell utilities for data transfer.","rel":"","context":"Dans &quot;HeatWave&quot;","block_context":{"text":"HeatWave","link":"https:\/\/dasini.net\/blog\/category\/heatwave-en\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2024\/07\/Get-Your-HeatWave-MySQL-Data-On-Premises-with-Replication-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2024\/07\/Get-Your-HeatWave-MySQL-Data-On-Premises-with-Replication-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2024\/07\/Get-Your-HeatWave-MySQL-Data-On-Premises-with-Replication-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2024\/07\/Get-Your-HeatWave-MySQL-Data-On-Premises-with-Replication-1.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2024\/07\/Get-Your-HeatWave-MySQL-Data-On-Premises-with-Replication-1.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2024\/07\/Get-Your-HeatWave-MySQL-Data-On-Premises-with-Replication-1.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":4774,"url":"https:\/\/dasini.net\/blog\/2021\/08\/24\/discovering-mysql-database-service-episode-4-dump-your-mysql-data-into-an-object-storage-bucket\/","url_meta":{"origin":5762,"position":5},"title":"Discovering MySQL Database Service &#8211; Episode 4 &#8211; Dump your MySQL data into an Object Storage bucket","author":"Olivier DASINI","date":"24 ao\u00fbt 2021","format":false,"excerpt":"This is the fourth episode of \u201cDiscovering MySQL Database Service\u201c, a series of tutorials where I will show you, step by step, how to use MySQL Database Service and some other Oracle Cloud Infrastructure services. In the previous episode we\u2019ve created our Virtual Cloud Network, that provides you with complete\u2026","rel":"","context":"Dans &quot;Cloud&quot;","block_context":{"text":"Cloud","link":"https:\/\/dasini.net\/blog\/category\/cloud\/"},"img":{"alt_text":"MySQL Database Service","src":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/dasini.net\/blog\/wp-content\/uploads\/2021\/06\/MDS_car_801x600.png?resize=700%2C400&ssl=1 2x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts\/5762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/comments?post=5762"}],"version-history":[{"count":129,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts\/5762\/revisions"}],"predecessor-version":[{"id":8076,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/posts\/5762\/revisions\/8076"}],"wp:attachment":[{"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/media?parent=5762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/categories?post=5762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dasini.net\/blog\/wp-json\/wp\/v2\/tags?post=5762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}