SlideShare a Scribd company logo
MySQL Test Framework for Troubleshooting
February, 04, 2018
Sveta Smirnova
What my Family Thinks I Do
2
What my Boss Thinks I Do
3
What I Really Do
4
• Why customer’s SQL works wrongly
I Investigate
5
• Why customer’s SQL works wrongly
• Is this true with all versions?
I Investigate
5
• Why customer’s SQL works wrongly
• Is this true with all versions?
• With all branches?
I Investigate
5
• Customer’s server version
I Often Need to Test
6
• Customer’s server version
• Same major branch, but latest version
I Often Need to Test
6
• Customer’s server version
• Same major branch, but latest version
• Latest version
I Often Need to Test
6
• Customer’s server version
• Same major branch, but latest version
• Latest version
• Upstream
I Often Need to Test
6
• Customer’s server version
• Same major branch, but latest version
• Latest version
• Upstream
•
Other forks (e.g. MariaDB)
I Often Need to Test
6
• Customer’s server version
• Same major branch, but latest version
• Latest version
• Upstream
•
Other forks (e.g. MariaDB)
•
Same scenario
I Often Need to Test
6
Not an Option!
Test Manually?
7
• MySQL Sandbox
•
Complicated installations with single command
•
Scripts to start/stop/restart mysqld
• Does NOT enter code for you!
Solutions
8
• MySQL Sandbox
• Docker
• Runs everything you wish with single command
•
Not much version variations pre-installed
• You need to write Dockerfile if you want
Custom setup
Custom options
Run SQL inside Docker
• Does NOT check results!
Solutions
8
• MySQL Sandbox
• Docker
• MySQL Test Framework
Solutions
8
$cat mtr_test_1.test
#--source include/have_innodb.inc
source include/have_innodb.inc;
CREATE TABLE ‘t‘ (
‘id‘ int(11) NOT NULL,
‘f‘ varchar(100) DEFAULT NULL,
PRIMARY KEY (‘id‘)
) ENGINE=InnoDB;
insert into t values(12345, ’value1’), (54321, ’value2’);
select * from t;
show create table t;
drop table if exists t;
SQL you are Used to
9
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/mtr_test_2-master.opt
--transaction-isolation=read-committed
Custom Options
10
--source include/have_innodb.inc
CREATE TABLE ‘t‘ (‘id‘ int(11) NOT NULL, ‘f‘ varchar(100) DEFAULT NULL,
PRIMARY KEY (‘id‘)) ENGINE=InnoDB;
insert into t values(12345, ’value1’), (54321, ’value2’);
begin;
select * from t;
--connect(addconroot,localhost,root,,)
--connection addconroot
begin;
update t set f=’foo’ where id=12345;
commit;
--connection default
select * from t;
drop table if exists t;
Concurrent Execution
11
--source include/have_innodb.inc
CREATE TABLE ‘t‘ (‘id‘ int(11) NOT NULL, ‘f‘ varchar(100) DEFAULT NULL,
PRIMARY KEY (‘id‘)) ENGINE=InnoDB;
insert into t values(12345, ’value1’), (54321, ’value2’);
begin;
select * from t where id=12345 lock in share mode;
--connect(addconroot,localhost,root,,)
--connection addconroot
set innodb_lock_wait_timeout=3;
begin;
--error 1205
update t set f=’value3’ where id=12345;
rollback;
--connection default
rollback;
drop table if exists t;
Error Handling
12
...
--connect(addconroot,localhost,root,,)
--connection addconroot
begin;
select * from t where id=54321 for update;
--connection default
--send update t set f=’value3’ where id=54321
--connection addconroot
update t set f=’value3’ where id=12345;
--connection default
--error 1213
--reap
...
Result Processing
13
...
--exec $MYSQL_DUMP test > $MYSQL_TEST_DIR/var/tmp/mtr_amer_5.sql
--exec ls $MYSQL_TEST_DIR/var/tmp/
drop table t;
show tables;
--exec $MYSQL test < $MYSQL_TEST_DIR/var/tmp/mtr_amer_5.sql
show tables;
select * from t;
...
External Commands
14
--source include/have_innodb.inc
CREATE TABLE ‘t‘ (‘id‘ int(11) NOT NULL, ‘f‘ varchar(100) DEFAULT NULL,
PRIMARY KEY (‘id‘)) ENGINE=InnoDB;
--disable_query_log
--let $c=1
while ($c<100)
{
--eval insert into t values($c, md5($c))
--inc $c
}
--enable_query_log
Flow Control
15
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_7.test
--source include/master-slave.inc
--source include/have_innodb.inc
# We are on master
CREATE TABLE ‘t‘ (‘id‘ int(11) NOT NULL, ‘f‘ varchar(100) DEFAULT NULL,
PRIMARY KEY (‘id‘)) ENGINE=InnoDB;
insert into t values(12345, ’value1’), (54321, ’value2’);
select * from t;
show create table t;
--connection slave
--vertical_results
show slave status;
--connection master
--horizontal_results
update t set f=’foo’;
Replication from the Box
16
#We are on master
--sync_slave_with_master
#We are on slave
select * from t;
--connection master
drop table if exists t;
--sync_slave_with_master
stop slave;
Replication from the Box
16
• On master
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_7-master.opt
--gtid_mode=ON --log-slave-updates --enforce-gtid-consistency --binlog-format=row
Replication Options
17
• On master
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_7-master.opt
--gtid_mode=ON --log-slave-updates --enforce-gtid-consistency --binlog-format=row
• On slave
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_7-slave.opt
--gtid_mode=ON --log-slave-updates --enforce-gtid-consistency --binlog-format=row
Replication Options
17
--let $rpl_topology= 1->2,2->3,3->1
--source include/rpl_init.inc
Any Complicated Setup
18
--let $rpl_topology= 1->2,2->3,3->1
--source include/rpl_init.inc
# On server 1
--let $rpl_connection_name= server_1
--source include/rpl_connection.inc
create table t1(id int) engine=innodb;
insert into t1 values(1);
Any Complicated Setup
18
--let $rpl_topology= 1->2,2->3,3->1
--source include/rpl_init.inc
# On server 1
--let $rpl_connection_name= server_1
--source include/rpl_connection.inc
create table t1(id int) engine=innodb;
insert into t1 values(1);
# On server 2
--let $rpl_connection_name= server_2
--source include/rpl_connection.inc
create table t2(id int) engine=innodb;
insert into t2 values(2);
# On server 3
--let $rpl_connection_name= server_3
--source include/rpl_connection.inc
create table t3(id int) engine=innodb;
insert into t3 values(3);
Any Complicated Setup
18
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_9.cnf
!include ../../rpl/my.cnf
Complicated Replication Options
19
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_9.cnf
!include ../../rpl/my.cnf
[mysqld.1]
log-slave-updates
gtid_mode=ON
enforce-gtid-consistency
Complicated Replication Options
19
sveta@delly:~/build/ps-5.7/mysql-test$ cat suite/mtr_test/t/rpl_mtr_test_9.cnf
!include ../../rpl/my.cnf
[mysqld.1]
log-slave-updates
gtid_mode=ON
enforce-gtid-consistency
[mysqld.2]
master-info-repository=TABLE
relay-log-info-repository=TABLE
log-slave-updates
gtid_mode=ON
enforce-gtid-consistency
[mysqld.3]
# Third server options
[ENV]
SERVER_MYPORT_3= @mysqld.3.port
SERVER_MYSOCK_3= @mysqld.3.socket
Complicated Replication Options
19
sveta@delly:~/build/ps-5.7/mysql-test$ ./mtr --suite=your_suite your_test
Logging: ./mtr
MySQL Version 5.7.19
...
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
create table t1(f1 int);
insert into t1 values(1);
select * from t1;
f1
1
drop table t1;
your_suite.your_test [ pass ] 45802
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 45.802 of 61 seconds executing testcases
Run by Single Command
20
• Record result:
sveta@delly:~/build/ps-5.7/mysql-test$ ./mtr --record --suite=your_suite your_test
Logging: ./mtr
MySQL Version 5.7.19
Checking supported features...
...
==============================================================================
TEST RESULT TIME (ms) or COMMENT
--------------------------------------------------------------------------
worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
your_suite.your_test [ pass ] 45802
--------------------------------------------------------------------------
The servers were restarted 0 times
Spent 45.802 of 61 seconds executing testcases
Completed: All 1 tests were successful.
Run by Single Command
20
• mysql-scripts
On Any Number of Servers
21
• mysql-scripts
•
Run tests: do test.sh
On Any Number of Servers
21
• mysql-scripts
•
Run tests: do test.sh
• With single version
$ cp suite/mtr_test/t/mtr_test_1.test ~/src/tests/t
$ do_test.sh -b ps-5.7
Logging: ./mysql-test-run.pl --record --force mtr_test_1
MySQL Version 5.7.19
...
On Any Number of Servers
21
• mysql-scripts
•
Run tests: do test.sh
•
With multiple versions
$ do_test.sh -b ps-5.7 -b ps-5.6 -b ps-5.5
Logging: ./mysql-test-run.pl --record --force mtr_test_1
MySQL Version 5.7.19
Checking supported features...
...
On Any Number of Servers
21
• mysql-scripts
•
Run tests: do test.sh
• Archive: ar test.sh
On Any Number of Servers
21
• mysql-scripts
•
Run tests: do test.sh
• Archive: ar test.sh
• Copy to remote box: scp test.sh
On Any Number of Servers
21
• SQL Syntax
• Custom commands
• Any complicated setups
• Runs everything automatically
•
Checks results
MySQL Test Framework
22
dev.mysql.com/doc/dev/mysql-server/latest/PAGE_MYSQL_TEST_RUN.html
https://github.com/svetasmirnova/mysql-scripts
https://github.com/svetasmirnova/mtr_test
http://www.slideshare.net/SvetaSmirnova
https://twitter.com/svetsmirnova
Thank you!
23
DATABASE PERFORMANCE
MATTERS

