<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Data Warehouse on FromDual GmbH</title><link>https://www.fromdual.com/tags/data-warehouse/</link><description>Recent content in Data Warehouse on FromDual GmbH</description><generator>Hugo</generator><language>en-GB</language><managingEditor>oli.sennhauser@fromdual.com (Oli Sennhauser)</managingEditor><webMaster>oli.sennhauser@fromdual.com (Oli Sennhauser)</webMaster><copyright>© FromDual GmbH</copyright><lastBuildDate>Thu, 18 Apr 2024 08:37:21 +0000</lastBuildDate><atom:link href="https://www.fromdual.com/tags/data-warehouse/index.xml" rel="self" type="application/rss+xml"/><item><title>MariaDB 10.2 Window Function Examples</title><link>https://www.fromdual.com/blog/mariadb-10-2-window-function-examples/</link><pubDate>Mon, 18 Apr 2016 22:39:09 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/mariadb-10-2-window-function-examples/</guid><description>&lt;p&gt;MariaDB 10.2 has introduced some Window Functions for analytical queries.&lt;/p&gt;</description></item><item><title>MariaDB and MySQL Benchmarking</title><link>https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/</link><pubDate>Thu, 11 Mar 2010 23:29:59 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/</guid><description>&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#database-benchmark"&gt;Database Benchmark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#general-benchmarking-tools"&gt;General Benchmarking Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#cpu-benchmarking"&gt;CPU Benchmarking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#disk-benchmarking"&gt;Disk benchmarking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#network-benchmarking"&gt;Network Benchmarking&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#tools"&gt;Tools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#application-stress-testing"&gt;Application Stress Testing&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#owncloud-nextcloud"&gt;OwnCloud / NextCloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/mariadb-and-mysql-benchmarking/#asterisk"&gt;Asterisk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="database-benchmark"&gt;Database Benchmark&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/akopytov/sysbench/" target="_blank"&gt;sysbench&lt;/a&gt; (filesystems and OS/HW tests), &lt;a href="https://github.com/akopytov/sysbench/" target="_blank" title="Sysbench source"&gt;Sysbench source&lt;/a&gt;, &lt;a href="https://code.launchpad.net/~sysbench-developers/sysbench/0.5" target="_blank" title="sysbench v0.5"&gt;sysbench v0.5&lt;/a&gt;, &lt;a href="https://code.launchpad.net/~percona-dev/perconatools/sysbench-scripts" target="_blank" title="sysbench scripts"&gt;sysbench scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sourceforge.net/apps/mediawiki/osdldbt/index.php" target="_blank"&gt;OSDL Database Test Suite&lt;/a&gt; (&lt;a href="http://sourceforge.net/projects/osdldbt" target="_blank"&gt;download&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;DBT2 (TPC-C, OLTP), &lt;a href="https://downloads.mysql.com/source/dbt2-0.37.50.16.tar.gz" target="_blank"&gt;DBT2 Benchmark Tool for MySQL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://osdldbt.sourceforge.net/" target="_blank"&gt;DBT3 (TPC-H, complex and long running queries, data warehouse (DWH))&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;TM1 (3&lt;sup&gt;rd&lt;/sup&gt; party, ODBC, telecom benchmark)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tpc.org/" target="_blank"&gt;TPC Benchmarks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.launchpad.net/~percona-dev/perconatools/tpcc-mysql" target="_blank" title="TPCC-mysql"&gt;TPCC-mysql&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dimitrik.free.fr/db_STRESS.html" target="_blank"&gt;db_STRESS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hammerdb.com/" target="_blank" title="HammerDB"&gt;HammerDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/facebook/rocksdb/wiki/Benchmarking-tools" target="_blank" title="db_bench"&gt;db_bench&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/acronis/perfkit" target="_blank"&gt;Acronis perfkit (benchmark, benchmark-db)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cococo2000/Web3Bench/" target="_blank"&gt;Web3Bench&lt;/a&gt; (TiDB, MySQL written in Java/Python)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://square.github.io/finch/" target="_blank"&gt;Finch&lt;/a&gt; (Finch is a MySQL benchmark tool developed for software engineers and modern infrastructures.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="general-benchmarking-tools"&gt;General Benchmarking Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://jmeter.apache.org/" target="_blank" title="Apache JMeter"&gt;Apache JMeter&lt;/a&gt;: To test performance on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://gatling.io/" target="_blank" title="Gatling Load and Performance testing"&gt;Gatling&lt;/a&gt;: Gatling is a highly capable load testing tool. It is designed for ease of use, maintainability and high performance.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tsung.erlang-projects.org/" target="_blank"&gt;Tsung&lt;/a&gt;: Open-source multi-protocol distributed load testing tool.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slamd.com/" target="_blank"&gt;Slamd&lt;/a&gt; Java-based Distributed Load Generation Engine application designed for stress testing and performance analysis of network-based applications.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://grinder.sourceforge.net/" target="_blank"&gt;Grinder&lt;/a&gt; A Java load testing framework that makes it easy to run a distributed test using many load injector machines.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.mysql.com/doc/refman/8.0/en/mysqlslap.html" target="_blank"&gt;mysqlslap&lt;/a&gt; mysqlslap is a diagnostic program designed to emulate client load for a MySQL server and to report the timing of each stage. It works as if multiple clients are accessing the server.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.unix.com/source/bm.zip" target="_blank"&gt;&lt;code&gt;bm&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/httperf/httperf" target="_blank" title="httperf"&gt;httperf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://httpd.apache.org/docs/2.2/programs/ab.html" target="_blank" title="apachebench (ab)"&gt;apachebench (ab)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cpu-benchmarking"&gt;CPU Benchmarking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.eembc.org/coremark/" target="_blank" title="CoreMark"&gt;CoreMark&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="disk-benchmarking"&gt;Disk benchmarking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/axboe/fio" target="_blank"&gt;FIO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Filesystem Benchmark: &lt;a href="http://www.iozone.org/" target="_blank"&gt;IOzone&lt;/a&gt;, &lt;a href="http://www.textuality.com/bonnie/" target="_blank"&gt;Bonnie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Harddisk-Benchmark: &lt;a href="http://www.coker.com.au/bonnie++/" target="_blank"&gt;Bonnie++&lt;/a&gt;, &lt;a href="http://www.iometer.org/" target="_blank"&gt;Iometer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# bonnie -s 2047 -S 10000

