Database schema changes are usually not popular among DBAs or sysadmins, not when you are operating a cluster and cannot afford to switch off the service during a maintenance window. There are different ways to perform schema changes, some procedures being more complicated than others. Galera Cluster is great at making your MySQL database highly available, but are you concerned about schema changes? Is an ALTER TABLE statement something that requires a lot of advance scheduling? What is the impact on your database uptime? This is a common question, since ALTER operations in MySQL usually cause the table to be locked and rebuilt – which can potentially be disruptive to your live applications. Fortunately, Galera Cluster has mechanisms to replicate DDL across its nodes. In these slides, you will learn about the following: How to perform Zero Downtime Schema Changes 2 main methods: TOI and RSU Total Order Isolation: predictability and consistency Rolling Schema Upgrades pt-online-schema-change Schema synchronization with re-joining nodes Recommended procedures Common pitfalls/user errors The slides are courtesy of Seppo Jaakola, CEO, Codership - creators of Galera Cluster
MariaDB MaxScale is a database proxy that provides scalability, high availability, and data streaming capabilities for MariaDB and MySQL databases. It acts as a load balancer and router to distribute queries across database servers. MaxScale supports services like read/write splitting, query caching, and security features like selective data masking. It can monitor replication lag and route queries accordingly. MaxScale uses a plugin architecture and its core remains stateless to provide flexibility and high performance.
In 40 minutes the audience will learn a variety of ways to make postgresql database suddenly go out of memory on a box with half a terabyte of RAM. Developer's and DBA's best practices for preventing this will also be discussed, as well as a bit of Postgres and Linux memory management internals.
This document summarizes a series of performance issues seen by the author in their work with Oracle Exadata systems. It describes random session hangs occurring across several minutes, with long transaction locks and I/O waits seen. Analysis of AWR reports and blocking trees revealed that many sessions were blocked waiting on I/O, though initial I/O metrics from the OS did not show issues. Further analysis using ASH activity breakdowns and OS tools like sar and vmstat found high apparent CPU usage in ASH that was not reflected in actual low CPU load on the system. This discrepancy was due to the way ASH attributes non-waiting time to CPU. The root cause remained unclear.
This document summarizes optimizations for MySQL performance on Linux hardware. It covers SSD and memory performance impacts, file I/O, networking, and useful tools. The history of MySQL performance improvements is discussed from hardware upgrades like SSDs and more CPU cores to software optimizations like improved algorithms and concurrency. Optimizing per-server performance to reduce total servers needed is emphasized.
Orchestrator allows for easy MySQL failover by monitoring the cluster and promoting a new master when failures occur. Two test cases were demonstrated: 1) using a VIP and scripts to redirect connections during failover and 2) integrating with Proxysql to separate reads and writes and automatically redirect write transactions during failover while keeping read queries distributed. Both cases resulted in failover occurring within 16 seconds while maintaining application availability.
This document discusses PostgreSQL replication. It provides an overview of replication, including its history and features. Replication allows data to be copied from a primary database to one or more standby databases. This allows for high availability, load balancing, and read scaling. The document describes asynchronous and synchronous replication modes.
Oracle's MySQL solutions make it easy to setup various database architectures and achieve high availability with the introduction MySQL InnoDB Cluster and MySQL InnoDB ReplicaSet meeting various high availability requirements. MySQL InnoDB ClusterSet provides a popular disaster recovery solution. Completely built in-house and supported by Oracle, many enterprises large and small have adopted these solutions into business critical applications. In this presentation the various database architecture solutions for high availability and disaster recovery will be covered and help you choose the right solutions based on your business requirements.
This presentation covers all aspects of PostgreSQL administration, including installation, security, file structure, configuration, reporting, backup, daily maintenance, monitoring activity, disk space computations, and disaster recovery. It shows how to control host connectivity, configure the server, find the query being run by each session, and find the disk space used by each database.
We will show the advantages of having a geo-distributed database cluster and how to create one using Galera Cluster for MySQL. We will also discuss the configuration and status variables that are involved and how to deal with typical situations on the WAN such as slow, untrusted or unreliable links, latency and packet loss. We will demonstrate a multi-region cluster on Amazon EC2 and perform some throughput and latency measurements in real-time (video http://galeracluster.com/videos/using-galera-replication-to-create-geo-distributed-clusters-on-the-wan-webinar-video-3/)
This document provides an overview and comparison of MySQL InnoDB Cluster and MySQL InnoDB ReplicaSet. It discusses the components, goals, and features of each solution. MySQL InnoDB Cluster uses Group Replication to provide high availability, automatic failover, and data consistency. MySQL InnoDB ReplicaSet uses asynchronous replication and provides availability and read scaling through manual primary/secondary configuration and failover. Both solutions integrate MySQL Shell, Router, and automatic member provisioning for easy management.
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/
This document discusses different approaches to achieving high availability with MariaDB databases, including replication, Galera clusters, and MaxScale load balancing. It describes asynchronous and semi-synchronous replication topologies that provide redundancy and enable failover. Synchronous replication with Galera clusters is discussed as another option that ensures all nodes remain in sync with no data loss. MaxScale is presented as a tool that can monitor MariaDB topologies and perform load balancing and failover across nodes.
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.
This document discusses techniques for optimizing SQL performance in Oracle databases. It covers topics like optimizing the optimizer itself through configuration changes and statistics collection, detecting poorly performing SQL, and methods for improving plans such as indexing, partitioning, hints and baselines. The goal is to maximize the optimizer's accuracy and ability to handle edge cases, while also knowing how to intervene when needed to capture fugitive SQL and ensure acceptable performance.
MariaDB 10.0 introduces domain-based parallel replication which allows transactions in different domains to execute concurrently on replicas. This can result in out-of-order transaction commit. MariaDB 10.1 adds optimistic parallel replication which maintains commit order. The document discusses various parallel replication techniques in MySQL and MariaDB including schema-based replication in MySQL 5.6 and logical clock replication in MySQL 5.7. It provides performance benchmarks of these techniques from Booking.com's database environments.
Devrim Gunduz gives a presentation on Write-Ahead Logging (WAL) in PostgreSQL. WAL logs all transactions to files called write-ahead logs (WAL files) before changes are written to data files. This allows for crash recovery by replaying WAL files. WAL files are used for replication, backup, and point-in-time recovery (PITR) by replaying WAL files to restore the database to a previous state. Checkpoints write all dirty shared buffers to disk and update the pg_control file with the checkpoint location.
This document provides an overview and comparison of different methods for performing online schema changes in databases. It discusses native online DDL capabilities in MySQL/MariaDB and TokuDB, as well as alternative methods like rolling schema updates, downtime windows, and the pt-online-schema-change tool. The document outlines features, limitations, and special cases to consider for different workloads and replication scenarios.
This document discusses various Oracle 12c features that can be used to achieve high availability and keep systems available even during planned and unplanned outages. It compares options for handling planned changes like hardware, OS, database upgrades including RAC, RAC One Node, and Data Guard. It also discusses disaster recovery options like storage mirroring, RAC extended clusters, Data Guard, and GoldenGate replication. New features in Oracle 12c like Far Sync instances and cascading standbys are also covered. The document provides a guide to deciphering the necessary components for high availability.
Oracle Database 12c includes many new features across SQL, PL/SQL, database management, partitioning, patching, compression, Data Guard, and pluggable databases. Key features include increased datatype size limits, identity columns, implicit result sets in PL/SQL, adaptive plans, row pattern matching, pluggable databases that can be plugged into and unplugged from container databases, and many enhancements to compression, partitioning, Data Guard, and patching functionality.
Drivers connect applications to Cassandra clusters and maintain connections to nodes. They probe clusters to discover nodes, token ranges, and latency. Drivers are data-aware and can route queries to appropriate replicas or fail over if needed. Cassandra clusters can span multiple data centers for redundancy, workload separation, and geographic distribution of data and queries. Configuration files like cassandra.yaml and cassandra-env.sh are used to configure memory, data storage, caching, and other settings. Cassandra clusters should be provisioned on commodity servers using tools like cassandra-stress to test workloads and estimate needed nodes.
High-availability with Galera Cluster for MySQL How to avoid downtime with MySQL and maintenance windows out of office time.
Oracle Architecture in regards to writing better performing queries. Understand Oracle Architecture Database Buffer Cache Shared Pool Write better performing queries
Discover the power of the new MySQL command line client and explore the new Visual Studio Code extension to work with MySQL
- The document discusses managing a large OLTP database at PayPal, including capacity management, planned maintenance, performance management, and troubleshooting. It provides details on monitoring the database infrastructure, conducting maintenance such as patching and switchovers, and optimizing performance for Oracle RAC environments. The goal is to support business needs and provide uninterrupted service through proactive management of the database tier.
Confoo.ca conference talk February 24th 2021 on MySQL new features found in version 8.0 including server and supporting utility updates for those who may have missed some really neat new features
The document discusses various high availability and disaster recovery options for deploying Kubernetes clusters across multiple data centers. It begins by covering HA layers at the application, node, control plane, and data levels for a single cluster. It then examines options for multi-data center deployments including a GitOps approach with two synchronized clusters, a stretched cluster spanning three data centers, a stretched cluster with two data centers and an arbiter node, and a stretched cluster with DR provided by IaaS VM migration. Key criteria for choosing an option include the number of available data centers, latency between sites, and data access requirements for applications. A three site stretched cluster is typically the preferred model when feasible.
This document discusses NewSQL databases and provides examples of NewSQL products. It begins by explaining the limitations of traditional SQL databases and NoSQL databases in handling big data. It then introduces NewSQL as an approach that provides scalability like NoSQL with ACID transactions and SQL support like traditional databases. Example NewSQL databases discussed in detail include VoltDB, which uses an in-memory architecture, and Google Spanner, which provides a globally distributed SQL database. The document also briefly mentions MySQL Cluster as another NewSQL approach.
22 April 2021 presentation for the MidWest PHP conference on New Features in MySQL 8.0 with updates on the newly released 8.0.24
Just because Containerized, Kubernetized and Cloudified doesnt mean you application is production grade and disruption free. You will have to utilize all the features provided by Kubernetes to really make it produciton ready. In these slides, I will try to explain what could be possible disruptions that can happen in your Kubernetes cluster that can impact your application or workloads. And then will try to explain features or configuration of Kubernetes that will help in making your application production grade.
Suvrojeet Ghosh, Software Engineer at Ribbon, presented 'How to Handle your Kubernetes Upgrades' at the Kubernetes + Cloud Native meetup in Ottawa in March, 2019. He shared his experiences upgrading HA clusters from v1.0 to v1.13 via kubeadm in multiple hops. He pointed out certain problems and errors to be aware of as well as resources that can help.
With the rise of agile development methodologies, more and more systems and applications are built in series of iterations. This is true for the database schema as well, as it has to evolve together with the application. Unfortunately, schema changes and databases do not play well together. Changes usually require plenty of advance scheduling, and can be disruptive to your operations. In this webinar, we discuss how to implement schema changes in the least impacting way to your operations and ensure availability of your database. We also cover some real-life examples and discuss how to handle them. AGENDA Different methods to perform schema changes on MySQL Replication and Galera rolling schema change online alters external tools, e.g., pt-online-schema-change Differences between MySQL 5.5 and 5.6 Differences between MySQL Replication vs Galera Example real-life scenarios with MySQL Replication and Galera setups
This document discusses high availability with Galera Cluster for MySQL. It provides an overview of Galera Cluster, including its advantages like active-active multi-master clusters and automatic node membership control. It also covers Galera Cluster installation, configuration, operations like initial cluster start and rolling restarts, load balancing, and online schema upgrades.
High Availability solutions for MySQL Replication are either simple to use but introduce a single point of failure or free of pitfalls but complex and hard to use. The Proof-of-Concept sketches a way in the middle. For monitoring a group communication system is embedded into MySQL usng a MySQL plugin which eliminates the monitoring SPOF and is easy to use. Much emphasis is put of the often neglected client side. The PoC shows an architecture in which clients reconfigure themselves dynamically. No client deployment is required.
Federico Campoli developed pg_chameleon to replicate data from MySQL to PostgreSQL. He has been passionate about IT since 1982 and loves PostgreSQL. Pg_chameleon version 2.0 allows replication of multiple MySQL schemas to a PostgreSQL database. It uses two subprocesses to concurrently read from and replay data to MySQL. The presentation covered pg_chameleon's history, how it works as a replica, setup instructions, and a demo. Future development plans include parallelizing the initial load to speed it up and adding logical replication from PostgreSQL.
The need to support both today’s multicore performance and tomorrow’s heterogeneous computing has become increasingly important. Qualcomm® Multicore Asynchronous Runtime Environment (MARE) provides powerful and easy-to-use abstractions to write parallel software. This session will provide a deep dive into the concepts of power-efficient programming and how to use Qualcomm MARE APIs to get energy and thermal benefits for Android apps. Qualcomm Multicore Asynchronous Runtime Environment is a product of Qualcomm Technologies, Inc. Learn more about Qualcomm Multicore Asynchronous Runtime Environment: https://developer.qualcomm.com/MARE Watch this presentation on YouTube: https://www.youtube.com/watch?v=RI8yXhBb8Hg