More Related Content

More from Sveta Smirnova (20)

Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
Sveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
Sveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
Sveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
Sveta Smirnova
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
Sveta Smirnova
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
Sveta Smirnova
 
Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?
Sveta Smirnova
 
Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?
Sveta Smirnova
 
MySQL Performance Schema in Action: the Complete Tutorial
MySQL Performance Schema in Action: the Complete TutorialMySQL Performance Schema in Action: the Complete Tutorial
MySQL Performance Schema in Action: the Complete Tutorial
Sveta Smirnova
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Производительность MySQL для DevOps
 Производительность MySQL для DevOps Производительность MySQL для DevOps
Производительность MySQL для DevOps
Sveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
Sveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
Sveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения PerconaСовременному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Современному хайлоду - современные решения: MySQL 8.0 и улучшения Percona
Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
Sveta Smirnova
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
Sveta Smirnova
 
Что нужно знать о трёх топовых фичах MySQL
Что нужно знать  о трёх топовых фичах  MySQLЧто нужно знать  о трёх топовых фичах  MySQL
Что нужно знать о трёх топовых фичах MySQL
Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
Sveta Smirnova
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
Sveta Smirnova
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
Sveta Smirnova
 
Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?Optimizer Histograms: When they Help and When Do Not?
Optimizer Histograms: When they Help and When Do Not?
Sveta Smirnova
 
Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?Billion Goods in Few Categories: how Histograms Save a Life?
Billion Goods in Few Categories: how Histograms Save a Life?
Sveta Smirnova
 
