MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
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.
This talk includes best practices.
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Miguel Araújo
MySQL InnoDB ClusterSet brings multi-datacenter capabilities to our solutions and make it very easy to setup a disaster recovery architecture. Think multiple MySQL InnoDB Clusters into one single database architecture, fully managed from MySQL Shell and with full MySQL Router integration to make it easy to access the entire architecture.
This presentation covers:
- The various features of InnoDB Clusterset
- How to setup MySQL InnoDB ClusterSet
- Ways to migrate from an existing MySQL InnoDB Cluster into MySQL InnoDB ClusterSet
- How to deal with various failures
- The various features of router integration which makes connection to the database architecture easy.
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 !
This is the presentation delivered by Karthik.P.R at MySQL User Camp Bangalore on 09th June 2017. ProxySQL is a high performance MySQL Load Balancer Designed to scale database servers.
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
Following MySQL InnoDB Cluster as our first, fully integrated MySQL High Availability solution based on Group Replication, MySQL Shell 8.0.19 includes MySQL InnoDB ReplicaSet which delivers another complete solution, this time based on MySQL Replication.
The basic idea for InnoDB ReplicaSet is to do the same for classic MySQL Replication as InnoDB Cluster did for Group Replication. We take a strong technology that is very powerful but can be complex, and provide 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.
This is a presentation at Bengaluru TechDay -October2019 for Oracle Database Admin and Architects presented by Karthik P R ( CEO Mydbops ). He explains the possible High Availability options in MySQL ecosystem.
https://www.meetup.com/All-India-Oracle-Users-Group-Bangalore-Chapter/events/265252214/
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMiguel Araújo
MySQL InnoDB ClusterSet brings multi-datacenter capabilities to our solutions and makes it very easy to set up a disaster recovery architecture. Think multiple MySQL InnoDB Clusters into one single database architecture, fully managed from MySQL Shell and with full MySQL Router integration to make it easy to access the entire architecture.
This presentation covers the various solutions of MySQL for High Availability, Replication, and Disaster Recovery, with a special focus on InnoDB ClusterSet:
- The various features of InnoDB Clusterset
- How to setup MySQL InnoDB ClusterSet
- Ways to migrate from an existing MySQL InnoDB Cluster into MySQL InnoDB ClusterSet
- How to deal with various failures
- The various features of router integration make the connection to the database architecture easy.
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
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.
This talk includes best practices.
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Miguel Araújo
MySQL InnoDB ClusterSet brings multi-datacenter capabilities to our solutions and make it very easy to setup a disaster recovery architecture. Think multiple MySQL InnoDB Clusters into one single database architecture, fully managed from MySQL Shell and with full MySQL Router integration to make it easy to access the entire architecture.
This presentation covers:
- The various features of InnoDB Clusterset
- How to setup MySQL InnoDB ClusterSet
- Ways to migrate from an existing MySQL InnoDB Cluster into MySQL InnoDB ClusterSet
- How to deal with various failures
- The various features of router integration which makes connection to the database architecture easy.
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 !
This is the presentation delivered by Karthik.P.R at MySQL User Camp Bangalore on 09th June 2017. ProxySQL is a high performance MySQL Load Balancer Designed to scale database servers.
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
Following MySQL InnoDB Cluster as our first, fully integrated MySQL High Availability solution based on Group Replication, MySQL Shell 8.0.19 includes MySQL InnoDB ReplicaSet which delivers another complete solution, this time based on MySQL Replication.
The basic idea for InnoDB ReplicaSet is to do the same for classic MySQL Replication as InnoDB Cluster did for Group Replication. We take a strong technology that is very powerful but can be complex, and provide 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.
This is a presentation at Bengaluru TechDay -October2019 for Oracle Database Admin and Architects presented by Karthik P R ( CEO Mydbops ). He explains the possible High Availability options in MySQL ecosystem.
https://www.meetup.com/All-India-Oracle-Users-Group-Bangalore-Chapter/events/265252214/
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMiguel Araújo
MySQL InnoDB ClusterSet brings multi-datacenter capabilities to our solutions and makes it very easy to set up a disaster recovery architecture. Think multiple MySQL InnoDB Clusters into one single database architecture, fully managed from MySQL Shell and with full MySQL Router integration to make it easy to access the entire architecture.
This presentation covers the various solutions of MySQL for High Availability, Replication, and Disaster Recovery, with a special focus on InnoDB ClusterSet:
- The various features of InnoDB Clusterset
- How to setup MySQL InnoDB ClusterSet
- Ways to migrate from an existing MySQL InnoDB Cluster into MySQL InnoDB ClusterSet
- How to deal with various failures
- The various features of router integration make the connection to the database architecture easy.
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Mydbops
MySQL Clustering over InnoDB engines has grown a lot over the last decade. Galera began working with InnoDB early and then Group Replication came to the environment later, where the features are now rich and robust. This presentation offers a technical comparison of both of them.
Group Replication went Generally Available end of 2016, it introduces a 'synchronous' active:active multi-master eplication, in addition to asynchronous and semi-synchronous replication, the latter 2 being available in in MySQL for longtime.
As with any new feature, and especially with introducing active:active multi-master replication, it takes a while before companies are adopting the software in production database environment.
For example, even though MySQL 5.7 has been GA for more than a year, adoption is only starting to increase recently.
We can, and should, expect the same from Group Replication. As with every release, bugs will be found, and with new features, best practises still need to formed out of practical experience.
After giving a short introduction on what Group Replication is, I will cover my experience so far in evaluating Group Replication.
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.
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
To get better replication speed and less lag, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK. But fully benefiting from this feature is not as simple as just enabling it.
In this talk, I explain in detail how this feature works. I also cover how to optimize parallel replication and the improvements made in MySQL 8.0 and back-ported in 5.7 (Write Sets), greatly improving the potential for parallel execution on replicas (but needing RBR).
Come to this talk to get all the details about MySQL 5.7 and 8.0 Parallel Replication.
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorJean-François Gagné
Of course there is no such thing as perfect service discovery, and we will see why in the talk. However, the way ProxySQL is deployed in this case minimizes the risk for split-brains, and this is why I qualify it as almost perfect. But let’s step back a little...
MySQL alone is not a high availability solution. To provide resilience to primary failure, other components need to be integrated with MySQL. At MessageBird, these additional components are ProxySQL and Orchestrator. In this talk, we describe how ProxySQL is architectured to provide close to perfect Service Discovery and how this, combined with Orchestrator, allows for automatic failover. The talk presents the details of the integration of MySQL, ProxySQL and Orchestrator in Google Cloud (and it would be easy to re-implement a similar architecture at other cloud vendors or on-premises). We will also cover lessons learned for the 2 years this architecture has been in production. Come to this talk to learn more about MySQL high availability, ProxySQL and Orchestrator.
MySQL 8 High Availability with InnoDB ClustersMiguel Araújo
MySQL’s InnoDB cluster provides a high-level, easy-to-use solution for MySQL high availability. Combining MySQL Group Replication with MySQL Router and the MySQL Shell into an integrated solution, InnoDB clusters offer easy setup and management of MySQL instances into a fault-tolerant database service. In this session learn how to set up a basic InnoDB cluster, integrate it with applications, and recognize and react to common failure scenarios that would otherwise lead to a database outage.
- Workshop presentation
ProxySQL - High Performance and HA Proxy for MySQLRené Cannaò
High Availability proxy designed to solve real issues of MySQL setups from small to very large production environments.
Presentation at Percona Live Amsterdam 2015
MySQL Administrator
Basic course
- MySQL 개요
- MySQL 설치 / 설정
- MySQL 아키텍처 - MySQL 스토리지 엔진
- MySQL 관리
- MySQL 백업 / 복구
- MySQL 모니터링
Advanced course
- MySQL Optimization
- MariaDB / Percona
- MySQL HA (High Availability)
- MySQL troubleshooting
네오클로바
http://neoclova.co.kr/
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
Take a look at the High Availability option that you can use with your out-of-the-box MySQL: MySQL InnoDB Cluster. With MySQL Server 8.0, MySQL Shell & MySQL Router you can convert from single-primary to multi-primary and back again, in a single command. Want to know how?
MySQL has multiple timeouts variables to control its operations. This presentation focus on the purpose of each timeout variables and how it can be used.
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Mydbops
MySQL Clustering over InnoDB engines has grown a lot over the last decade. Galera began working with InnoDB early and then Group Replication came to the environment later, where the features are now rich and robust. This presentation offers a technical comparison of both of them.
Group Replication went Generally Available end of 2016, it introduces a 'synchronous' active:active multi-master eplication, in addition to asynchronous and semi-synchronous replication, the latter 2 being available in in MySQL for longtime.
As with any new feature, and especially with introducing active:active multi-master replication, it takes a while before companies are adopting the software in production database environment.
For example, even though MySQL 5.7 has been GA for more than a year, adoption is only starting to increase recently.
We can, and should, expect the same from Group Replication. As with every release, bugs will be found, and with new features, best practises still need to formed out of practical experience.
After giving a short introduction on what Group Replication is, I will cover my experience so far in evaluating Group Replication.
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.
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
To get better replication speed and less lag, MySQL implements parallel replication in the same schema, also known as LOGICAL_CLOCK. But fully benefiting from this feature is not as simple as just enabling it.
In this talk, I explain in detail how this feature works. I also cover how to optimize parallel replication and the improvements made in MySQL 8.0 and back-ported in 5.7 (Write Sets), greatly improving the potential for parallel execution on replicas (but needing RBR).
Come to this talk to get all the details about MySQL 5.7 and 8.0 Parallel Replication.
Almost Perfect Service Discovery and Failover with ProxySQL and OrchestratorJean-François Gagné
Of course there is no such thing as perfect service discovery, and we will see why in the talk. However, the way ProxySQL is deployed in this case minimizes the risk for split-brains, and this is why I qualify it as almost perfect. But let’s step back a little...
MySQL alone is not a high availability solution. To provide resilience to primary failure, other components need to be integrated with MySQL. At MessageBird, these additional components are ProxySQL and Orchestrator. In this talk, we describe how ProxySQL is architectured to provide close to perfect Service Discovery and how this, combined with Orchestrator, allows for automatic failover. The talk presents the details of the integration of MySQL, ProxySQL and Orchestrator in Google Cloud (and it would be easy to re-implement a similar architecture at other cloud vendors or on-premises). We will also cover lessons learned for the 2 years this architecture has been in production. Come to this talk to learn more about MySQL high availability, ProxySQL and Orchestrator.
MySQL 8 High Availability with InnoDB ClustersMiguel Araújo
MySQL’s InnoDB cluster provides a high-level, easy-to-use solution for MySQL high availability. Combining MySQL Group Replication with MySQL Router and the MySQL Shell into an integrated solution, InnoDB clusters offer easy setup and management of MySQL instances into a fault-tolerant database service. In this session learn how to set up a basic InnoDB cluster, integrate it with applications, and recognize and react to common failure scenarios that would otherwise lead to a database outage.
- Workshop presentation
ProxySQL - High Performance and HA Proxy for MySQLRené Cannaò
High Availability proxy designed to solve real issues of MySQL setups from small to very large production environments.
Presentation at Percona Live Amsterdam 2015
MySQL Administrator
Basic course
- MySQL 개요
- MySQL 설치 / 설정
- MySQL 아키텍처 - MySQL 스토리지 엔진
- MySQL 관리
- MySQL 백업 / 복구
- MySQL 모니터링
Advanced course
- MySQL Optimization
- MariaDB / Percona
- MySQL HA (High Availability)
- MySQL troubleshooting
네오클로바
http://neoclova.co.kr/
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
Take a look at the High Availability option that you can use with your out-of-the-box MySQL: MySQL InnoDB Cluster. With MySQL Server 8.0, MySQL Shell & MySQL Router you can convert from single-primary to multi-primary and back again, in a single command. Want to know how?
MySQL has multiple timeouts variables to control its operations. This presentation focus on the purpose of each timeout variables and how it can be used.
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
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 !
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...
Slides from the MySQL Cluster 8.0 tutorial given at MySQL preFOSDEM days in Brussels, January 2020.
There is an accompanying text file with commands and example output.
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.
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.
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.
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
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
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
2. MySQL Shell : the best DBA tool ?
How to use MySQL Shell as a framework for DBAs
Frédéric Descamps
Community Manager
MySQL
September 2019
2 / 69
3.
Safe Harbor
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.
Statement in this presentation relating to Oracle´s future plans, expectations, beliefs, intentions and ptospects
are "forward-looking statements" and are subject to material risks and uncertainties. A detailed discussion of
these factors and other risks that a ect our business is contained in Oracle´s Securities and Exchange
Commission (SEC) lings, including our most recent reports on Form 10-K and Form 10-Q under the heading
"Risk Factors". These lings are available on the SEC´s website or on Oracle´s website at
h p://www.oracle.com/investor. All information in this presentation is current as of September 2019 and Oracle
undertakes no duty to update any statement in light of new information or future events.
Copyright @ 2019 Oracle and/or its affiliates.
3 / 69
6. a new tool
MySQL Shell
Copyright @ 2019 Oracle and/or its affiliates.
6 / 69
7. MySQL Shell
The MySQL Shell is an interactive Javascript, Python, or SQL interface supporting
development and administration for the MySQL Server and is a component of the MySQL
Server. You can use the MySQL Shell to perform data queries and updates as well as
various administration operations.
Copyright @ 2019 Oracle and/or its affiliates.
7 / 69
8. MySQL Shell (2)
The MySQL Shell provides:
Copyright @ 2019 Oracle and/or its affiliates.
8 / 69
9. MySQL Shell (2)
The MySQL Shell provides:
Both Interactive and Batch operations
Copyright @ 2019 Oracle and/or its affiliates.
9 / 69
10. MySQL Shell (2)
The MySQL Shell provides:
Both Interactive and Batch operations
Document and Relational Models
Copyright @ 2019 Oracle and/or its affiliates.
10 / 69
11. MySQL Shell (2)
The MySQL Shell provides:
Both Interactive and Batch operations
Document and Relational Models
CRUD Document and Relational APIs via scripting
Copyright @ 2019 Oracle and/or its affiliates.
11 / 69
12. MySQL Shell (2)
The MySQL Shell provides:
Both Interactive and Batch operations
Document and Relational Models
CRUD Document and Relational APIs via scripting
Traditional Table, JSON, Tab Separated output results formats
Copyright @ 2019 Oracle and/or its affiliates.
12 / 69
13. MySQL Shell (2)
The MySQL Shell provides:
Both Interactive and Batch operations
Document and Relational Models
CRUD Document and Relational APIs via scripting
Traditional Table, JSON, Tab Separated output results formats
MySQL Standard and X Protocols
Copyright @ 2019 Oracle and/or its affiliates.
13 / 69
14. MySQL Shell (2)
The MySQL Shell provides:
Both Interactive and Batch operations
Document and Relational Models
CRUD Document and Relational APIs via scripting
Traditional Table, JSON, Tab Separated output results formats
MySQL Standard and X Protocols
and more...
Copyright @ 2019 Oracle and/or its affiliates.
14 / 69
15. MySQL Shell Overview
PY
JS
SQL
>
MySQL 8.0
Upgrade Checker
Auto Completion
&
Command History
Output
Formats
(table, json, tabs)
Prompt
Themes
Batch
Execution
5.7
8.0
JS
Document
Store
X dev API
SQL CLI InnoDB
Cluster
importJSON
JSJS
parallel
importTABLE
data
Copyright @ 2019 Oracle and/or its affiliates.
15 / 69
17. Install MySQL Shell
the package's name to install is mysql-shell
you always need to use the latest available even with a lower MySQL Server version
latest version if 8.0.17, use it even with MySQL 5.7.x
Shell
Copyright @ 2019 Oracle and/or its affiliates.
17 / 69
18. Start a beautiful Shell
The default prompts is basic, we provide several di erent prompt examples.
# cp /usr/share/mysqlsh/prompt/prompt_256pl+aw.json ~/.mysqlsh/prompt.json
Then start the mysqlsh:
Copyright @ 2019 Oracle and/or its affiliates.
18 / 69
19. Some configuration tips
These are some se ings I usually use:
mysql-js> shell.options.setPersist('history.autoSave', 1)
mysql-js> shell.options.setPersist('history.maxSize', 5000)
You can swithc to all 3 di erent modes using:
py for Python
js for Javascript
sql for SQL
If you have a preferred mode, you can specify it like this:
mysql-js> shell.options.setPersist('defaultMode', 'sql')
Copyright @ 2019 Oracle and/or its affiliates.
19 / 69
20. Util
The MySQL Shell comes with a global object called util. This object is used to perform
some dedicated DBA tasks like:
Checking if the server's con guration and schema design is compatible with next
MySQL version (checkForServerUpdrade())
Importing JSON documents, like exports from MondoDB (importJSON())
Importing table dumps in parallel (importTable())
Con guring OCI pro le (con gureOCI())
Copyright @ 2019 Oracle and/or its affiliates.
20 / 69
21. Admin API
The Admin API is used to con gure MySQL instances to be part of a MySQL InnoDB
Cluster.
It also creates and manage clusters.
More Info: h ps://lefred.be/content/mysql-innodb-cluster-from-scratch-even-more-
easy-since-8-0-17/
Copyright @ 2019 Oracle and/or its affiliates.
21 / 69
22. Admin API in action
Copyright @ 2019 Oracle and/or its affiliates.
22 / 69
23. we want more !
Extending MySQL Shell
Copyright @ 2019 Oracle and/or its affiliates.
23 / 69
24. MySQL Shell and Javascript
In JS mode, it's also possible to load some pure Javascript modules installed in sys.path:
Copyright @ 2019 Oracle and/or its affiliates.
24 / 69
25. MySQL Shell and Javascript (2)
The module has to be pure JS (not node.JS) modules:
Copyright @ 2019 Oracle and/or its affiliates.
25 / 69
26. MySQL Shell and Javascript (3)
Then your module can be loaded and used like this:
Copyright @ 2019 Oracle and/or its affiliates.
26 / 69
27. MySQL Shell and Python
When using the python mode in the Shell, it's even possible to use system modules (local).
Copyright @ 2019 Oracle and/or its affiliates.
27 / 69
28. MySQL Shell and Python (2)
Of course this can be any type of modules:
Copyright @ 2019 Oracle and/or its affiliates.
28 / 69
29. MySQL Shell and Python (2)
Of course this can be any type of modules:
Copyright @ 2019 Oracle and/or its affiliates.
29 / 69
30. Extending MySQL Shell
Since 8.0.17, you have 3 di erent ways to extend the MySQL Shell:
using the new Reporting Framework (>= 8.0.16)
create your own modules to extend MySQL Shell (obsolete)
create your own plugins that will be completely integrated in all supported interpreters
(>= 8.0.17)
8.0
Copyright @ 2019 Oracle and/or its affiliates.
30 / 69
31. MySQL Shell User-Defined Reports
You can create reports that are called once on demand (show) or constantly refreshed
(watch).
Example for checking the LOCKS:
Copyright @ 2019 Oracle and/or its affiliates.
31 / 69
32. MySQL Shell User-Defined Reports (2)
This is a Python le (locks_info.py) installed in ~/.mysqlsh/init.d:
It contains a de nition and a registration:
def locks_info(session):
query = session.sql("select ...")
...
return {'report': report}
shell.register_report(
'locks_info',
'list',
locks_info,
{
'brief': 'Shows Locks.',
'details': ['You need the SELECT privilege on sys.session view and the ..'],
'argc': '0'
}
)
Copyright @ 2019 Oracle and/or its affiliates.
32 / 69
33. MySQL Shell User-Defined Reports (3)
User-De ned Reports can be called from any MySQL Shell mode, even SQL:
Copyright @ 2019 Oracle and/or its affiliates.
33 / 69
34. MySQL Shell User-Defined Reports (4)
More info:
h ps://lefred.be/content/using-the-new-mysql-shell-reporting-framework-to-
monitor-innodb-cluster/
h ps://lefred.be/content/mysql-innodb-cluster-recovery-process-monitoring-with-
the-mysql-shell-reporting-framework/
Copyright @ 2019 Oracle and/or its affiliates.
34 / 69
35. MySQL Shell User-Defined Reports (4)
Sources of Examples:
h ps://github.com/lefred/mysql-shell-udr
Pull Requests welcome !
Copyright @ 2019 Oracle and/or its affiliates.
35 / 69
36. Why should I extend the MySQL Shell with
plugins?
For calling some long statements or group of operations or sometimes to replace a
missing functionality.
Copyright @ 2019 Oracle and/or its affiliates.
36 / 69
37. Why should I extend the MySQL Shell with
plugins?
For calling some long statements or group of operations or sometimes to replace a
missing functionality.
Recently, somebody pointed out that since the new DD it was not anymore possible to
delete all routines for a speci c schema.
Copyright @ 2019 Oracle and/or its affiliates.
37 / 69
38. Why should I extend the MySQL Shell with
plugins?
For calling some long statements or group of operations or sometimes to replace a
missing functionality.
Recently, somebody pointed out that since the new DD it was not anymore possible to
delete all routines for a speci c schema.
Jesper explained how the MySQL Shell could help here see
h ps://mysql.wisborg.dk/2018/12/02/mysql-8-drop-several-stored-events-procedures-
or-functions/
Copyright @ 2019 Oracle and/or its affiliates.
38 / 69
39. Using a plugin within MySQL Shell
Plugins are available from the ext global object:
Copyright @ 2019 Oracle and/or its affiliates.
39 / 69
40. Using a plugin within MySQL Shell (2)
Help is automatically available:
Copyright @ 2019 Oracle and/or its affiliates.
40 / 69
41. Using a plugin within MySQL Shell (3)
Plugins are available from JS and Python, regardless of the language in which they are
wri en:
Copyright @ 2019 Oracle and/or its affiliates.
41 / 69
42. Using a plugin wi thin MySQL Shell (4)
The help goes from the plugin to its methods:
Copyright @ 2019 Oracle and/or its affiliates.
42 / 69
43. Using a plugin within MySQL Shell (5)
And nally the plugin in action:
Copyright @ 2019 Oracle and/or its affiliates.
43 / 69
44. Using a plugin within MySQL Shell (5)
And nally the plugin in action:
Copyright @ 2019 Oracle and/or its affiliates.
44 / 69
45. How to use MySQL Shell Plugins ?
Plugins must be installed inside ~/.mysqlsh/plugins/ext directory.
Several existing plugins can be found at h ps://github.com/lefred/mysqlshell-plugins
Plugins are split in di erent categories:
audit innodb_cluster router
collations maintenance schema
con guration performance security
demo proxysql support
innodb ...
Copyright @ 2019 Oracle and/or its affiliates.
45 / 69
46. Overview of some plugins
Extending MySQL Shell with Plugins
Copyright @ 2019 Oracle and/or its affiliates.
46 / 69
48. MySQL Shell: InnoDB
Which tables are potentially fragmented:
Copyright @ 2019 Oracle and/or its affiliates.
48 / 69
49. MySQL Shell: InnoDB (2)
And it can be improved using table space on disk size:
Copyright @ 2019 Oracle and/or its affiliates.
49 / 69
50. MySQL Shell: Schema
We already saw how we added methods to show and delete procedures. But recently
somebody complained about the complexity of knowing what are the default values of
columns when expressions are used (h ps://forums.mysql.com/read.php?
101,670682,670682):
Copyright @ 2019 Oracle and/or its affiliates.
50 / 69
51. MySQL Shell: Schema (2)
In MySQL 8.0, 0000-00-00 is not a valid value for a date eld anymore. We can check for
such dates in our dataset:
More Info: h ps://lefred.be/content/mysql-8-0-and-wrong-dates/
Copyright @ 2019 Oracle and/or its affiliates.
51 / 69
52. MySQL Shell: Maintenance
When using MySQL X Protocol, it's not allowed to shutdown MySQL. This plugin resolves
this limitation:
Copyright @ 2019 Oracle and/or its affiliates.
52 / 69
54. MySQL Shell: Audit (2)
Copyright @ 2019 Oracle and/or its affiliates.
54 / 69
55. MySQL Shell: Collations
When upgrading, the collation might be problematic for unique values. This plugin from
Bernt Marius Johnsen shows the non-unique values for a speci c collation:
Copyright @ 2019 Oracle and/or its affiliates.
55 / 69
56. Outside MySQL
It's also possible to interact with external tools
Copyright @ 2019 Oracle and/or its affiliates.
56 / 69
57. Monitoring MySQL Router
With the MySQL Shell and MySQL Router's REST API, it's even possible to create a plugin
to monitor the Router:
Copyright @ 2019 Oracle and/or its affiliates.
57 / 69
59. MySQL Shell and ProxySQL
It's also possible to integrate 3rd party projects directly in MySQL Shell:
Copyright @ 2019 Oracle and/or its affiliates.
59 / 69
60. MySQL Shell and ProxySQL
Copyright @ 2019 Oracle and/or its affiliates.
60 / 69
62. I am a newbie
Writing your first MySQL Shell Plugin
Copyright @ 2019 Oracle and/or its affiliates.
62 / 69
63.
Let's write an oracle 8 ball plugin
Copyright @ 2019 Oracle and/or its affiliates.
63 / 69
64. demo/oracle8ball.py
from random import randrange
def tell_me():
"""Function that prints the so expected answer
Returns:
Nothing
"""
answers = ["It is certain.", "It is decidedly so.","Without a doubt.",
"Yes - de nitely.", "You may rely on it.",
"As I see it, yes.","Most likely.","Outlook good.",
"Yes.","Signs point to yes.","Reply hazy, try again.","Ask again later.",
"Better not tell you now.","Cannot predict now.",
"Concentrate and ask again.", "Don't count on it.",
"My reply is no.","My sources say no.",
"Outlook not so good.","Very doubtful."]
print answers[randrange(20)]
Copyright @ 2019 Oracle and/or its affiliates.
64 / 69
65. demo/init.py
from ext.mysqlsh_plugins_common import register_plugin
from ext.demo import oracle8ball as oracle_8_ball
[...]
try:
register_plugin("oracle8ball", oracle_8_ball.tell_me,
{
"brief": "Get the answer from the Oracle 8 Black Ball",
"parameters": []
},
"demo"
)
except Exception as e:
shell.log("ERROR", "Failed to register ext.demo.oracle8ball ({0}).".
format(str(e).rstrip())
Copyright @ 2019 Oracle and/or its affiliates.
65 / 69
67. Ready to contribute to MySQL Shell Plugins?
Get the code from h ps://github.com/lefred/mysqlshell-plugins and Pull Requests are
welcome !
Copyright @ 2019 Oracle and/or its affiliates.
67 / 69
69. Upgrade to MySQL 8.0
It's time to upgrade to
MySQL 8.0, the fastest MySQL
adoption release ever !
Copyright @ 2019 Oracle and/or its affiliates.
69 / 69