DBmarlin Play site launched
For anyone wishing to get hands-on with DBmarlin before deciding whether to try it for themselves, we now have the DBmarlin Play site where anyone can see the product with real live data.
Demo scenarios
Currently we have 4 monitored databases, one of each type we support (PostgreSQL, MySQL, Oracle and MS SQL Server). They should all have data although currently the Oracle and MS SQL Server only run during UK working hours so outside of those times you will need to choose a longer time period to see the data. For the PostgreSQL and MySQL instances there is continual activity and repeating performance problems that occur hourly.
Each of the instances have different scenarios to demonstrate different types of issues. MySQL has a recurring locking problem, PostgreSQL shows the performance impact of indexes being added or dropped, SQL Server shows stored procedures with delays within them and Oracle shows an expensive, CPU-intensive SQL statement due to a cartesian product where a join condition has been forgotten.
1) MySQL table locking example
From the Dashboard screen click into the mysql57 instance to see the instance overview, then follow the steps below.
- Set the time range to ‘Last hour’
- Click the button ‘Show Top Waits’ to display the wait states on the chart
- You will see a spike of table locking
Waiting for table metadata lock
lasting for 5 minutes - In the Statement tab you can see the SQL statement that is suffering the table locking and just below the SQL creating the lock.
2) PostegreSQL dropped index example
From the Dashboard screen click into the postgres11 instance to see the instance overview, then follow the steps below.
- Set the time range to ‘Last hour’
- Click the button ‘Show Top Waits’ to display the wait states on the chart
- You will see that database resource consumption dropped and there are annotations indicating database changes which coicide with the change in performance.
- You will see that database resource consumption then increased again and there are annotations indicating database changes which coicide with the change in performance. You can use the Changes tab below to see what those changes were.
- The Statement tab show the top SQL and you can drill into any of the top statements to see their performance profile and explain plan.
3) SQL Server stored procedure example
From the Dashboard screen click into the MS-SQL-2019 instance to see the instance overview, then follow the steps below.
- Set the time range to ‘Last hour’
- Click the button ‘Show Top Waits’ to display the wait states on the chart
- The Batches tab show the top batches or stored procedures and you can see that sp_demo is the biggest resource consummer. You can drill down into the batch to see the SQL statements within it.
4) Oracle cartesian SQL example
From the Dashboard screen click into the oracle-rds-webtuna instance to see the instance overview, then follow the steps below.
- Set the time range to ‘Last hour’
- Click the button ‘Show Top Waits’ to display the wait states on the chart
- The Statement tab shows the top SQL and you can drill into any of the top statements to see their performance profile and explain plan. In this case the top statement
SELECT count(*) FROM rides, rates
is missing a join condition and you will see in the explain plan that it has to do a full table scan of both tables and a cartesian merge join making it very expensive.
DBmarlin features
- Modern responsive UI (can be viewed on any device including mobile)
- Support for modern database platforms such as Cloud (E.g. Amazon RDS)
- Granularity down to 1 second intervals
- Single pane of glass for many database technologies
- Captures all important SQL and their wait-events
- Auto detects changes (db properties, schema changes & explain plans)
- Auto recommendations (coming soon*)
- Full integration with Instana APM to see application context
Supported databases
DBmarlin now includes support for the following databases:
- MySQL 5.6, 5.7, 8.0 (Including Percona, MariaDB, and RDS Aurora)
- PostgreSQL 9, 10, 11, 12 (Including TimeScaleDB and RDS Aurora)
- Oracle (11g, 12c, 18c and 19c including Amazon RDS)
- SQL Server (2014, 2016, 2017 or 2019 including Amazon RDS and Azure SQL)