MySQL 8.0 has many new features that you probably need to know about but don't. Like default security, window functions, CTEs, CATS (not what you think), JSON_TABLE(), and UTF8MB4 support.
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Dave Stokes
Slow query? Add an index or two! But things are suddenly even slower! Indexes are great tools to speed data lookup but have overhead issues. Histograms don’t have that overhead but may not be suited. And how you lock rows also effects performance. So what do you do to speed up queries smartly? This is a clear, detailed look at what you can do to really speed up your queries in a logical, orthogonal process. Updated Presentation for Longhorn PHP Conference October 14th, 2021
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptDave Stokes
The MySQL Shell has a JavaScript mode where you can use JS libraries to access you data and you can also write (and save) your own custom reports (or programs) for future use.
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDave Stokes
Slides from the 2021 Dutch PHP Conference on MySQL Indexes, histograms, and other things to speed up your database queries. Speeding up your database queries is mainly learning how to efficiently give the query optimizer what is needs to provide the best query plan for your data.
Longhorn PHP - MySQL Indexes, Histograms, Locking Options, and Other Ways to ...Dave Stokes
Slow query? Add an index or two! But things are suddenly even slower! Indexes are great tools to speed data lookup but have overhead issues. Histograms don’t have that overhead but may not be suited. And how you lock rows also effects performance. So what do you do to speed up queries smartly? This is a clear, detailed look at what you can do to really speed up your queries in a logical, orthogonal process. Updated Presentation for Longhorn PHP Conference October 14th, 2021
JavaScript and Friends August 20th, 20201 -- MySQL Shell and JavaScriptDave Stokes
The MySQL Shell has a JavaScript mode where you can use JS libraries to access you data and you can also write (and save) your own custom reports (or programs) for future use.
Dutch PHP Conference 2021 - MySQL Indexes and HistogramsDave Stokes
Slides from the 2021 Dutch PHP Conference on MySQL Indexes, histograms, and other things to speed up your database queries. Speeding up your database queries is mainly learning how to efficiently give the query optimizer what is needs to provide the best query plan for your data.
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Dave Stokes
Speeding up queries on a MySQL server with indexes and histograms is not a mysterious art but simple engineering. This presentation is an indepth introduction that was presented on March 30th to the Quest Insynch and Open Source 101 conferences
Data Love Conference - Window Functions for Database AnalyticsDave Stokes
16 April 2021 presentation for the Data Love Conference on Window Functions for Data Base Analytics. Examples are on MySQL but will work for other RDMS's with window functions. Assumes no user background on window functions or analytics
Confoo 2021 - MySQL Indexes & HistogramsDave Stokes
Confoo 2021 presentation on MySQL Indexes, Histograms, and other ways to speed up your queries. This slide deck has slides that may not have been included in the presentation that were omitted due to time constraints
A Step by Step Introduction to the MySQL Document StoreDave Stokes
Looking for a fast, flexible NoSQL document store? And one that runs with the power and reliability of MySQL. This is an intro on how to use the MySQL Document Store
Confoo.ca conference talk February 24th 2021 on MySQL new features found in version 8.0 including server and supporting utility updates for those who may have missed some really neat new features
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...Dave Stokes
Slow query? Add an index or two! But things are suddenly even slower! Indexes are great tools to speed data lookup but have overhead issues. Histograms don’t have that overhead but may not be suited. And how you lock rows also effects performance. So what do you do to speed up queries smartly?
Validating JSON -- Percona Live 2021 presentationDave Stokes
JSON is a free form data exchange format which can cause problems when combined with a strictly typed relational database. Thanks to the folks at https://json-schema.org and the MySQL engineers at Oracle we can no specify required fields, type checks, and range checks.
Need a preview of the exciting new features added to MySQL 8.0? Better Unicode support, better JSON and document handling. Find out what else did we improve in MySQL 8.0. Get the presentation on MySQL server 8.0.
MySQL has a set of utilities written in Python that can do some amazing things for your MySQL instances from setting up replication with automatic fail over to copying database
MySQL is a SQL database that also does NoSQL. You can access data in the InnoDB or NDB storage engines as a key/value pair at amazing speeds while retaining simultaneous SQL access of the same data. Plus MySQL 5.7 features a new native JSON data type
This presentation is an INTRODUCTION to intermediate MySQL query optimization for the Audience of PHP World 2017. It covers some of the more intricate features in a cursory overview.
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)Dave Stokes
MySQL 8 has many new features and this presentation covers the new data dictionary, improved JSON functions, roles, histograms, and much more. Updated after SunshinePHP 2018 after feedback
Open Source 1010 and Quest InSync presentations March 30th, 2021 on MySQL Ind...Dave Stokes
Speeding up queries on a MySQL server with indexes and histograms is not a mysterious art but simple engineering. This presentation is an indepth introduction that was presented on March 30th to the Quest Insynch and Open Source 101 conferences
Data Love Conference - Window Functions for Database AnalyticsDave Stokes
16 April 2021 presentation for the Data Love Conference on Window Functions for Data Base Analytics. Examples are on MySQL but will work for other RDMS's with window functions. Assumes no user background on window functions or analytics
Confoo 2021 - MySQL Indexes & HistogramsDave Stokes
Confoo 2021 presentation on MySQL Indexes, Histograms, and other ways to speed up your queries. This slide deck has slides that may not have been included in the presentation that were omitted due to time constraints
A Step by Step Introduction to the MySQL Document StoreDave Stokes
Looking for a fast, flexible NoSQL document store? And one that runs with the power and reliability of MySQL. This is an intro on how to use the MySQL Document Store
Confoo.ca conference talk February 24th 2021 on MySQL new features found in version 8.0 including server and supporting utility updates for those who may have missed some really neat new features
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...Dave Stokes
Slow query? Add an index or two! But things are suddenly even slower! Indexes are great tools to speed data lookup but have overhead issues. Histograms don’t have that overhead but may not be suited. And how you lock rows also effects performance. So what do you do to speed up queries smartly?
Validating JSON -- Percona Live 2021 presentationDave Stokes
JSON is a free form data exchange format which can cause problems when combined with a strictly typed relational database. Thanks to the folks at https://json-schema.org and the MySQL engineers at Oracle we can no specify required fields, type checks, and range checks.
Need a preview of the exciting new features added to MySQL 8.0? Better Unicode support, better JSON and document handling. Find out what else did we improve in MySQL 8.0. Get the presentation on MySQL server 8.0.
MySQL has a set of utilities written in Python that can do some amazing things for your MySQL instances from setting up replication with automatic fail over to copying database
MySQL is a SQL database that also does NoSQL. You can access data in the InnoDB or NDB storage engines as a key/value pair at amazing speeds while retaining simultaneous SQL access of the same data. Plus MySQL 5.7 features a new native JSON data type
This presentation is an INTRODUCTION to intermediate MySQL query optimization for the Audience of PHP World 2017. It covers some of the more intricate features in a cursory overview.
MySQL 8 -- A new beginning : Sunshine PHP/PHP UK (updated)Dave Stokes
MySQL 8 has many new features and this presentation covers the new data dictionary, improved JSON functions, roles, histograms, and much more. Updated after SunshinePHP 2018 after feedback
MySQL New Features -- Sunshine PHP 2020 PresentationDave Stokes
MySQL has moved to a quarterly release cycle and it can be hard to keep up with the new features. For instance, there are now multi-valued indexes for things like JSON arrays to allow for fast searches of embedded data. And there is a bulk loaded for JSON, CSV, and TSV data that works in parallel. Or support for JSON-Schame.org's JSON schema validation. Plus you no longer need to run mysql_upgrade after an upgrade as that is all automated. In addition, you can now clone InnoDB tablespaces for fast initialization of replicate data. So if you need to catch up on the latest and greatest from MySQL you need to be in this session.
We all have tasks from time to time for bulk-loading external data into MySQL. What's the best way of doing this? That's the task I faced recently when I was asked to help benchmark a multi-terrabyte database. We had to find the most efficient method to reload test data repeatedly without taking days to do it each time. In my presentation, I'll show you several alternative methods for bulk data loading, and describe the practical steps to use them efficiently. I'll cover SQL scripts, the mysqlimport tool, MySQL Workbench import, the CSV storage engine, and the Memcached API. I'll also give MySQL tuning tips for data loading, and how to use multi-threaded clients.
Talk at "Istanbul Tech Talks" in Istanbul, April, 17, 2018. http://www.istanbultechtalks.com/
In this talk I will show how to get started with MySQL Query Tuning. I will make short introduction into physical table structure and demonstrate how it may influence query execution time. Then we will discuss basic query tuning instruments and techniques, mainly EXPLAIN command with its latest variations. You will learn how to understand its output and how to rewrite query or change table structure to achieve better performance.
Database basics for new-ish developers -- All Things Open October 18th 2021Dave Stokes
Do you wonder why it takes your database to find the top five of your fifty six million customers? Do you really have a good idea of what NULL is and how to use it? And why are some database queries so quick and others frustratingly slow? Relational databases have been around for over fifty years and frustrating developers for at least forty nine of those years. This session is an attempt to explain why sometimes the database seems very fast and other times not. You will learn how to set up data (normalization) to avoid redundancies into tables by their function, how to join two tables to combine data, and why Structured Query Language is so very different than most other languages. And you will see how thinking in sets over records can greatly improve your life with a database.
MySQL Without the SQL - Oh My! August 2nd presentation at Mid Atlantic Develo...Dave Stokes
MySQL Document Store allows you to use MySQL as a JSON Document Databases without needing to set up relational tables, normalize data, or use Structured Query Language.
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
# Internet Security: Safeguarding Your Digital World
In the contemporary digital age, the internet is a cornerstone of our daily lives. It connects us to vast amounts of information, provides platforms for communication, enables commerce, and offers endless entertainment. However, with these conveniences come significant security challenges. Internet security is essential to protect our digital identities, sensitive data, and overall online experience. This comprehensive guide explores the multifaceted world of internet security, providing insights into its importance, common threats, and effective strategies to safeguard your digital world.
## Understanding Internet Security
Internet security encompasses the measures and protocols used to protect information, devices, and networks from unauthorized access, attacks, and damage. It involves a wide range of practices designed to safeguard data confidentiality, integrity, and availability. Effective internet security is crucial for individuals, businesses, and governments alike, as cyber threats continue to evolve in complexity and scale.
### Key Components of Internet Security
1. **Confidentiality**: Ensuring that information is accessible only to those authorized to access it.
2. **Integrity**: Protecting information from being altered or tampered with by unauthorized parties.
3. **Availability**: Ensuring that authorized users have reliable access to information and resources when needed.
## Common Internet Security Threats
Cyber threats are numerous and constantly evolving. Understanding these threats is the first step in protecting against them. Some of the most common internet security threats include:
### Malware
Malware, or malicious software, is designed to harm, exploit, or otherwise compromise a device, network, or service. Common types of malware include:
- **Viruses**: Programs that attach themselves to legitimate software and replicate, spreading to other programs and files.
- **Worms**: Standalone malware that replicates itself to spread to other computers.
- **Trojan Horses**: Malicious software disguised as legitimate software.
- **Ransomware**: Malware that encrypts a user's files and demands a ransom for the decryption key.
- **Spyware**: Software that secretly monitors and collects user information.
### Phishing
Phishing is a social engineering attack that aims to steal sensitive information such as usernames, passwords, and credit card details. Attackers often masquerade as trusted entities in email or other communication channels, tricking victims into providing their information.
### Man-in-the-Middle (MitM) Attacks
MitM attacks occur when an attacker intercepts and potentially alters communication between two parties without their knowledge. This can lead to the unauthorized acquisition of sensitive information.
### Denial-of-Service (DoS) and Distributed Denial-of-Service (DDoS) Attacks
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
1. MySQL 8.0 New Features
Dave Stokes
MySQL Community Manager
MySQL Community Team
Linux Foundation Open Source Summit
September 27th, 2021
1
2. Me?
✔ Started using MySQL when it first was available
✔ Used in many projects -> Open Source, used due to low $
✔ Joined MySQL AB as PHP Programmer on the Certification Team
MySQL AB -> Sun Microsystems -> Oracle
✔ MySQL Community Team
✔ MySQL 8.0 DBA & DEV Certified
✔ Live in Texas with required hound dog and pickup truck
slides -> slideshare.net/davestokes
@Stoker David.Stokes @Oracle.com
2
4. MySQL 5.6 reached ‘end of life’ status in February of 2021!
Please upgrade to MySQL 5.7 or 8.0
MySQL 5.6 EOL
4
5. Generally Available in April 2018
Releases every three months, or so
-ci/cd bandwagon
-software much more complex than the 5.5 era
-better product gets to customers quicker
Same release numbers for all products
-server, clients, connectors, router, utilities, etc.
-tested together
MySQL 8.0
5
6. No More Wondering Which Version of What to Run – now all 8.0.26
▪ In the past you had various versions for
the server, the connectors, the tools,
and etcetera.
▪ Now one release number for all
products
All tested together
Pass Q/A Together
▪ MySQL Server – Community &
Enterprise
▪ MySQL NDB Cluster
▪ MySQL Shell
▪ MySQL Workbench
▪ MySQL Router
▪ MySQL Connectors – C/C++, Java, .Net,
Node.JS, ODBC, Python & PHP
(MySQLnd & X DevAPI)
6
8. The data dictionary that stores information about
database objects.
In previous MySQL releases, dictionary data was
stored in metadata files, non transactional tables,
and storage engine-specific data dictionaries
Data Dictionary
8
9. Now stored in InnoDB storage engine.
Excellent for point in time recovery
Less inodes consumed, less mess
Data Dictionary
9
10. The good news:
You can now have millions of tables in a schema.
The bad news:
You can now have millions of tables in a schema.
Data Dictionary
10
12. mysql> EXPLAIN FORMAT=TREE SELECT * FROM t1 JOIN t2 ON t1.c1 < t2.c1G
*************************** 1. row ***************************
EXPLAIN: -> Filter: (t1.c1 < t2.c1) (cost=4.70 rows=12)
-> Inner hash join (no condition) (cost=4.70 rows=12)
-> Table scan on t2 (cost=0.08 rows=6)
-> Hash
-> Table scan on t1 (cost=0.85 rows=6)
Beginning with MySQL 8.0.18, MySQL employs a hash join for any query for
which each join has an equi-join condition, and in which there are no
indexes that can be applied
A hash join is usually faster than and is intended to be used in such
cases instead of the block nested loop algorithm ( employed in previous
versions of MySQL.
Hash Joins
12
14. NoSQL access via new protocol based on Google
Protobufs
Not an ORM
Will also work with relational data
API follows modern design practices
Using Structured Query Language or X DevAPI
MySQL as a NoSQL JSON Document Store Database
14
15. • Advanced Client and Code Editor
• Command Completion
• Extensive help support
• Three modes – SQL, Python, and JavaScript
• Admin for InnoDB Cluster and ReplicaSet Replication
• 5.7 to 8.0 upgrade checker
• Bulk loader
• Utilities for dumping schemas, or instances and restoration
MySQL Shell
15
17. ALTER TABLE t1 ALTER INDEX i_idx INVISIBLE;
ALTER TABLE t1 ALTER INDEX i_idx VISIBLE;
Invisible indexes make it possible to test the effect of removing an index on
query performance, without making a destructive change that must be undone
should the index turn out to be required.
Dropping and re-adding an index can be expensive for a large table, whereas
making it invisible and visible are fast, in-place operations.
Invisible Index
17
18. SQL > create table not_here (id serial primary key,
a int,
b int invisible);
SQL > insert into not_here (a,b) values (1,2),(3,4);
SQL > select * from not_here;
+----+---+
| id | a |
+----+---+
| 1 | 1 |
| 2 | 3 |
+----+---+
SQL > select *,b from not_here;
+----+---+---+
| id | a | b |
+----+---+---+
| 1 | 1 | 2 |
| 2 | 3 | 4 |
+----+---+---+
Invisible Column
Suppose that an application uses
SELECT * queries to access a
table, and must continue to work
without modification even if the
table is altered to add a new
column that the application does
not expect to be there.
18
19. The asynchronous connection failover mechanism to automatically establish an asynchronous
(source to replica) replication connection to a new source after the existing connection from a
replica to its source fails.
The asynchronous connection failover mechanism can be used to keep a replica synchronized
with multiple MySQL servers or groups of servers that share data.
The list of potential source servers is stored on the replica, and in the event of a connection
failure, a new source is selected from the list based on a weighted priority that you set.
Group Replication also supported!
New Async Connection Failover
19
20. CREATE USER 'bill'@'localhost' COMMENT 'Bill Johnson room 114, x 1234';
select User_attributes from mysql.user where User='bill'G
*************************** 1. row ***************************
User_attributes: {"metadata": {"comment": "Bill Johnson room 114, x
1234"}}
ALTER USER 'mary'@'localhost' ATTRIBUTE '{"email":"mary.wu@example.com"}';
select User_attributes from mysql.user where User='mary'G
*************************** 1. row ***************************
User_attributes: {"metadata": {"email": "mary.wu@example.com", "comment":
"Mary Wu room 141, x 2234"}}
User Details
20
22. These support the export of all
schemas or a selected schema
from an on-premise MySQL
instance into an Oracle Cloud
Infrastructure Object Storage
bucket or a set of local files
And they provide parallel
dumping with multiple threads
and file compression, which
are not provided by mysqldump.
Progress information is
displayed during the dump.
Shell Backup Utilities - Mysqlsh util.dumpSchemas(), util.dumpInstance(), util.dumpTables() and util.loadDump()
util.dumpInstance("/tmp/instance",
{ "showProgress" : "true" })
1 thds dumping - 100% (52.82K rows / ~52.81K rows), 0.00
rows/s, 0.00 B/s uncompressed, 0.00 B/s compressed
Duration: 00:00:00s
Schemas dumped: 4
Tables dumped: 26
Uncompressed data size: 3.36 MB
Compressed data size: 601.45 KB
Compression ratio: 5.6
Rows written: 52819
Bytes written: 601.45 KB
Average uncompressed throughput: 3.36 MB/s
Average compressed throughput: 601.45 KB/s
22
23. Transaction payloads are compressed using zstd
algorithm on server as a single transaction.
Transferred to replica in compresses state and
written to relay log in their compressed state.
Binary Log Compression
23
24. SQL > create user 'Foo'@'%' IDENTIFIED BY RANDOM PASSWORD;
+------+------+----------------------+
| user | host | generated password |
+------+------+----------------------+
| Foo | % | Ld]5/Fkn[Kk29/g/M;>n |
+------+------+----------------------+
1 row in set (0.0090 sec)
https://elephantdolphin.blogspot.com/2019/10/mysql-random-password-generation.html
Random Passwords
24
25. EXPLAIN ANALYZE select city.Name, Country.Name
FROM city
JOIN country ON (city.CountryCode = country.code)
WHERE country.code= 'GBR'
ORDER by city.name
LIMIT 5;
| EXPLAIN
|
| -> Limit: 5 row(s) (actual time=0.102..0.103 rows=5 loops=1)
-> Sort: city.Name, limit input to 5 row(s) per chunk
(cost=80.76 rows=81) (actual time=0.102..0.102 rows=5 loops=1)
-> Index lookup on city using CountryCode
(CountryCode='GBR') (actual time=0.066..0.075 rows=81 loops=1)
|
1 row in set (0.0006 sec)
EXPLAIN ANALYZE
25
26. CREATE INDEX data__nbr_idx
ON a1( (CAST(data->'$.nbr' AS UNSIGNED ARRAY)) );
A Multi-Valued Index (MVI) is a secondary index defined on a column made up of an
array of values.
We are all used to traditional indexes where you have one value per index entry, a
1:1 ratio.
A MVI can have multiple records for each index record. So you can have multiple
postal codes, phone numbers, or other attributes from one JSON document indexed
for quick access.
https://elephantdolphin.blogspot.com/2019/08/improved-mysql-query-performance-with.html
Multi-Values Indexes
26
30. ANALYZE TABLE t UPDATE HISTOGRAM ON c1, c2, c3 WITH 10 BUCKETS;
ANALYZE TABLE t DROP HISTOGRAM ON c2;
A histogram is created or updated only on demand, so it adds no overhead (unlike
an index) when table data is modified.
On the other hand, the statistics become progressively more out of date when table
modifications occur, until the next time they are updated.
Histograms
30
31. InnoDB uses the Contention-Aware Transaction Scheduling (CATS) algorithm to prioritize transactions
that are waiting for locks. When multiple transactions are waiting for a lock on the same object, the
CATS algorithm determines which transaction receives the lock first.
The CATS algorithm prioritizes waiting transactions by assigning a scheduling weight, which is
computed based on the number of transactions that a transaction blocks. For example, if two
transactions are waiting for a lock on the same object, the transaction that blocks the most
transactions is assigned a greater scheduling weight. If weights are equal, priority is given to the
longest waiting transaction.
This replaces the previous used First In First Out (FIFO) algorithm to schedule transactions.
CATS
31
32. mysql> select country_name, IndyYear
from countryinfo,
json_table(doc,"$" columns (
country_name char(20) path "$.Name",
IndyYear int path "$.IndepYear")
) as stuff
where IndyYear > 1992;
+----------------+----------+
| country_name | IndyYear |
+----------------+----------+
| Czech Republic | 1993 |
| Eritrea | 1993 |
| Palau | 1994 |
| Slovakia | 1993 |
+----------------+----------+
Better JSON Support including JSON_TABLE()
JSON_TABLE() is used for making JSON data a
temporary relational data, which is especially useful
when creating relational views over JSON data,
32
33. WITH
cte1 AS (SELECT a, b FROM table1),
cte2 AS (SELECT c, d FROM table2)
SELECT b, d FROM cte1 JOIN cte2
WHERE cte1.a = cte2.c;
Common Table Expressions or CTEs -- ..are like derived tables but the declaration is BEFORE the query
33
34. SELECT date, amount,
sum(amount)
OVER w AS ‘sum’
FROM payments
WINDOW w AS
(ORDER BY date
RANGE BETWEEN INTERVAL 1 WEEK
PRECEDING AND CURRENT ROW)
ORDER BY date;
Window Functions - More granular analysis
34
35. MySQL InnoDB cluster provides a
complete high availability solution for
MySQL.
MySQL Shell includes AdminAPI which
enables you to easily configure and
administer a group of at least three
MySQL server instances to function as
an InnoDB cluster.
Each MySQL server instance runs
MySQL Group Replication, which
provides the mechanism to replicate
data within InnoDB clusters, with
built-in failover.
InnoDB Cluster
35
36. The basic idea for InnoDB ReplicaSet is to do the same
for classic MySQL Replication as InnoDB Cluster did for
Group Replication and provides an easy-to-use
AdminAPI for it in the MySQL Shell.
In just a few easy to use Shell commands, a MySQL
Replication database architecture can be configured
from scratch including:
• Data provisioning using MySQL CLONE,
• Setting up replication
• Performing manual switchover/failover
Replica Set
36
37. The clone plugin permits cloning data locally or from a remote MySQL server instance.
Cloned data is a physical snapshot of data stored in InnoDB that includes schemas, tables,
tablespaces, and data dictionary metadata. The cloned data comprises a fully functional
data directory, which permits using the clone plugin for MySQL server provisioning.
CLONE INSTANCE FROM 'user'@'host':port IDENTIFIED BY 'password' [DATA
DIRECTORY [=] 'clone_dir'] [REQUIRE [NO] SSL];
Clone Plugin
37
40. Oracle MySQL Database Service is a fully managed database service that lets developers quickly
develop and deploy secure, cloud native applications using the world’s most popular open source
database.
Optimized for Oracle Cloud Infrastructure (OCI), MySQL Database Service is 100% built, managed,
and supported by the OCI and MySQL engineering teams.
MDS
40
41. “We have saved around 40% of our
costs and are able to reinvest that
back into the business. And we are
scaling across EMEA, and that’s
basically all because of Oracle.”
—Asser Smidt
CEO and Cofounder, BotSupply
Startups get cloud credits and a 70%
discount for 2 years, global exposure via
marketing, events, digital promotion, and
media, plus access to mentorship,
capital and Oracle’s 430,000+
customers
Customers meet vetted startups in
transformative spaces that help them
stay ahead of their competition
Oracle stays at the competitive edge
of innovation with solutions that
complement its technology stack
Oracle for Startups - enroll at oracle.com/startup
A Virtuous Cycle of Innovation, Everybody Wins.
41
47. The High Availability option enables applications to meet higher uptime requirements and zero data
loss tolerance.
When you select the High Availability option, a MySQL DB System with three instances is provisioned
across different availability or fault domains.
The data is replicated among the instances using a Paxos-based consensus protocol implemented by
the MySQL Group Replication technology.
Your application connects to a single endpoint to read and write data to the database.
In case of failure, the MySQL Database Service will automatically failover within minutes to a
secondary instance without data loss and without requiring to reconfigure the application
MDS HA
47
48. HeatWave is a tightly integrated, high performance, in-memory query accelerator for the MySQL Database Service.
It allows customers to run very fast analytics queries directly against their MySQL databases entirely avoiding the step
of data ETL into a second analytics database.
HeatWave scales out to thousands of cores, is 1,100 times faster at query performance than Amazon Aurora, and is
2.7 times faster than Amazon Redshift—at one-third the cost.
MySQL AutoPilot provides machine-learning–based automation which helps configure, optimize, and tune MySQL
HeatWave. Autopilot uses data and queries from the application workload in the machine learning model to make
predictions. It enables customers to optimally provision, load, execute queries, and recover from failure without
requiring any human intervention.
MDS Heatwave + Autopilot
48