MySQL Performance Schema in Action: the Complete Tutorial
MySQL Performance Schema in Action: the Complete TutorialMySQL Performance Schema in Action: the Complete Tutorial
MySQL Performance Schema in Action: the Complete Tutorial
Sveta Smirnova
 

Recently uploaded (20)

Essentials of Resource Planning in a Downturn
Essentials of Resource Planning in a DownturnEssentials of Resource Planning in a Downturn
Essentials of Resource Planning in a Downturn
OnePlan Solutions
 
Maximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdfMaximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdf
Elena Mia
 
Providing Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better DataProviding Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better Data
Safe Software
 
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
BradBedford3
 
Automating Map Production With FME and Python
Automating Map Production With FME and PythonAutomating Map Production With FME and Python
Automating Map Production With FME and Python
Safe Software
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Best Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small BusinessesBest Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small Businesses
TheTelephony
 
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptxIMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
usmanch7829
 
Key AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence CompaniesKey AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence Companies
Mypcot Infotech
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 WebinarPorting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
COBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM CertificateCOBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM Certificate
VICTOR MAESTRE RAMIREZ
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3
Gaurav Sharma
 
FME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable InsightsFME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable Insights
Safe Software
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Who will create the languages of the future?
Who will create the languages of the future?Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentricIntegration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Natan Silnitsky
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdfdp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 
Essentials of Resource Planning in a Downturn
Essentials of Resource Planning in a DownturnEssentials of Resource Planning in a Downturn
Essentials of Resource Planning in a Downturn
OnePlan Solutions
 
Maximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdfMaximizing Business Value with AWS Consulting Services.pdf
Maximizing Business Value with AWS Consulting Services.pdf
Elena Mia
 
Providing Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better DataProviding Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better Data
Safe Software
 
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
Maintaining + Optimizing Database Health: Vendors, Orchestrations, Enrichment...
BradBedford3
 
Automating Map Production With FME and Python
Automating Map Production With FME and PythonAutomating Map Production With FME and Python
Automating Map Production With FME and Python
Safe Software
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Best Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small BusinessesBest Inbound Call Tracking Software for Small Businesses
Best Inbound Call Tracking Software for Small Businesses
TheTelephony
 
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptxIMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
IMAGE CLASSIFICATION USING CONVOLUTIONAL NEURAL NETWORK.P.pptx
usmanch7829
 
Key AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence CompaniesKey AI Technologies Used by Indian Artificial Intelligence Companies
Key AI Technologies Used by Indian Artificial Intelligence Companies
Mypcot Infotech
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 WebinarPorting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
COBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM CertificateCOBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM Certificate
VICTOR MAESTRE RAMIREZ
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3Software Engineering Process, Notation & Tools Introduction - Part 3
Software Engineering Process, Notation & Tools Introduction - Part 3
Gaurav Sharma
 
FME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable InsightsFME for Climate Data: Turning Big Data into Actionable Insights
FME for Climate Data: Turning Big Data into Actionable Insights
Safe Software
 
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Meet You in the Middle: 1000x Performance for Parquet Queries on PB-Scale Dat...
Alluxio, Inc.
 
Who will create the languages of the future?
Who will create the languages of the future?Who will create the languages of the future?
Who will create the languages of the future?
Jordi Cabot
 
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentricIntegration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Natan Silnitsky
 
dp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdfdp-700 exam questions sample docume .pdf
dp-700 exam questions sample docume .pdf
pravkumarbiz
 

MySQL Test Framework for Support and Bugs Work