MySQL Database Service Webinar: Installing Drupal in oci with mdsFrederic Descamps
How to Install Drupal in OCI using MySQL Database Service.
Discover in this talk two ways to install Drupal on OCI using MDS:
- easy way: using Resource Manager Stacks
- usual way: creating everything manually
Présentation de MySQL 8.0 est des nouveautés récentes dans les toutes dernières versions ainsi que des informations sur la prochaine beta du MySQL Operator for Kubernetes
Pi Day 2022 - from IoT to MySQL HeatWave Database ServiceFrederic Descamps
HeatWave is a massively parallel, high performance, in-memory query accelerator for Oracle MySQL Database Service that accelerates MySQL performance by orders of magnitude for analytics and mixed workloads. But how do you collect data from an Internet of Things Environment so you can use HeatWave to process it? In one hour you will see how data collected by a Raspberry PI or other Internet of Things device can be uploaded to the MySQL Database Service and then processed by HeatWave.
MySQL Database Service Webinar: Installing Drupal in oci with mdsFrederic Descamps
How to Install Drupal in OCI using MySQL Database Service.
Discover in this talk two ways to install Drupal on OCI using MDS:
- easy way: using Resource Manager Stacks
- usual way: creating everything manually
Présentation de MySQL 8.0 est des nouveautés récentes dans les toutes dernières versions ainsi que des informations sur la prochaine beta du MySQL Operator for Kubernetes
Pi Day 2022 - from IoT to MySQL HeatWave Database ServiceFrederic Descamps
HeatWave is a massively parallel, high performance, in-memory query accelerator for Oracle MySQL Database Service that accelerates MySQL performance by orders of magnitude for analytics and mixed workloads. But how do you collect data from an Internet of Things Environment so you can use HeatWave to process it? In one hour you will see how data collected by a Raspberry PI or other Internet of Things device can be uploaded to the MySQL Database Service and then processed by HeatWave.
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersFrederic Descamps
Usually it seems Python developers don't always think about MySQL as their first choice.... However when test test it with the right connector and MySQL 8.0 they love it !
Join this talk to learn how Python with mysql-connector-python can take advantages of MySQL 8.0.
This means using Standard MySQL Protocol but much nicer the X Protocol. During this session you will see how you can use MySQL Document Store and MySQL as RDBMS on the same session to benefits from both worlds.
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
Logical dumps are becoming popular again. MySQL Shell parallel dump & load utility changed to way to deal with logical dumps, certainly when using instances in the cloud. MySQL 8.0 released also an awesome physical snapshot feature with CLONE.
In this session, I will show how to use these two ways of saving your data and how to use the generated backup to perform point-in-time recovery like a rockstar with MySQL 8.0 in 2022 !
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
Nobody complains that the database is too fast. But when things slow down, the complaints come quickly. The two most popular approaches to speeding up queries are indexes and histograms. But there are so many options and types on indexes that it can get confusing. Histograms are fairly new to MySQL but they do not work for all types of data. This talk covers how indexes and histograms work and show you how to test just how effective they are so you can measure the performance of your queries.
UAE MySQL Users Group Meet-up : MySQL Shell Document Store & more...Frederic Descamps
Discover MySQL 8.0 Document Store and how to use CRUD operations from the MySQL Shell. Also discover how to extend the MySQL Shell with User Defined Reports and Plugins
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
MySQL InnoDB Cluster is a very easy HA solution to deploy. However it's also a very customizable solution able to respond to most needs. During this session I will give an overview of settings that you may tune like those related to quorum lost, level of consistency, but also some you may not know like how to change recovery system, effect of increasing the event horizon. We will also discus about maintenance operations like how to stream large transactions, how to deal with DDL in multi-primary environments...
Here is the list of all important MySQL functions. Each function has been explained along with suitable example.
*
MySQL Group By Clause - The MySQL GROUP BY statement is used along with the SQL aggregate functions like SUM to provide means of grouping the result dataset by certain database table column(s).
*
MySQL IN Clause - This is a clause which can be used alongwith any MySQL query to specify a condition.
*
MySQL BETWEEN Clause - This is a clause which can be used alongwith any MySQL query to specify a condition.
*
MySQL UNION Keyword - Use a UNION operation to combine multiple result sets into one.
*
MySQL COUNT Function - The MySQL COUNT aggregate function is used to count the number of rows in a database table.
*
MySQL MAX Function - The MySQL MAX aggregate function allows us to select the highest (maximum) value for a certain column.
*
MySQL MIN Function - The MySQL MIN aggregate function allows us to select the lowest (minimum) value for a certain column.
*
MySQL AVG Function - The MySQL AVG aggregate function selects the average value for certain table column.
*
MySQL SUM Function - The MySQL SUM aggregate function allows selecting the total for a numeric column.
*
MySQL SQRT Functions - This is used to generate a square root of a given number.
*
MySQL RAND Function - This is used to generate a random number using MySQL command.
*
MySQL CONCAT Function - This is used to concatenate any string inside any MySQL command.
*
MySQL DATE and Time Functions - Complete list of MySQL Date and Time related functions.
*
MySQL Numeric Functions - Complete list of MySQL functions required to manipulate numbers in MySQL.
*
MySQL String Functions - Complete list of MySQL functions required to manipulate strings in MySQL.
State of the Dolphin 2020 - 25th Anniversary of MySQL with 8.0.20Frederic Descamps
This is the online live version of the State of The Dolphin during Percona Live Online in May 2020.Discover what's new in MySQL 8.0, the Document Store, CTEs, Window Functions, Lateral, JSON_TABLE, the new Volcano Iterator, EXPLAIN ANLYZE, HASH JOIN, the new double write buffer, binlog compression, InnoDB Cluster, InnoDB ReplicaSet, DNS-SRV.... and last but not least our Contributors who made MySQL 8.0 so Great !
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...Frederic Descamps
MySQL Document Store enables us to work with SQL relational tables and schema-less JSON collections. So instead of having a mixed bag of databases, you can just rely on MySQL, where the JSON documents can be stored in collections and managed with CRUD operations. All you need to do is install the X plugin. In this session, you will learn what a document store is, how to install and use it, and all the reasons for considering it. We will also see several specific features helping developers and illustrate how the usual MySQL DBA can manage this new world.
MySQL Tech Café #8: MySQL 8.0 for Python DevelopersFrederic Descamps
Usually it seems Python developers don't always think about MySQL as their first choice.... However when test test it with the right connector and MySQL 8.0 they love it !
Join this talk to learn how Python with mysql-connector-python can take advantages of MySQL 8.0.
This means using Standard MySQL Protocol but much nicer the X Protocol. During this session you will see how you can use MySQL Document Store and MySQL as RDBMS on the same session to benefits from both worlds.
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
Logical dumps are becoming popular again. MySQL Shell parallel dump & load utility changed to way to deal with logical dumps, certainly when using instances in the cloud. MySQL 8.0 released also an awesome physical snapshot feature with CLONE.
In this session, I will show how to use these two ways of saving your data and how to use the generated backup to perform point-in-time recovery like a rockstar with MySQL 8.0 in 2022 !
Open Source 101 2022 - MySQL Indexes and HistogramsFrederic Descamps
Nobody complains that the database is too fast. But when things slow down, the complaints come quickly. The two most popular approaches to speeding up queries are indexes and histograms. But there are so many options and types on indexes that it can get confusing. Histograms are fairly new to MySQL but they do not work for all types of data. This talk covers how indexes and histograms work and show you how to test just how effective they are so you can measure the performance of your queries.
UAE MySQL Users Group Meet-up : MySQL Shell Document Store & more...Frederic Descamps
Discover MySQL 8.0 Document Store and how to use CRUD operations from the MySQL Shell. Also discover how to extend the MySQL Shell with User Defined Reports and Plugins
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
MySQL InnoDB Cluster is a very easy HA solution to deploy. However it's also a very customizable solution able to respond to most needs. During this session I will give an overview of settings that you may tune like those related to quorum lost, level of consistency, but also some you may not know like how to change recovery system, effect of increasing the event horizon. We will also discus about maintenance operations like how to stream large transactions, how to deal with DDL in multi-primary environments...
Here is the list of all important MySQL functions. Each function has been explained along with suitable example.
*
MySQL Group By Clause - The MySQL GROUP BY statement is used along with the SQL aggregate functions like SUM to provide means of grouping the result dataset by certain database table column(s).
*
MySQL IN Clause - This is a clause which can be used alongwith any MySQL query to specify a condition.
*
MySQL BETWEEN Clause - This is a clause which can be used alongwith any MySQL query to specify a condition.
*
MySQL UNION Keyword - Use a UNION operation to combine multiple result sets into one.
*
MySQL COUNT Function - The MySQL COUNT aggregate function is used to count the number of rows in a database table.
*
MySQL MAX Function - The MySQL MAX aggregate function allows us to select the highest (maximum) value for a certain column.
*
MySQL MIN Function - The MySQL MIN aggregate function allows us to select the lowest (minimum) value for a certain column.
*
MySQL AVG Function - The MySQL AVG aggregate function selects the average value for certain table column.
*
MySQL SUM Function - The MySQL SUM aggregate function allows selecting the total for a numeric column.
*
MySQL SQRT Functions - This is used to generate a square root of a given number.
*
MySQL RAND Function - This is used to generate a random number using MySQL command.
*
MySQL CONCAT Function - This is used to concatenate any string inside any MySQL command.
*
MySQL DATE and Time Functions - Complete list of MySQL Date and Time related functions.
*
MySQL Numeric Functions - Complete list of MySQL functions required to manipulate numbers in MySQL.
*
MySQL String Functions - Complete list of MySQL functions required to manipulate strings in MySQL.
State of the Dolphin 2020 - 25th Anniversary of MySQL with 8.0.20Frederic Descamps
This is the online live version of the State of The Dolphin during Percona Live Online in May 2020.Discover what's new in MySQL 8.0, the Document Store, CTEs, Window Functions, Lateral, JSON_TABLE, the new Volcano Iterator, EXPLAIN ANLYZE, HASH JOIN, the new double write buffer, binlog compression, InnoDB Cluster, InnoDB ReplicaSet, DNS-SRV.... and last but not least our Contributors who made MySQL 8.0 so Great !
OpenExpo Virtual Experience 2020: MySQL 8.0 Document Store - Discovery of a n...Frederic Descamps
MySQL Document Store enables us to work with SQL relational tables and schema-less JSON collections. So instead of having a mixed bag of databases, you can just rely on MySQL, where the JSON documents can be stored in collections and managed with CRUD operations. All you need to do is install the X plugin. In this session, you will learn what a document store is, how to install and use it, and all the reasons for considering it. We will also see several specific features helping developers and illustrate how the usual MySQL DBA can manage this new world.
MySQL 8.0 : High Availability Solution for EverybodyFrederic Descamps
WePay & MySQL Virtual Meetup: check how easy it's do deploy and High Available Solution for your MySQL Database using MySQL Shell.
Abandon complex architectures and opt for turnkey solutions supported by MySQL.
A solution for all your needs and constraints...
Session presented at Oracle Developer Live - MySQL, 2020. Recording available at https://developer.oracle.com/developer-live/mysql/
Abstract:
MySQL Shell is the new, advanced command-line client and editor for MySQL. It sends SQL statements to MySQL server, supports both the classic MySQL protocol and the newer X protocol, and provides scripting capabilities for JavaScript and Python. But there's more to MySQL Shell than meets the eye. It delivers a natural and powerful interface for all DevOps tasks related to MySQL by providing APIs for development and administration. This session covers MySQL Shell's core features, along with demonstrations of how to use the various APIs and how to extend MySQL Shell. We’ll address the regular interaction with databases, the built-in tools that make DBAs and developers’ lives easier, the easy and flawless set up of HA architectures, and the plugins and extensions framework.
Embedding WPE WebKit - from Bring-up to MaintenanceIgalia
Embedded devices have become powerful enough to run Web content a decade ago,
and any modern SoC that can run Linux and includes a GPU is a potential
candidate to hide a Web engine under the surface. How did it made it there?
Does it only show Web content? What else can it do? The talk will cover
bring-up tips to build and get WPE WebKit working on your custom embedded
device and make your own simple Web browser, as well as the best practices for
keeping the system up to date. No less important is integration with the rest
of the system: this session will detail the possibilities that WebKit brings to
the table, including how to add new JavaScript APIs which call into native code
to provide tight, performant access to platform functionality.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBFQ/embedding-wpe-webkit-from-bring-up-to-maintenance-adrian-perez-de-castro-igalia
MySQL 8.0 is the latest Generally Available version of MySQL. This session will help you upgrade from older versions, understand what utilities are available to make the process smoother and also understand what you need to bear in mind with the new version and considerations for possible behavior changes and solutions.
Webex APIs for Administrators - CL20B - DEVNET-2610Cisco DevNet
In this session, we will explore the administrative capabilities of Webex APIs with real-world use cases covering Webex Teams, Meetings and Devices.
We'll dive into the latest Webex admin and compliance APIs, but also will dig into the possibilities offered for cloud-registered devices.
We’ll also cover how to manage long-lasting API access token thanks to Webex OAuth Integration.
This session is aimed at Webex administrators, compliance officers, and Cisco collaboration endpoints owners.
EMC World 2016 - code.09 Introduction to the Docker Platform{code}
History is repeating itself with disruptive software infrastructure platforms taking over in the data center. This session will cover the Docker platform, reviewing each Docker project focused on incremental innovation and providing developers and operations the ability to run, deploy, manage and monitor containers. Learn all about Docker Engine, Machine, Compose, Swarm, Hub, Trusted Registry and more! Demos of each product will be provided as well as how each tie into EMC II technology.
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
Oracle's MySQL solutions make it easy to setup various database architectures and achieve high availability with the introduction MySQL InnoDB Cluster and MySQL InnoDB ReplicaSet meeting various high availability requirements. MySQL InnoDB ClusterSet provides a popular disaster recovery solution.
Completely built in-house and supported by Oracle, many enterprises large and small have adopted these solutions into business critical applications.
In this presentation the various database architecture solutions for high availability and disaster recovery will be covered and help you choose the right solutions based on your business requirements.
MySQL Router - Explore The Secrets (MySQL Belgian Days 2024)Miguel Araújo
Talk given at MySQL Belgian Days 2024.
The goal of this talk is to describe Router's architecture, highlight its role/features in MySQL Architectures, and go through other features that are less known and/or new, namely:
- Group Replication notifications
- Connection sharing/reuse
- TLS Session caching
- REST API
- MRS
- RW Splitting
Cisco Collaboration Devices propose not only immersive telepresence but are also highly customizable and configurable, providing multiple ways to integrate with room amenities like lighting, shades and projectors as well as providing customized user/presenter controls.
Join this talk to discover how to build and deploy custom User Interface controls using xAPI & Macros for CE and RoomOS powered devices
This session is aimed at Cisco Collaboration Endpoints administrators, Webex administrators and Application developers.
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!Miguel Araújo
Talk given at MySQL Belgian Days 2024.
Covers all the MySQL Architectures supported to ensure business continuity with a focus on business requirements, tecnicalities, and features: InnoDB Cluster, InnoDB ClusterSet, InnoDB Cluster Read Replicas and InnoDB ReplicaSet.
A special focus is given on the AdminAPI of MySQL Shell, with its main features, recommendations, and the latest additions and features.
Since the introduction of replication in MySQL, users have been trying to automate the promotion of a replica to a primary as well as automating the failover of TCP connections from one database server to another in the event of a database failure: planned or unplanned. For over a decade, users and organizations have designed various types of solutions to achieve this. Though, many of these solutions were done manually or were using third party software, mostly open source, to automate and integrate various architectures.
For more than 5 years now, MySQL offers complete and very easy-to-use solutions to set up database architectures that provide High-Availability and recently added Disaster Recovery capabilities. Completely built in-house and supported by Oracle, many enterprises large and small have adopted these solutions into business-critical applications.
Business requirements dictate what type of database architecture is required for your system. Disaster tolerance is key and can be measured at different levels: data loss, data availability, and uptime. In this session, the various MySQL Database Architecture solutions will be covered to help you choose the right solution based on your business requirements
Jump into Squeak - Integrate Squeak projects with Docker & Githubhubx
Squeak projects are hard to explore for new Smalltalk programmers. We propose a system that lowers entry barriers and provides
an experience comparable to the of web demos. Our system integrates
into Github and provides Git support for Squeak
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...Frederic Descamps
Découvrez un nouveau monde où l'on peut gérer ses données sans la moindre ligne de SQL.
MySQL Document Store utilise le nouveau protocol MySQL X, qui est également présent avec MySQL Database Service sur OCI, et permet aux développeurs d'écrire du code simple et efficace.
Mais attention, si nécessaire, MySQL Document Store peut également traiter les document JSON comme s'ils étaient des tables relationnelles et permettre des requêtes très poussées...
Percona Live 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
From a single MySQL instance to multi-site high availability, this is what you will find out in this presentation. You will learn how to make this transition and which solutions best suit changing business requirements (RPO, RTO). Recently, MySQL has extended the possibilities for easy deployment of architecture with integrated tools. Come and discover these open source solutions that are part of MySQL.
In this tutorial, we cover the different deployment possibilities of the MySQL architecture depending on the business requirements for the data. We also deploy some architecture and see how to evolve to the next one.
The tutorial covers the new MySQL Solutions like InnoDB ReplicaSet, InnoDB Cluster, and InnoDB ClusterSet.
LinuxFest Northwest 2022 - The Evolution of a MySQL Database SystemFrederic Descamps
At the beginning of a project, the database is just a single MySQL instance (maybe not even running on its own hardware)... but with the evolution of the business requirements, the database must change to also meet the new targets of data loss and uptime. During this session we will follow the journey of a single MySQL server from the simple instance to a High Available Architecture with multi-site Disaster Recovery. We will discover easy manageable native solutions like MySQL InnoDB ReplicaSet, MySQL InnoDB Cluster and MySQL InnoDB ClusterSet. The session is also illustrated with commands and examples.
D'une simple instance MysQL à une haute-disponibilité multi-sites, voici ce que vous décrouvrirez dans cette présentation. Comment effectuer cette transition et quelles solutions conviennent les mieux aux évolutions des exigences commerciales (RPO, RTO). Récemment, MySQL a étendu les possibilités de déploiement aisé d'architecture avec des outils intégrés. Venez découvrir ces solution Open Source qui font partie de MySQL.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
3. Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purpose only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied up in
making purchasing decisions. The development, release, timing and pricing of any features
or functionality described for Oracle´s product may change and remains at the sole
discretion of Oracle Corporation.
Copyright @ 2021 Oracle and/or its affiliates.
3
4. Who am I ?
about.me/lefred
Copyright @ 2021 Oracle and/or its affiliates.
4
6. Frédéric Descamps
@lefred
MySQL Evangelist
Managing MySQL since 3.20
devops believer
living in Belgium
h ps://lefred.be
Copyright @ 2021 Oracle and/or its affiliates.
DISCLAIMER: I'm not a Magento Developer
5
7. What is Magento ?
Open-Source E-Commerce
Copyright @ 2021 Oracle and/or its affiliates.
6
8. Magento
Magento is an open-source e-commerce platform wri en in PHP.
It uses multiple other PHP frameworks such as Laminas and Symfony.
Magento source code is distributed under Open Software License v3.0.
The source code is available on GitHub: h ps://github.com/magento/magento2
Magento supports MySQL 8.0 since version 2.4.0 (July 28th 2020).
Copyright @ 2021 Oracle and/or its affiliates.
7
9. Magento (2)
From the website, there is a warning about Magento not supporting GTIDs...
This is not a problem since MySQL 8.0.13. In OCI, MDS uses the latest MySQL version.
Copyright @ 2021 Oracle and/or its affiliates.
8
14. Requirements
an Internet Connection
an OCI account
you can get a free trial on h ps://www.oracle.com/mysql/
Copyright @ 2021 Oracle and/or its affiliates.
11
15. Requirements
an Internet Connection
an OCI account
you can get a free trial on h ps://www.oracle.com/mysql/
Copyright @ 2021 Oracle and/or its affiliates.
11
16. Requirements
an Internet Connection
an OCI account
you can get a free trial on h ps://www.oracle.com/mysql/
Nothing else !
Copyright @ 2021 Oracle and/or its affiliates.
11
18. It's Easy !
Installing Magento on OCI with MySQL Database Service
Copyright @ 2021 Oracle and/or its affiliates.
13
19. OCI Resource Manager - stack
Download the Terraform stack from h ps://github.com/lefred/oci-magento-mds:
Copyright @ 2021 Oracle and/or its affiliates.
14
20. OCI Resource Manager - stack (2)
Download the Terraform stack from h ps://github.com/lefred/oci-magento-mds:
Copyright @ 2021 Oracle and/or its affiliates.
15
21. OCI Resource Manager - stack (3)
Or click directly on the deploy bu on from the main GitHub page:
Copyright @ 2021 Oracle and/or its affiliates.
16
22. OCI Resource Manager - stack (4)
If you choose the rst option you need to go to the Resource Manager section, if you
clicked on the "Deploy to Oracle Cloud" bu on you will be directly redirect to the right
section.
Copyright @ 2021 Oracle and/or its affiliates.
17
23. OCI Resource Manager - stack (5)
Follow the wizard by rst accepting the Oracle Terms of Use:
Copyright @ 2021 Oracle and/or its affiliates.
18
28. OCI Resource Manager - stack (10)
It's possible to deploy di erent architectures:
Copyright @ 2021 Oracle and/or its affiliates.
23
29. Possible Architectures - Single Magento Server
MySQL Database Service Instance
VCN
10.0.0.0/16
Magento
Private Subnet
10.0.1.0/24
Public Subnet
10.0.0.0/24
OpenDistroES
Copyright @ 2021 Oracle and/or its affiliates.
24
30. Possible Architectures - Multiple Magento Servers
Sharing one single MDS instance
MySQL Database Service Instance
VCN
10.0.0.0/16
Magento
Private Subnet
10.0.1.0/24
Public Subnet
10.0.0.0/24
OpenDistroES
Magento
Magento
Copyright @ 2021 Oracle and/or its affiliates.
25
31. Possible Architectures - Multiple Magento Servers (2)
Using dedicated MDS instance per Webservers
MySQL Database Service Instance
VCN
10.0.0.0/16
Magento
Public Subnet
10.0.0.0/24
OpenDistroES
MySQL Database Service Instance
OpenDistroES
MySQL Database Service Instance
Private Subnet
10.0.1.0/24
OpenDistroES
Magento
Magento
Copyright @ 2021 Oracle and/or its affiliates.
26
32. OCI Resource Manager - stack (11)
It's also possible to use existing resources:
Copyright @ 2021 Oracle and/or its affiliates.
27
33. OCI Resource Manager - Plan
Now we can plan the Terraform architecture and see if we don't have errors:
Copyright @ 2021 Oracle and/or its affiliates.
28
34. OCI Resource Manager - Plan (2)
Copyright @ 2021 Oracle and/or its affiliates.
29
35. OCI Resource Manager - Apply
Time to deploy !
Copyright @ 2021 Oracle and/or its affiliates.
30
36. OCI Resource Manager - Apply (2)
Terraform is creating all resources on OCI...
Copyright @ 2021 Oracle and/or its affiliates.
31
37. OCI Resource Manager - New
It's now possible to also directly apply the stack when creating it:
Copyright @ 2021 Oracle and/or its affiliates.
32
39. OCI Resource Manager - Output (2)
All done, the required information can be always retrieved from the Outputs section.
You can also retrieve the ssh key to connect to the Magento Webserver on this screen.
Copyright @ 2021 Oracle and/or its affiliates.
34
46. Magento - Connecting in SSH
Get the generated SSH Private Key:
Copyright @ 2021 Oracle and/or its affiliates.
41
47. Magento - Connecting in SSH
Get the generated SSH Private Key:
Paste it into a le on your local machine (oci.key).
Copyright @ 2021 Oracle and/or its affiliates.
41
48. Magento - Connecting in SSH (2)
[fred@imac ~/keys] $ chmod 600 oci.key
[fred@imac ~/keys] $ ssh -i oci.key opc@130.xx.xx.xxx
The authenticity of host '130.xx.xx.xxx (130.xx.xx.xxx)' can't be established.
ECDSA key ngerprint is SHA256:+gVvfYsXMfqoUEHuw6myhIfm9ov748jN+Vf20zr573o.
Are you sure you want to continue connecting (yes/no/[ ngerprint])? yes
Warning: Permanently added '130.xx.xx.xxx' (ECDSA) to the list of known hosts.
Activate the web console with: systemctl enable --now cockpit.socket
Last login: Mon Mar 15 11:38:21 2021 from 132.xxx.xxx.xxx
[opc@magentoserver1 ~]$
Copyright @ 2021 Oracle and/or its affiliates.
42
49. Magento - Install Cron Jobs
[opc@magentoserver1 ~]$ cd /var/www/html
[opc@magentoserver1 html]$ sudo -u apache bin/magento cron:install
Crontab has been generated and saved
Copyright @ 2021 Oracle and/or its affiliates.
43
50. Magento - Install Cron Jobs
[opc@magentoserver1 ~]$ cd /var/www/html
[opc@magentoserver1 html]$ sudo -u apache bin/magento cron:install
Crontab has been generated and saved
If you want to retrieve the admin URI:
[opc@magentoserver1 html]$ sudo -u apache bin/magento info:adminuri
Admin URI: /admin_1s35px
Copyright @ 2021 Oracle and/or its affiliates.
43
52. Adding Data
We will add Magento2's sample data to our installation:
[opc@magentoserver1 ~]$ sudo dnf -y install git
...
[opc@magentoserver1 ~]$ cd /var/www/html/
[opc@magentoserver1 html]$ sudo -u apache git
clone https://github.com/magento/magento2-sample-data
...
[opc@magentoserver1 html]$ sudo -u apache php -f
magento2-sample-data/dev/tools/build-sample-data.php
-- --ce-source="/var/www/html/"
All symlinks you can see at les:
/var/www/html/magento2-sample-data/dev/tools/exclude.log
Copyright @ 2021 Oracle and/or its affiliates.
45
53. Adding Data (2)
We also need to increase the max memory allowed for PHP processes:
[opc@magentoserver1 html]$ sudo sed -i
's/memory_limits*=.*/memory_limit=512M/g' /etc/php.ini
[opc@magentoserver1 html]$ sudo systemctl reload httpd
Copyright @ 2021 Oracle and/or its affiliates.
46
54. Adding Data (2)
We also need to increase the max memory allowed for PHP processes:
[opc@magentoserver1 html]$ sudo sed -i
's/memory_limits*=.*/memory_limit=512M/g' /etc/php.ini
[opc@magentoserver1 html]$ sudo systemctl reload httpd
And we can now nish the installation of the sample data:
[opc@magentoserver1 html]$ sudo -u apache bin/magento setup:upgrade
...
block_html: 1
full_page: 1
Nothing to import.
[opc@magentoserver1 html]$ sudo -u apache bin/magento cache: ush
Copyright @ 2021 Oracle and/or its affiliates.
46
57. HeatWave dramatically speeds up MySQL queries
400G, 64 cores
(*)Benchmark queries are derived from TPC-H benchmark, but results are not comparable to published TPC-H benchmark results since they do not comply with TPC-H speci cation.
Copyright @ 2021 Oracle and/or its affiliates.
49
58. HeatWave dramatically speeds up MySQL queries
400G, 64 cores
(*)Benchmark queries are derived from TPC-H benchmark, but results are not comparable to published TPC-H benchmark results since they do not comply with TPC-H speci cation.
Copyright @ 2021 Oracle and/or its affiliates.
49
59. Deploying MySQL HeatWave
First, we need to add HeatWave Cluster to the MDS instance:
Copyright @ 2021 Oracle and/or its affiliates.
50
60. Deploying MySQL HeatWave (2)
You need to deploy the MDS instance using a shape ready for HeatWave like MySQL.HeatWave.VM.Standard.E3
Copyright @ 2021 Oracle and/or its affiliates.
51
64. Using MySQL HeatWave
Let's verify that HeatWave is ready:
SQL> SHOW GLOBAL STATUS LIKE 'rapid_plugin_bootstrapped';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| rapid_plugin_bootstrapped | YES |
+---------------------------+-------+
1 row in set (0.0018 sec)
Copyright @ 2021 Oracle and/or its affiliates.
55
65. Using MySQL HeatWave (2)
Some new status variables available:
SQL> show status like 'rapid%' ;
+---------------------------------+------------+
| Variable_name | Value |
+---------------------------------+------------+
| rapid_change_propagation_status | ON |
| rapid_cluster_ready_number | 2 |
| rapid_cluster_status | ON |
| rapid_core_count | 16 |
| rapid_heap_usage | 67109005 |
| rapid_load_progress | 100.000000 |
| rapid_net_authentication | ON |
| rapid_plugin_bootstrapped | YES |
| rapid_preload_stats_status | Available |
| rapid_query_of oad_count | 0 |
| rapid_service_status | ONLINE |
+---------------------------------+------------+
Copyright @ 2021 Oracle and/or its affiliates.
56
66. Using MySQL HeatWave (2)
Some new status variables available:
SQL> show status like 'rapid%' ;
+---------------------------------+------------+
| Variable_name | Value |
+---------------------------------+------------+
| rapid_change_propagation_status | ON |
| rapid_cluster_ready_number | 2 |
| rapid_cluster_status | ON |
| rapid_core_count | 16 |
| rapid_heap_usage | 67109005 |
| rapid_load_progress | 100.000000 |
| rapid_net_authentication | ON |
| rapid_plugin_bootstrapped | YES |
| rapid_preload_stats_status | Available |
| rapid_query_of oad_count | 0 |
| rapid_service_status | ONLINE |
+---------------------------------+------------+
Copyright @ 2021 Oracle and/or its affiliates.
57
67. Using MySQL HeatWave (3)
Some new tables in Performance_Schema are also available:
SQL> show tables like 'rpd%';
+-------------------------------------+
| Tables_in_performance_schema (rpd%) |
+-------------------------------------+
| rpd_column_id |
| rpd_columns |
| rpd_exec_stats |
| rpd_nodes |
| rpd_preload_stats |
| rpd_query_stats |
| rpd_table_id |
| rpd_tables |
+-------------------------------------+
Copyright @ 2021 Oracle and/or its affiliates.
58
68. Choosing the tables to be used with HeatWave
It's necessary to tell to MySQL which tables can be used for HeatWave.
I will use all the catalog tables.
This is an example using catalog_product_index_price:
SQL> ALTER TABLE catalog_product_index_price SECONDARY_ENGINE = RAPID;
SQL> ALTER TABLE catalog_product_index_price SECONDARY_LOAD;
Copyright @ 2021 Oracle and/or its affiliates.
59
69. MySQL HeatWave
To see if HeatWave is used, we can verify the status variable rapid_query_of oad_count:
SQL> SHOW STATUS LIKE 'rapid_query_of oad%' ;
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| rapid_query_of oad_count | 3 |
+---------------------------+-------+
1 row in set (0.0015 sec)
Copyright @ 2021 Oracle and/or its affiliates.
60
70. MySQL HeatWave (2)
As some queries were o oaded to HeatWave, we can also see which ones:
SQL> SELECT query_text, JSON_PRETTY(QEXEC_TEXT)
FROM performance_schema.rpd_query_statsG
************************** 1. row ***************************
query_text: SELECT MAX(count) AS `count` FROM (
SELECT count(value_table.value_id) AS `count`
FROM `catalog_product_entity_varchar` AS `value_table`
GROUP BY `entity_id`,
`store_id`) AS `max_value`
json_pretty(QEXEC_TEXT): {
"timings": {
"queryEndTime": "2021-03-17 09:26:29.208009",
"queryStartTime": "2021-03-17 09:26:29.016203",
"joinOrderStartTime": "2021-03-17 09:26:29.016116"
},
...
Copyright @ 2021 Oracle and/or its affiliates.
61
71. MySQL HeatWave (3) - comparison
We can try the query with or without HeatWave to compare:
Copyright @ 2021 Oracle and/or its affiliates.
62
72. MySQL HeatWave (3) - comparison
We can try the query with or without HeatWave to compare:
Copyright @ 2021 Oracle and/or its affiliates.
SQL> SELECT MAX(count) AS `count` FROM (SELECT count(value_table.value_id)
AS `count` FROM `catalog_product_entity_varchar` AS `value_table`
GROUP BY `entity_id`, `store_id`) AS `max_value`;
+-------+
| count |
+-------+
| 10 |
+-------+
1 row in set (0.0507 sec)
SQL> SET SESSION use_secondary_engine=OFF;
SQL> SELECT MAX(count) AS `count` FROM (SELECT count(value_table.value_id)
AS `count` FROM `catalog_product_entity_varchar` AS `value_table`
GROUP BY `entity_id`, `store_id`) AS `max_value`;
+-------+
| count |
+-------+
| 10 |
+-------+
1 row in set (2.3843 sec)
62
73. Magento & MySQL HeatWave - maintenance
For some operations, like reindexing everything, Magento runs some DDL that are not
supported while HeatWave is active.
So if you encounter errors similar to this one:
SQLSTATE[HY000]: General error: 3890 DDLs on a table with a secondary engine
de ned are not allowed., query was:
TRUNCATE TABLE `catalog_category_product_index_store1_replica`
Product Categories index process unknown error
You only need to disable HeatWave for the time of the maintenance:
SQL> ALTER TABLE catalog_product_index_store1 SECONDARY_ENGINE NULL;
Copyright @ 2021 Oracle and/or its affiliates.
63
74. Magento & MySQL HeatWave - maintenance (2)
You can now perform the index maintenance task:
$ sudo -u apache bin/magento indexer:reindex catalog_product_price
Product Price index has been rebuilt successfully in 00:14:03
And active again HeatWave:
SQL> ALTER TABLE catalog_product_index_store1 SECONDARY_ENGINE = RAPID;
SQL> ALTER TABLE catalog_product_index_store1 SECONDARY_LOAD;
Copyright @ 2021 Oracle and/or its affiliates.
64
75. Want to improve the
performance of slow
queries ?
Sign up for a performance health check
mysql.com/healthcheck
Copyright @ 2021 Oracle and/or its affiliates.
65