Bonnie 1.4: File &amp;#39;./Bonnie.12330&amp;#39;, size: 2146435072, volumes: 1
Writing with putc()... done: 20440 kB/s 89.7 %CPU
Rewriting... done: 18940 kB/s 18.3 %CPU
Writing intelligently... done: 46256 kB/s 28.8 %CPU
Reading with getc()... done: 18771 kB/s 82.1 %CPU
Reading intelligently... done: 32549 kB/s 17.3 %CPU

 ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
 -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --10k (03)-
Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
master 1*2047 20440 89.7 46256 28.8 18940 18.3 18771 82.1 32549 17.3 183.6 1.5
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;with &lt;code&gt;fsync&lt;/code&gt;&lt;/p&gt;</description></item><item><title>MySQL pluggable Storage Engines (SE)</title><link>https://www.fromdual.com/blog/mysql-pluggable-storage-engines/</link><pubDate>Thu, 11 Mar 2010 23:20:51 +0000</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/mysql-pluggable-storage-engines/</guid><description>&lt;p&gt;One of the big advantages of MySQL is its concept of &lt;strong&gt;Pluggable Storage Engines&lt;/strong&gt;. This means you can choose the most optimal Storage Engine for your needs. This also has a disadvantage: You have to know what you are doing&amp;hellip;&lt;/p&gt;</description></item><item><title>We build a data warehouse from the General Query Log</title><link>https://www.fromdual.com/blog/we-build-a-data-warehouse-from-the-general-query-log/</link><pubDate>Wed, 31 Jan 2024 16:41:13 +0100</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/we-build-a-data-warehouse-from-the-general-query-log/</guid><description>&lt;p&gt;The design of a data warehouse differs from relational design. Data warehouses are often designed according to the concept of the &lt;a href="https://en.wikipedia.org/wiki/Star_schema" target="_blank" title="Star Schema on Wikipedia"&gt;star schema&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Data Warehouse Design</title><link>https://www.fromdual.com/blog/data-warehouse-design/</link><pubDate>Wed, 16 Jun 2021 23:02:43 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/data-warehouse-design/</guid><description>&lt;p&gt;This is my cheat sheet for dimensional modelling design techniques of a data warehouse (DWH) according to &lt;a href="https://www.amazon.de/Data-Warehouse-Toolkit-Definitive-Dimensional/dp/1118530802" target="_blank"&gt;Kimball/Ross&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Query performance comparison between MariaDB ColumnStore and other Storage Engines</title><link>https://www.fromdual.com/blog/query-performance-comparison-between-mariadb-column-store-and-other-storage-engines/</link><pubDate>Thu, 03 Jun 2021 15:53:51 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/query-performance-comparison-between-mariadb-column-store-and-other-storage-engines/</guid><description>&lt;p&gt;Storage Engines like InnoDB, Aria and MyISAM are Row Stores. They store rows one after the other in blocks or even directly in a single file (MyISAM). On the other hand a Column Store like MariaDB ColumnStore stores all the same attributes (columns) of the rows together in chunks.&lt;/p&gt;</description></item><item><title>Create a single-node MariaDB ColumnStore test installation</title><link>https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/</link><pubDate>Wed, 19 May 2021 19:37:50 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/</guid><description>&lt;h2 id="table-of-contents"&gt;Table of Contents&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#harware-requirements"&gt;Hardware requirements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#os-linux-settings"&gt;O/S (Linux) settings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#installation"&gt;Installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#configuration"&gt;Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#cross-engine-join-user"&gt;Cross Engine Join User&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#start-colunstore"&gt;Start ColumnStore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#create-cross-egnine-join-user-in-the-database"&gt;Create the Cross Engine Join User in the database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#columnstore-schemas"&gt;MariaDB ColumnStore schemas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#server-variables-and-status-variables"&gt;Server System Variables and Server Status Variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#columnstore-on-the-file-system"&gt;MariaDB ColumnStore on the file system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#creating-first-table"&gt;Creating our first table&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#querying-and-changing-data"&gt;Querying and changing data in MariaDB ColumnStore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#using-sequences-instead-of-auto-increment"&gt;MariaDB ColumnStore using sequences instead of &lt;code&gt;AUTO_INCREMENT&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdual.com/blog/create-a-single-node-mariadb-columnstore-test-installation/#query-execution-plan"&gt;MariaDB ColumnStore Query Execution Plan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a long time I wanted to investigate a bit more into the MariaDB ColumnStore architecture. Now I took the time to start with.&lt;/p&gt;</description></item><item><title>Do not trust other peoples benchmarks!</title><link>https://www.fromdual.com/blog/do-not-trust-other-peoples-benchmarks/</link><pubDate>Tue, 06 Apr 2021 13:26:06 +0200</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/do-not-trust-other-peoples-benchmarks/</guid><description>&lt;p&gt;Because they do NOT reflect your problems.&lt;/p&gt;
&lt;p&gt;One of our customers upgraded last month from MariaDB 10.2 to MariaDB 10.5. In the same change he also converted all his data warehouse (DWH)/BI tables from MyISAM to Aria. An all this, naturally, without testing. And it miserably failed! And then we were under heavy time pressure to make things working again&amp;hellip;&lt;/p&gt;</description></item><item><title>The battle against Oracle is probably over but has the real war begun yet?</title><link>https://www.fromdual.com/blog/battle-against-oracle-is-probably-over/</link><pubDate>Wed, 20 Jan 2010 09:36:00 +0100</pubDate><author>oli.sennhauser@fromdual.com (Oli Sennhauser)</author><guid>https://www.fromdual.com/blog/battle-against-oracle-is-probably-over/</guid><description>&lt;p&gt;According to different sources from the web the decision about the Oracle - Sun merger has been approved by the European commission soon. So at least in the West it is clear what is going on. Let us see what the East decides&amp;hellip; [ &lt;a href="http://news.yahoo.com/s/pcworld/20100118/tc_pcworld/oraclesunmergerfoesheadeast" target="_blank" title="Yahoo! NEWS"&gt;1&lt;/a&gt; ], [ &lt;a href="http://online.wsj.com/article/SB10001424052748704561004575013340483500722.html?mod=googlenews_wsj" target="_blank" title="The Wall Street Journal"&gt;2&lt;/a&gt; ].&lt;/p&gt;</description></item></channel></rss>