MySQL InnoDB Cluster provides an easy-to-use high availability solution for MySQL databases. It utilizes Group Replication, which replicates data across multiple database nodes to provide redundancy and automatic failover. This allows the database to continue operating even if individual nodes fail. MySQL InnoDB Cluster handles replication, provisioning, and failover automatically without complex configuration needed for traditional asynchronous replication topologies.
Inexpensive Datamasking for MySQL with ProxySQL - data anonymization for deve...Frederic Descamps
The document discusses using ProxySQL as a solution for anonymizing data in MySQL databases. It describes how ProxySQL can mask specific columns by replacing values with partial values and characters like X. Rules are created in ProxySQL to match SQL statements and regular expressions are used to modify the statements by replacing column values with the masked values. Examples of SQL statements and the masking applied are also provided.
MySQL InnoDB Cluster and Group Replication in a NutshellFrederic Descamps
This document outlines the agenda and steps for a hands-on tutorial on MySQL InnoDB Cluster and Group Replication. The agenda includes preparing the workstation by setting up virtual machines, an overview of MySQL InnoDB Cluster and Group Replication, migrating from a master-slave topology to Group Replication, monitoring Group Replication, and application interaction with Group Replication. The first lab demonstrates the current master-slave setup. The migration plan involves installing MySQL InnoDB Cluster on a new server, restoring a backup, setting up asynchronous replication on the new server, adding it to the Group Replication group, pointing the application to a new node, and stopping asynchronous replication after catch up.
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterContinuent
Oracle’s InnoDB Cluster vs. Continuent Tungsten Clusters for MySQL
Building a Geo-Distributed, Multi-Region and Highly Available MySQL Cloud Back-End
This is the fifth of our High Noon series covering MySQL clustering solutions for high availability (HA), disaster recovery (DR), and geographic distribution.
InnoDB Cluster uses MySQL’s group replication to handle the replication. It’s also known as semi-synchronous replication. Learn about this and more in this webinar!
You may use Tungsten Clustering with native MySQL, MariaDB or Percona Server for MySQL in GCP, AWS, Azure, and/or on-premises data centers for better technological capabilities, control, and flexibility. But learn about the pros and cons!
AGENDA
- Goals for the High Noon Webinar Series
- High Noon Series: Tungsten Clustering vs Others
- Oracle InnoDB Cluster
- Key Characteristics
- Certification-based Replication
- InnoDB Cluster Multi-Site Requirements
- Limitations Using InnoDB Cluster
- How to do better MySQL HA / DR / Geo-Distribution?
- InnoDB Cluster vs Tungsten Clustering
- About Continuent & Its Solutions
PRESENTER
Matthew Lang - Customer Success Director – Americas, Continuent - has over 25 years of experience in database administration, database programming, and system architecture, including the creation of a database replication product that is still in use today. He has designed highly available, scaleable systems that have allowed startups to quickly become enterprise organizations, utilizing a variety of technologies including open source projects, virtualization and cloud.
This document discusses how MySQL helps with devops practices. It begins by defining devops and its key principles of culture, automation, measurement, and sharing. It then outlines various ways MySQL supports automation, including deployment tools, packaging, administration APIs, and monitoring features. It emphasizes the importance of culture and collaboration between teams. Overall, the document provides an overview of how MySQL aims to make devops organizations more effective.
MySQL Group Replication - HandsOn TutorialKenny Gryp
Group Replication is a plugin for MySQL that provides multi-master replication. It works by having each node send write transactions to other nodes through a group communication system. The writes are certified locally in an asynchronous manner to ensure total order of transactions across all nodes. Group Replication uses optimistic locking where local locks are released right after commit, and conflict detection happens during certification rather than at the start of transactions.
This document provides an introduction to MySQL InnoDB Cluster, which is MySQL's solution for high availability and scaling. It discusses how Group Replication, the heart of MySQL InnoDB Cluster, allows data to be written simultaneously across cluster nodes while maintaining consistency through techniques like conflict detection and resolution. The document also explains how Group Replication provides automatic recovery from failures and makes high availability easy for users to setup and manage.
Group Replication: A Journey to the Group Communication CoreAlfranio Júnior
This document discusses the journey of MySQL Group Replication from using a third-party group communication system (Corosync) to its own built-in group communication engine (XCOM) based on Paxos algorithms. It describes the key components of MySQL Group Replication including the group communication interface, XCOM engine, and optimizations in XCOM like pipelining and batching. It also provides performance results of MySQL Group Replication with multiple writers.
The document discusses MySQL Group Replication, which is a plugin that provides multi-master replication capability for MySQL. It allows data to be replicated between multiple MySQL servers so that they can stay in sync. The replication works by having each server send transaction writesets to other servers through a group communication system, and then each server certifies and applies the changes locally in an asynchronous manner.
MySQL Replication Performance Tuning for Fun and Profit!Vitor Oliveira
MySQL Replication, in addition to bringing high-availability, is the foundation to build high-performance MySQL database systems. Using read scale-out and sharding one can design systems that go from the capacity of a single server to supporting the largest internet sites. But to design and operate high-performance, efficient, manageable and reliable deployments requires knowing the intricacies of the underlying technologies.
This session will provide insights on the main factors that affect the performance of Asynchronous Replication and Group Replication, and how to configure them to make the most out of the underlying computing system. It will also show the latest developments in MySQL 5.7 and 8.0, in areas spanning from group communication to the multi-threaded slave applier, and how effective they are in helping meet the performance requirements in terms of throughput, latency and durability to support the most demanding workload types.
MySQL Document Store - when SQL & NoSQL live together... in peace!Frederic Descamps
Frédéric Descamps gave a demonstration of MySQL Document Store, showing how it allows both SQL and NoSQL functionality. He migrated sample data from MongoDB to MySQL Document Store and performed queries and CRUD operations. The conclusion is that MySQL Document Store provides the best of both worlds by combining schemaless and flexible data with ACID compliance, SQL capabilities, and data integrity.
High Availability in MySQL 8 using InnoDB ClusterSven Sandberg
InnoDB Cluster is the built-in and open-source High Availability solution for MySQL 8. It consists of three components. The engine is MySQL Group Replication: the highly available cluster of database servers. This is where your data is safe and available, due to the replicated state machine, relying on the famous Paxos protocol. At the driver's seat is MySQL Shell: the DevOp's multilingual console. Here you can deploy, query, and arrange your cluster using either Javascript or Python, to your taste. Your application is welcomed to join the ride by connecting to MySQL Router: the intelligent, seamless interface to the cluster. We introduce all three components, with a special focus on Group Replication.
Everything You Need to Know About MySQL Group ReplicationNuno Carvalho
MySQL Group Replication is a new plugin that implements an exciting extension to the proven and long standing MySQL Replication technology. It leverages advanced distributed protocols to ultimately provide to the end user features such as data replication, high availability, split brain protection and automation.
It can be deployed in single-primary mode (default), in which primary fail-over is handled gracefully and automatically, or in multi-master mode, in which row level conflicts are detected and handled automatically as well. Regardless of the deployment mode, the end result is that this new addition provides a consistent and dependable replicated state machine, thus effectively enabling a fault-tolerant MySQL database service.
At the end of the presentation, you will be able to understand how it works, the use cases it address, its limitations and also its roadmap ahead. Moreover, you will get to know how it fits in the overall high availability roadmap at MySQL.
MySQL Group Replicatio in a nutshell - MySQL InnoDB ClusterFrederic Descamps
Group Replication is a plugin that provides multi-master replication for MySQL. It allows transactions to be executed on any node and replicated in a synchronous manner to all other nodes. The changes are delivered in total order to each node using GTIDs to ensure strong consistency across the cluster. Certification and application of the changes occurs asynchronously on each node after the writeset has been synchronously delivered.
The document provides an overview of using MySQL as a document store by:
1) Supporting the JSON data type
2) Enabling CRUD operations on JSON documents
3) Developing an X-Plugin extension and X-Protocol to interface with MySQL like a NoSQL database
4) Providing a MySQL Shell interface to simplify migration of data from MongoDB to MySQL and interacting with JSON documents
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsPedro Gomes
The document discusses mixing asynchronous replication and group replication for advanced MySQL replication setups. It provides an overview of asynchronous replication, semi-synchronous replication, multi-source replication, and group replication. It then discusses some basic scenarios for mixing these technologies, such as using asynchronous replication for read scaling beyond the group's 9 member limit or aggregating data from multiple groups. The document also covers migrating from asynchronous to group replication and migrating disjoint servers into a group.
This document outlines Oracle's general product direction for MySQL and includes the following key points:
1. The information is for informational purposes only and does not represent a commitment to deliver features.
2. Oracle has sole discretion over the development, release, and timing of product features.
3. The presentation discusses MySQL's support for DevOps practices through features like InnoDB Cluster for high availability, Group Replication for multi-master replication, MySQL Shell for administration, and persisting configuration variables.
MySQL High Availability with Group ReplicationNuno Carvalho
MySQL Group Replication is a multi-master update everywhere replication plugin that provides high availability. It removes the need for handling server failover, provides fault tolerance, and automates group reconfiguration. Transactions are replicated to all group members, with conflicts detected and resolved using a first committer wins rule. Failed members automatically rejoin the group and synchronize with the others transparently. Group Replication uses the standard MySQL and InnoDB architecture, so existing users will feel familiar. It also supports features like auto-increment handling, GTIDs, secure connections, and a new single primary mode.
The document provides an overview of MySQL InnoDB Cluster and demonstrates how to set up a basic cluster. Key points include:
- MySQL InnoDB Cluster uses Group Replication to provide high availability, fault tolerance and automated recovery.
- The demo deploys 3 sandbox MySQL instances and uses the MySQL Shell to create an InnoDB cluster spanning the instances.
- By default, the cluster operates in single-primary mode, where one node acts as the primary and accepts writes. Multi-primary mode is also demonstrated.
- Status variables and queries are shown to identify the current primary node.
DataOps Barcelona - MySQL HA so easy... that's insane !Frederic Descamps
1. MySQL 8.0 InnoDB Cluster is a new high availability and scaling solution for MySQL that makes setup easy.
2. It uses Group Replication under the hood to allow writing to all nodes simultaneously while maintaining consistency.
3. Key components include MySQL Router for routing and load balancing, and MySQL Shell for administration.
This document discusses deploying MySQL InnoDB Cluster for high availability. It provides an overview of MySQL InnoDB Cluster and compares it to other MySQL and Oracle high availability solutions. It then covers topics like MySQL InnoDB Cluster architecture, example deployments, configuration settings for replication, failover consistency, network reliability and adding replicas. Finally, it discusses MySQL Router configuration and using MySQL Shell and MySQL Enterprise Backup for management and recovery.
This document discusses various ways that MySQL is used by major companies like PayPal, Tesla, and Uber. It provides the following summaries:
1. PayPal uses MySQL Cluster to power its globally distributed fraud detection system, achieving 99.999% availability and sub-second consistency across the world.
2. Tesla uses MySQL InnoDB Cluster in its critical vehicle manufacturing processes for its high availability and easy maintenance.
3. Uber uses MySQL as both a transactional and document database, storing trip data in a flexible, schemaless structure for growth and rapid development.
Solving Performance Problems Using MySQL Enterprise MonitorOracleMySQL
The document discusses using MySQL Enterprise Monitor to diagnose performance problems in a Group Replication cluster. It demonstrates creating a 3-node replication cluster using sandbox instances, loading sample data, and issuing problematic queries. It then shows how the Monitor identifies different types of performance issues from the query analyzer and detected events, including queries with full table scans, sorts, long-running queries, and replication outages.
20190615 hkos-mysql-troubleshootingandperformancev2Ivan Ma
MySQL Troubleshooting in Hong Kong Open Source Conference 2019 - how to use sys.diagnostics(...) and using the dimitri (http://dimitrik.free.fr/) Tools for performance analysis.
Get the most out of Oracle Data Guard - OOW versionLudovico Caldara
If you use Oracle Data Guard feature just for data protection, you are using less than half of its potential. You already pay for it, so why not getting the most out of it? In this session I will show how you can use Oracle Data Guard capabilities for common tasks such as database cloning, database migration and reporting, with the help of other features included in Oracle Database Enterprise Edition
MySQL Community Meetup in China : Innovation driven by the CommunityFrederic Descamps
The document discusses innovations and new features in MySQL from versions 5.7 to 8.0. Key points include:
- MySQL 5.7 introduced performance improvements, security enhancements, and JSON support. MySQL InnoDB Cluster provided out-of-the-box high availability.
- MySQL 8.0 focuses on boosting developer productivity with features like common table expressions, window functions, and improved handling of hot rows. It also makes scaling easier through improved observability and parallel replication.
- The vision is to deliver a fully-integrated solution with relational and document storage, built-in high availability, and scale-out capabilities through sharding and replication. This will be achieved in steps, with Group Re
제 8회 Oracle Developer Meetup에서 발표한 "Cloud Native Java:GraalVM"의 장표입니다. 세미나 동영상은 다음 URL에서 보실 수 있습니다.
https://www.facebook.com/OracleKorea/videos/899585790388647/UzpfSTEwMDAxNTI2OTgwNDYyODpWSzo2MDc3NTY3NDk2MzgyNDg/
This document discusses GraalVM and Java performance optimizations. It begins with an introduction to GraalVM and its benefits, such as running multiple languages on the JVM. It then covers key differences between ahead-of-time and just-in-time compilers, and how the JIT compiler in HotSpot uses profiling and dynamic compilation to optimize bytecode execution. The document also discusses how techniques like inlining help improve Java performance over time.
20190817 coscup-oracle my sql innodb cluster sharingIvan Ma
The document provides an agenda for a presentation on MySQL InnoDB Cluster. It discusses MySQL replication components, demonstrating MySQL InnoDB Cluster, network stability, operations, backup and recovery, GTID consistency, replication between clusters, and troubleshooting. It also covers MySQL innovations from version 5.7 to 8.0 and options for configuring an InnoDB Cluster, including consistency settings and member weights.
MySQL Innovation Day Chicago - MySQL HA So Easy : That's insane !!Frederic Descamps
The document is a safe harbor statement outlining Oracle's general product direction for informational purposes only. It states that Oracle has sole discretion over developing and releasing features and that nothing in the document should be relied upon for purchasing decisions. It also contains copyright information.
MySQL InnoDB cluster provides a complete high availability solution for MySQL.
MySQL Shell includes AdminAPI which enables you to easily configure and administer a group of at least three MySQL server instances to function as an InnoDB cluster.
Each MySQL server instance runs MySQL Group Replication, which provides the mechanism to replicate data within InnoDB clusters, with built-in failover.
MySQL Router can automatically configure itself based on the cluster you deploy, connecting client applications transparently to the server instances.
This document summarizes new features in MySQL replication introduced in versions 5.6 and 5.7. Key features discussed include binary log group commit for improved performance, optimized row-based replication with partial binary logging, multi-threaded slave replication, global transaction identifiers for topologies with multiple masters, transactional metadata storage, and binary log event checksums. The document provides examples and explanations of how these features improve high availability, scalability and reliability of MySQL replication deployments.
A duplicate (clone or snapshot) database is useful for a variety of purposes, most of which involve testing &
upgrade
• You can perform the following tasks in a duplicate database:
• Test backup and recovery procedures
• Test an upgrade to a new release of Oracle Database
• Test the effect of applications on database performance
• Create a standby database (Dataguard) with DG Broker
• Leverage on Transient Logical Standby to perform an upgrade
• Generate reports
How to operate MySQL InnoDB Cluster with MySQL ShellFrederic Descamps
This document provides an overview of operating and maintaining a MySQL InnoDB Cluster with MySQL Shell. It discusses node provisioning using the MySQL CLONE plugin for automatic data synchronization of new nodes. It also covers observability of cluster status using the status() method in MySQL Shell or Performance Schema tables. Cluster configuration options that can be checked and changed include global settings as well as group-specific and instance-specific settings for Group Replication. Consistency levels for the cluster are also discussed to guarantee the most up-to-date data is read without stale or dirty reads.
The document discusses NoSQL APIs in MySQL. It provides an overview of the memcached caching system and the history of the HandlerSocket protocol. It then describes the NoSQL interface introduced in MySQL 5.6, which allows for memcached-style operations on MySQL data. It notes that MySQL 5.7 further improved the performance and scalability of this interface.
Similar to Boston meetup : MySQL Innodb Cluster - May 1st 2017 (20)
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...
This document discusses how MySQL indexes and histograms can speed up queries. It begins with an introduction to the presenter and topic. The goal of reducing query response time is discussed. Methods for identifying inefficient queries are covered, including using the sys schema. The role of the MySQL optimizer in evaluating query plans is then explained. Different types of indexes that can be used to optimize queries are also outlined.
RivieraJUG - MySQL 8.0 - What's new for developers.pdfFrederic Descamps
This document summarizes Frédéric Descamps' presentation on new features in MySQL 8.0 for developers. It introduces Descamps and covers several new features in MySQL 8.0, including the new volcano iterator and optimizer refactoring, EXPLAIN ANALYZE for analyzing query performance, hash joins replacing block nested loops, common table expressions, lateral derived tables, window functions, JSON functions, table value constructors, functional indexes, invisible indexes, check constraints, expressions as default values, lock modes like NOWAIT and SKIP LOCKED, and support for generated invisible columns as primary keys.
This document provides an overview of new features and enhancements in MySQL 8.0 over the last 18 months, from versions 8.0.23 to 8.0.30. It discusses improvements to replication, Group Replication, InnoDB, and primary keys. Some key changes include a new InnoDB redo log architecture, support for disabling the redo log at runtime, parallel index builds, and the ability to add an invisible auto-increment primary key column to tables without a primary key. The document is presented by Frédéric Descamps at the MySQL User Group NL.
Frédéric Descamps presented on the state of MySQL in 2022. Some key points included:
- MySQL 8.0.29 was the latest release with improvements like IF NOT EXISTS for DDL statements.
- MySQL remains the most popular open source database according to surveys.
- MySQL HeatWave on OCI provides high performance for analytics workloads compared to other cloud offerings.
- The MySQL Operator for Kubernetes makes it easier to deploy and manage MySQL on Kubernetes.
- Upcoming certifications for MySQL 8.0 DBA and Developer were announced.
Percona Live 2022 - MySQL Shell for Visual Studio CodeFrederic Descamps
The document discusses MySQL Shell for Visual Studio Code, a new client for developers and DBAs. It provides an overview of the key features and components of the MySQL Shell extension for VS Code, including how to install and use the SQL Notebook editor, MySQL Shell Console, and its integration with Oracle Cloud Infrastructure. The document also covers how MySQL Shell plugins can still be used with the VS Code extension by copying plugins to the appropriate directory.
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.
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.
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.
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 !
The document discusses the new features of MySQL 8.0. It covers improvements to SQL functionality with common table expressions, window functions, and JSON support. It also discusses performance enhancements including hash joins, faster I/O with the new InnoDB buffer, and group replication for high availability. New features improve security, validation, indexing and usability.
The document is a presentation in French on the new features of MySQL 8.0. It discusses improvements to SQL functionality with Common Table Expressions, Window Functions, and LATERAL queries. It also covers new JSON functions and indexing, improved performance, and new management features in areas like replication, security, and error logging. The presentation provides examples and emphasizes that MySQL now supports both transactional SQL and NoSQL operations on JSON data, combining the benefits of both approaches.
This document provides a summary of updates to MySQL between October 2021 and May 2021. It discusses three releases of MySQL 8.0 (versions 8.0.23, 8.0.24, and 8.0.25) and new features including invisible columns, asynchronous replication connection failover, improved load/dump functionality in MySQL Shell, and the new MySQL Database Service on Oracle Cloud Infrastructure with HeatWave for accelerated analytics.
The document discusses MySQL Shell and how it can help database administrators (DBAs) with common tasks like deploying architectures, preparing upgrades, dumping and loading data, and managing users. MySQL Shell provides tools like the Admin API for configuring MySQL clusters and replicasets, an upgrade checker utility to validate upgrades to MySQL 8.0, and parallel dump and load functionality to backup, migrate, and reset data.
This document summarizes Frédéric Descamps' journey to add a user to the router_rest_accounts table to authenticate with the MySQL Router REST API. After several failed attempts using generated or external passwords, he learns directly from the MySQL Router development team that the REST API supports using the default MySQL 8.0 authentication string or the modular_crypt_format for password hashes, allowing simple password insertion.
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data.
The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs.
Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution!
Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.
How to Avoid Learning the Linux-Kernel Memory ModelScyllaDB
The Linux-kernel memory model (LKMM) is a powerful tool for developing highly concurrent Linux-kernel code, but it also has a steep learning curve. Wouldn't it be great to get most of LKMM's benefits without the learning curve?
This talk will describe how to do exactly that by using the standard Linux-kernel APIs (locking, reference counting, RCU) along with a simple rules of thumb, thus gaining most of LKMM's power with less learning. And the full LKMM is always there when you need it!
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
In this follow-up session on knowledge and prompt engineering, we will explore structured prompting, chain of thought prompting, iterative prompting, prompt optimization, emotional language prompts, and the inclusion of user signals and industry-specific data to enhance LLM performance.
Join EIS Founder & CEO Seth Earley and special guest Nick Usborne, Copywriter, Trainer, and Speaker, as they delve into these methodologies to improve AI-driven knowledge processes for employees and customers alike.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
AC Atlassian Coimbatore Session Slides( 22/06/2024)apoorva2579
This is the combined Sessions of ACE Atlassian Coimbatore event happened on 22nd June 2024
The session order is as follows:
1.AI and future of help desk by Rajesh Shanmugam
2. Harnessing the power of GenAI for your business by Siddharth
3. Fallacies of GenAI by Raju Kandaswamy
3. MySQL InnoDB Cluster
When MySQL High Availability is Made Easy
The Boston MySQL Meetup Group - May 2017
3 / 139
4.
Safe Harbor Statement
The following is intended to outline our generalproduct direction. It isintended for
information purpose only, and may not be incorporated into any contract. It isnot a
commitment to deliver any material, code, or functionality, and should not be relied up in
making purchasing decisions. Thedevelopment, release and timing of any features or
functionality described for Oracle´s product remains at thesole discretion of Oracle.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
4 / 139
5. about.me/lefred
Who am I ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
5 / 139
13. Group Replication: heart of MySQL InnoDB
Cluster
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
13 / 139
14. Group Replication: heart of MySQL InnoDB
Cluster
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
14 / 139
15. But before going further...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
15 / 139
16. What is
High Availability ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
16 / 139
17. High Availability
High availability is a characteristicofa system, which aimstoensureanagreedlevelof
operational performance, usuallyuptime, for a higher thannormalperiod.
There are three principles of systemsdesigninreliabilityengineeringwhichcanhelp
achieve high availability:
Elimination of single points offailure. Thismeansaddingredundancyto the system
so that failure of a componentdoesnotmeanfailureoftheentiresystem.
Reliable crossover. In redundantsystems, thecrossover pointitselftendstobecome
a single point of failure. Reliablesystemsmustprovideforreliablecrossover.
Detection of failures as they occur. Ifthetwoprinciplesaboveareobserved,thena
user may never see a failure. Butthemaintenanceactivitymust.
Source: WikipediaCopyright @ 2017 Oracle and/or its affiliates. All rights reserved.
17 / 139
18. Database Redundancy
How to achieve it ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
18 / 139
19. Database Redundancy
How to achieve it ?
Multiple solutions exist, someworse thantheothers ;-)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
19 / 139
20. Database Redundancy
How to achieve it ?
Multiple solutions exist, someworse thantheothers ;-)
use of share storage
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
20 / 139
21. Database Redundancy
How to achieve it ?
Multiple solutions exist, someworse thantheothers ;-)
use of share storage
use of share blocs by network(drbd)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
21 / 139
22. Database Redundancy
How to achieve it ?
Multiple solutions exist, someworse thantheothers ;-)
use of share storage
use of share blocs by network(drbd)
use of MySQLreplication
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
22 / 139
23. Database Redundancy
How to achieve it ?
Multiple solutions exist, someworse thantheothers ;-)
use of share storage
use of share blocs by network(drbd)
use of MySQLreplication
Of course the last one is the technique most spread, more flexible and more reliable.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
23 / 139
24. MySQL Replication
There are multiple types of MySQLreplication:
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
24 / 139
25. MySQL Replication
There are multiple types of MySQLreplication:
asynchronous replication (async)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
25 / 139
26. MySQL Replication
There are multiple types of MySQLreplication:
asynchronous replication (async)
semi-synchronous replication(semi-sync)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
26 / 139
27. MySQL Replication
There are multiple types of MySQLreplication:
asynchronous replication (async)
semi-synchronous replication(semi-sync)
group replication -New since (5.7.17)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
27 / 139
28. Asynchronous Replication(s)
replicas (also called slaves) stream thereplication logs froma unique master (multi-
source replication is possiblesince5.7.6)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
28 / 139
29. Asynchronous Replication(s)
replicas (also called slaves) stream thereplication logs froma unique master (multi-
source replication is possiblesince5.7.6)
slaves can be laging (having delay), there isno delivery guarantee (unless for semi-
sync)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
29 / 139
30. Asynchronous Replication(s)
replicas (also called slaves) stream thereplication logs froma unique master (multi-
source replication is possiblesince5.7.6)
slaves can be laging (having delay), there isno delivery guarantee (unless for semi-
sync)
replicas provisioning is manual
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
30 / 139
31. Asynchronous Replication(s)
replicas (also called slaves) stream thereplication logs froma unique master (multi-
source replication is possiblesince5.7.6)
slaves can be laging (having delay), there isno delivery guarantee (unless for semi-
sync)
replicas provisioning is manual
data consistency on replicas is assumed and needs a manual verification
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
31 / 139
32. Asynchronous Replication(s)
replicas (also called slaves) stream thereplication logs froma unique master (multi-
source replication is possiblesince5.7.6)
slaves can be laging (having delay), there isno delivery guarantee (unless for semi-
sync)
replicas provisioning is manual
data consistency on replicas is assumed and needs a manual verification
it´s even possible to create circular replication (highly not recommended)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
32 / 139
33. Asynchronous Replication(s)
replicas (also called slaves) stream thereplication logs froma unique master (multi-
source replication is possiblesince5.7.6)
slaves can be laging (having delay), there isno delivery guarantee (unless for semi-
sync)
replicas provisioning is manual
data consistency on replicas is assumed and needs a manual verification
it´s even possible to create circular replication (highly not recommended)
write operations are safe onlyfrom a unique global master
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
33 / 139
46. MySQL HA Architectures with asynchronous
replication
It exists a lot of possible architectures and asmuch tools to enforce them.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
46 / 139
47. MySQL HA Architectures with asynchronous
replication
It exists a lot of possible architectures and asmuch tools to enforce them.
They are all based on the sameprinciple:
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
47 / 139
48. MySQL HA Architectures with asynchronous
replication
It exists a lot of possible architectures and asmuch tools to enforce them.
They are all based on the sameprinciple:
1 master
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
48 / 139
49. MySQL HA Architectures with asynchronous
replication
It exists a lot of possible architectures and asmuch tools to enforce them.
They are all based on the sameprinciple:
1 master
1 or many replicas (slaves)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
49 / 139
50. MySQL HA Architectures with asynchronous
replication
It exists a lot of possible architectures and asmuch tools to enforce them.
They are all based on the sameprinciple:
1 master
1 or many replicas (slaves)
If the master as an issue, the most accurate slave needs to takeover therole and be
promoted as master for all the remaining slaves still online.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
50 / 139
52. Automation
And this is the most complicated part...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
52 / 139
53. Automation
And this is the most complicated part...
It exists a large amount of external tools that canbe used to achieve thistask.Most of
them are only compatible with GNU/Linux.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
53 / 139
54. Automation
And this is the most complicated part...
It exists a large amount of external tools that canbe used to achieve thistask.Most of
them are only compatible with GNU/Linux.
Their problem is that they create complexity inthearchitecture's design. You need to be
DBA & sysadmin to manage those solutions:
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
54 / 139
55. Automation
And this is the most complicated part...
It exists a large amount of external tools that canbe used to achieve thistask.Most of
them are only compatible with GNU/Linux.
Their problem is that they create complexity inthearchitecture's design. You need to be
DBA & sysadmin to manage those solutions:
MySQL-Utilities (mysqlrplcheck, mysqlrpladmin)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
55 / 139
56. Automation
And this is the most complicated part...
It exists a large amount of external tools that canbe used to achieve thistask.Most of
them are only compatible with GNU/Linux.
Their problem is that they create complexity inthearchitecture's design. You need to be
DBA & sysadmin to manage those solutions:
MySQL-Utilities (mysqlrplcheck, mysqlrpladmin)
Pacemaker withMySQLdedicated OCF
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
56 / 139
57. Automation
And this is the most complicated part...
It exists a large amount of external tools that canbe used to achieve thistask.Most of
them are only compatible with GNU/Linux.
Their problem is that they create complexity inthearchitecture's design. You need to be
DBA & sysadmin to manage those solutions:
MySQL-Utilities (mysqlrplcheck, mysqlrpladmin)
Pacemaker withMySQLdedicated OCF
MHA
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
57 / 139
58. MySQL Group Replication
but what is it ?!?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
58 / 139
59. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
59 / 139
60. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
60 / 139
61. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
MySQLGroup Communication System(GCS) isbased on Paxos Mencius
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
61 / 139
62. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
MySQLGroup Communication System(GCS) isbased on Paxos Mencius
GR allows to write on all Group Members (cluster nodes) simultaneously while
retaining consistency
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
62 / 139
63. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
MySQLGroup Communication System(GCS) isbased on Paxos Mencius
GR allows to write on all Group Members (cluster nodes) simultaneously while
retaining consistency
GR implements conflict detection and resolution
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
63 / 139
64. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
MySQLGroup Communication System(GCS) isbased on Paxos Mencius
GR allows to write on all Group Members (cluster nodes) simultaneously while
retaining consistency
GR implements conflict detection and resolution
GR allows automatic distributed recovery
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
64 / 139
65. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
MySQLGroup Communication System(GCS) isbased on Paxos Mencius
GR allows to write on all Group Members (cluster nodes) simultaneously while
retaining consistency
GR implements conflict detection and resolution
GR allows automatic distributed recovery
Supported onallMySQLplatforms!!
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
65 / 139
66. MySQL Group Replication
but what is it ?!?
GR is a plugin forMySQL, made byMySQLand packaged withMySQL
GR is an implementation of Replicated Database State Machine theory
MySQLGroup Communication System(GCS) isbased on Paxos Mencius
GR allows to write on all Group Members (cluster nodes) simultaneously while
retaining consistency
GR implements conflict detection and resolution
GR allows automatic distributed recovery
Supported onallMySQLplatforms!!
Linux, Windows, Solaris, OSX,FreeBSD
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
66 / 139
67. And for users ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
67 / 139
68. And for users ?
no longer necessary to handleserver fail-over manually or with a complicated script
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
68 / 139
69. And for users ?
no longer necessary to handleserver fail-over manually or with a complicated script
GR provides fault tolerance
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
69 / 139
70. And for users ?
no longer necessary to handleserver fail-over manually or with a complicated script
GR provides fault tolerance
GR enables update-everywhere setups
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
70 / 139
71. And for users ?
no longer necessary to handleserver fail-over manually or with a complicated script
GR provides fault tolerance
GR enables update-everywhere setups
GR handles crashes, failures, re-connetcs automatically
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
71 / 139
72. And for users ?
no longer necessary to handleserver fail-over manually or with a complicated script
GR provides fault tolerance
GR enables update-everywhere setups
GR handles crashes, failures, re-connetcs automatically
Allows an easy setup of aMySQLservice high available !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
72 / 139
73. OK, but how does it work ?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
73 / 139
74. OK, but how does it work ?
it's just ...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
74 / 139
75. OK, but how does it work ?
it's just ...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
75 / 139
76. OK, but how does it work ?
it's just ...
... no, in fact the writesets replication issynchronousand then certification and apply of
the changes are local to each nodes and asynchronous.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
76 / 139
77. OK, but how does it work ?
it's just ...
... no, in fact the writesets replication issynchronousand then certification and apply of
the changes are local to each nodes and asynchronous.
not that easy to understand... right ? As a picture isworth a 1000words, let's illustrate
this...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
77 / 139
90. Certification
Certification is the process that only needs to answer thefollowing unique question:
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
90 / 139
91. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
91 / 139
92. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
92 / 139
93. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
93 / 139
94. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
94 / 139
95. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
should be deterministic on every node
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
95 / 139
96. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
should be deterministic on every node
results are not reported to thegroup
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
96 / 139
97. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
should be deterministic on every node
results are not reported to thegroup
pass: enter in the apply queue
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
97 / 139
98. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
should be deterministic on every node
results are not reported to thegroup
pass: enter in the apply queue
fail: drop the transaction
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
98 / 139
99. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
should be deterministic on every node
results are not reported to thegroup
pass: enter in the apply queue
fail: drop the transaction
serialized by the total order in GCS/XCOM+ GTID
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
99 / 139
100. Certification
Certification is the process that only needs to answer thefollowing unique question:
can the write (transaction) beapplied?
based on unapplied earlier transactions
such conflicts must come forother members/nodes
happens on every member/node
should be deterministic on every node
results are not reported to thegroup
pass: enter in the apply queue
fail: drop the transaction
serialized by the total order in GCS/XCOM+ GTID
cost is based on trx size (# rows &# keys)
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
100 / 139
101. GTID
GTIDs are the same as those used by asynchronous replication.
mysql> SELECT * FROM performance_schema.replication_connection_statusG
************************** 1. row ***************************
CHANNEL_NAME: group_replication_applier
GROUP_NAME: afb80f36-2bff-11e6-84e0-0800277dd3bf
SOURCE_UUID: afb80f36-2bff-11e6-84e0-0800277dd3bf
THREAD_ID: NULL
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: afb80f36-2bff-11e6-84e0-0800277dd3bf:1-57,
f037578b-46b1-11e6-8005-08002774c31b:1-48937
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
101 / 139
102. but transactions use the Group´s GTID
mysql> show master statusG
************************** 1. row ***************************
File: mysql4-bin.000001
Position: 1501
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set: afb80f36-2bff-11e6-84e0-0800277dd3bf:1-57,
f037578b-46b1-11e6-8005-08002774c31b:1-48937
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
102 / 139
104. Requirements
exclusively works with InnoDBtables only
every tables must have a PK defined
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
104 / 139
105. Requirements
exclusively works with InnoDBtables only
every tables must have a PK defined
only IPV4 is supported
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
105 / 139
106. Requirements
exclusively works with InnoDBtables only
every tables must have a PK defined
only IPV4 is supported
a good network with low latency isimportant
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
106 / 139
107. Requirements
exclusively works with InnoDBtables only
every tables must have a PK defined
only IPV4 is supported
a good network with low latency isimportant
maximum of 9 members per group
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
107 / 139
108. Requirements
exclusively works with InnoDBtables only
every tables must have a PK defined
only IPV4 is supported
a good network with low latency isimportant
maximum of 9 members per group
log-bin must be enabled and onlyROWformat is supported
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
108 / 139
110. Requirements (2)
enable GTIDs
replication meta-data must bestored insystem tables
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
110 / 139
111. Requirements (2)
enable GTIDs
replication meta-data must bestored insystem tables
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
writesets extraction must be enabled
--transaction-write-set-extraction=XXHASH64
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
111 / 139
112. Requirements (2)
enable GTIDs
replication meta-data must bestored insystem tables
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
writesets extraction must be enabled
--transaction-write-set-extraction=XXHASH64
log-slave-updates must alsobe enabled
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
112 / 139
113. Limitations
binlog checksum is not supported (but we have checksum in the replicationchannel)
--binlog-checksum=NONE
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
113 / 139
114. Limitations
binlog checksum is not supported (but we have checksum in the replicationchannel)
--binlog-checksum=NONE
savepointswere not supported before 5.7.19& 8.0.1
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
114 / 139
115. Limitations
binlog checksum is not supported (but we have checksum in the replicationchannel)
--binlog-checksum=NONE
savepointswere not supported before 5.7.19& 8.0.1
SERIALIZABLEis not supported as transaction isolation level
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
115 / 139
116. Limitations
binlog checksum is not supported (but we have checksum in the replicationchannel)
--binlog-checksum=NONE
savepointswere not supported before 5.7.19& 8.0.1
SERIALIZABLEis not supported as transaction isolation level
http://lefred.be/content/mysql-group-replication-limitations-savepoints/
http://lefred.be/content/mysql-group-replication-and-table-design/
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
116 / 139
117. Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
117 / 139
118. MySQL Router (GA!)
MySQLRouter is lightweight middleware that provides transparent routing between your
application and backendMySQLServers. It can be used for awide variety of use cases,
such as providing high availability and scalability by effectively routing database trafficto
appropriate backendMySQLServers.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
118 / 139
119. MySQL Router (GA!)
MySQLRouter is lightweight middleware that provides transparent routing between your
application and backendMySQLServers. It can be used for awide variety of use cases,
such as providing high availability and scalability by effectively routing database trafficto
appropriate backendMySQLServers.
MySQLRouter doesn´t require any specific configuration. Itconfigures itself automatically
(bootstrap) usingMySQLInnoDB Cluster´s metadata.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
119 / 139
120. MySQL Router (GA!)
MySQLRouter is lightweight middleware that provides transparent routing between your
application and backendMySQLServers. It can be used for awide variety of use cases,
such as providing high availability and scalability by effectively routing database trafficto
appropriate backendMySQLServers.
MySQLRouter doesn´t require any specific configuration. Itconfigures itself automatically
(bootstrap) usingMySQLInnoDB Cluster´s metadata.
TheMySQLRouter development will be focusing on sharding.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
120 / 139
121. ProxySQLhas native support for Group
Replication which makes it a good choice for
advanced users.
ProxySQL
If you need some specific features that are not yet available inMySQLRouter, like
transparent R/W splitting, then you canuse your software of choice.
We are also collaborating with ProxySQL.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
121 / 139
122. Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
122 / 139
123. MySQL Shell (GA!)
TheMySQLShell is an interactive Javascript, Python, or SQLinterface supporting
development and administration for theMySQLServer and is acomponent of theMySQL
Server. You can use theMySQLShell to perform data queriesand updates aswell as
various administration operations.
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
123 / 139
124. MySQL Shell (2)
TheMySQLShell provides:
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
124 / 139
125. MySQL Shell (2)
TheMySQLShell provides:
Both Interactive and Batch operations
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
125 / 139
126. MySQL Shell (2)
TheMySQLShell provides:
Both Interactive and Batch operations
Document and Relational Models
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
126 / 139
127. MySQL Shell (2)
TheMySQLShell provides:
Both Interactive and Batch operations
Document and Relational Models
CRUD Document and Relational APIs via scripting
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
127 / 139
128. MySQL Shell (2)
TheMySQLShell 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 @ 2017 Oracle and/or its affiliates. All rights reserved.
128 / 139
129. MySQL Shell (2)
TheMySQLShell 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
MySQLStandard and X Protocols
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
129 / 139
130. MySQL Shell (2)
TheMySQLShell 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
MySQLStandard and X Protocols
and more...
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
130 / 139
131. MySQL Shell (3)
PREVIEW: the new Shell´s prompt is nice and clear !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
131 / 139
132. don´t forget, this is a HA solution !
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
132 / 139
133. Deploying a MySQL using MySQL Shell´s
adminAPI:
mysql-js> var i1 = 'root@instance01.boston:3306';
mysql-js> var i2 = 'root@instance02.boston:3306';
mysql-js> var i3 = 'root@instance03.boston:3306';
mysql-js> dba.checkInstanceCon guration(i1);
mysql-js> dba.checkInstanceCon guration(i2);
mysql-js> dba.checkInstanceCon guration(i3);
mysql-js> shell.connect(i1);
mysql-js> var cluster = dba.createCluster('BostonMUG');
mysql-js> cluster.checkInstanceState(i2);
mysql-js> cluster.addInstance(i2);
mysql-js> cluster.checkInstanceState(i3);
mysql-js> cluster.addInstance(i3);
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
133 / 139
135. instance01.yaml :
classes:
- innodbcluster
innodbcluster::mysql_serverid: 1
Thanks to the shell we can automate everything ;-)
https://github.com/lefred/puppet-lefred-innodbcluster
Super easy using hiera:
common.yaml:
innodbcluster::mysql_root_password: StRongP4ssw0rD!
innodbcluster::mysql_bind_interface: eth1
innodbcluster::cluster_name: BostonMUG
innodbcluster::grant::user: fred
innodbcluster::grant::password: fred
innodbcluster::seed: instance01.boston
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
135 / 139
136. example (2)
Withhiera-eyaml you can even encrypt your password:
innodbcluster::mysql_root_password: >
ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
DQYJKoZIhvcNAQEBBQAEggEAhqKUTXZ/4L8/aL3XARMfDBEI+s5HPshPg9BI
...
FLfovstrb8zmcbk5yb/KD0lDM8Elas0lrnpk8MxwNfKw+hB299JFp8ldAtUk
ODIieTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBJEeoyzHtW/WGpbiUz
gcXTgBAnb1gGrBZAfAiv/ztwuZ9z]
innodbcluster::mysql_bind_interface: eth1
innodbcluster::cluster_name: BostonMUG
innodbcluster::grant::user: root
innodbcluster::grant::password: >
ENC[PKCS7,MIIBeQYJKoZIhvcNAQcDoIIBajCCAWYCAQAxggEhMIIBHQIBADAFMAACAQEw
DQYJKoZIhvcNAQEBBQAEggEAhqKUTXZ/4L8/aL3XARMfDBEI+s5HPshPg9BI
...
FLfovstrb8zmcbk5yb/KD0lDM8Elas0lrnpk8MxwNfKw+hB299JFp8ldAtUk
ODIieTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBJEeoyzHtW/WGpbiUz
gcXTgBAnb1gGrBZAfAiv/ztwuZ9z]
Copyright @ 2017 Oracle and/or its affiliates. All rights reserved.
136 / 139