This document discusses strategies for maintaining very large MySQL tables that have grown too big. It recommends creating a new database server with different configuration settings like InnoDB file per table to reduce size, using tools like MySQLTuner and tuning-primer to analyze settings, archiving old historical data with ptArchiver to reduce table sizes, and considering partitioning or changing the MySQL version. Monitoring tools like InnoDB status, global status, cacti and innotop are recommended to analyze server performance.
This document discusses various techniques for optimizing MySQL queries and databases, including:
- Using the query cache can speed up repeating queries with the same syntax.
- Choosing optimal variable types like integers over strings for size and performance.
- Indexing the right columns and testing indexes regularly as tables change.
- Using EXPLAIN to check query performance and identify optimization opportunities.
- Profiling queries with other tools to see where time is spent.
- Testing changes thoroughly before deploying optimizations.
This document discusses MySQL performance tuning and various MySQL products and features. It provides information on MySQL 5.6 including improved scalability, new InnoDB features for NoSQL access, and an improved optimizer. It also discusses MySQL Enterprise Monitor for performance monitoring, and the Performance Schema for instrumentation and monitoring internal operations.
Designing your SaaS Database for Scale with PostgresOzgun Erdogan
If you’re building a SaaS application, you probably already have the notion of tenancy built in your data model. Typically, most information relates to tenants / customers / accounts and your database tables capture this natural relation.
With smaller amounts of data, it’s easy to throw more hardware at the problem and scale up your database. As these tables grow however, you need to think about ways to scale your multi-tenant (B2B) database across dozens or hundreds of machines.
In this talk, we're first going to talk about motivations behind scaling your SaaS (multi-tenant) database and several heuristics we found helpful on deciding when to scale. We'll then describe three design patterns that are common in scaling SaaS databases: (1) Create one database per tenant, (2) Create one schema per tenant, and (3) Have all tenants share the same table(s). Next, we'll highlight the tradeoffs involved with each design pattern and focus on one pattern that scales to hundreds of thousands of tenants. We'll also share an example architecture from the industry that describes this pattern in more detail.
Last, we'll talk about key PostgreSQL properties, such as semi-structured data types, that make building multi-tenant applications easy. We'll also mention Citus as a method to scale out your multi-tenant database. We'll conclude by answering frequently asked questions on multi-tenant databases and Q&A.
The document discusses using PostgreSQL for data warehousing. It covers advantages like complex queries with joins, windowing functions and materialized views. It recommends configurations like separating the data warehouse onto its own server, adjusting memory settings, disabling autovacuum and using tablespaces. Methods of extract, transform and load (ETL) data discussed include COPY, temporary tables, stored procedures and foreign data wrappers.
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree Ashnikbiz
Distributed databases and horizontal scale up is one of the key demands in today's date. PostgreSQL already had some vertical scaling features and horizontal scale-up by adding disks and table partitioning/child tables. With release of v9.5, PostgreSQL will get basic foundation for native sharing capability. From v9.5 Foreign Tables will be able to participate in Inheritance Tree as a child or parent table i.e. one can have table partitions residing on different system.
In our countdown to v9.5 series of hangouts, we will be covering some of the great features of PostgreSQL v9.5 and what is their real life applicability. In the first hangout in this series we will be talking about-
- The feature of foreign partitions/child tables
- Syntax and usage
- EXPLAIN plan demo
- Use cases and benefits
Join us for more and send us your queries on success@ashnik.com
Evolution of MongoDB Replicaset and Its Best PracticesMydbops
There are several exciting and long-awaited features released from MongoDB 4.0. He will focus on the prime features, the kind of problem it solves, and the best practices for deploying replica sets.
Size can creep up on you. Some day you may wake up to a multi-terabyte Postgres system handling over 3000 tps staring you down. Learn the best ways to manage these systems as they grow, and find out what new features in 9.0 have made life easier for administrators and application developers working with big data.
This talk will lead you through solutions to problems Postgres faces when it gets big: backups, transaction wraparound, bloat, huge catalogs and upgrades. You need to monitor the right things, find the gems in DBA-friendly database functions and catalog tables, and know the right places to look to spot problems early. We’ll also go over monitoring best practices and open source tools to get the job done.
Working with multiple versions of Postgres back to version 8.2 will be included, and as well as tips on making the most out of new features in 9.0. War stories will be taken from real-world work with Emma, an email marketing company with a few large databases.
This document discusses using PostgreSQL with Amazon RDS. It begins with an introduction to Amazon RDS and then discusses setting up a PostgreSQL RDS instance, available features like backups and monitoring, limitations, pricing, and references for further reading. The document is intended to provide an overview of deploying and managing PostgreSQL on Amazon RDS.
PostgreSQL Performance Tables Partitioning vs. Aggregated Data TablesSperasoft
Table partitioning and aggregated data tables (such as materialized views) are two approaches to improve PostgreSQL database performance as data volumes grow large over time. Table partitioning involves splitting a large table into multiple smaller tables (partitions) based on a partition function and key, while aggregated data tables pre-compute query results to avoid repeated computation. Both can improve query performance but come with caveats such as increased planning time for partitions or expensive refresh costs for materialized views. The best approach depends on each unique situation and data access patterns.
1) MySQL live migration involves a 3 step process of taking a baseline dump/snapshot from the source database, setting up replication between the source and destination for continuous data movement, and finally performing a switchover to migrate to the destination.
2) The baseline dump uses mysqldump to export data, users, privileges and stored objects from the source and import to the destination. The --master-data option captures binary log coordinates for setting up replication.
3) Replication is setup using the binary log coordinates to synchronize data between the source and destination. Monitoring replication status ensures the destination lag is low before switchover.
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 presentation will investigate how using micro-batching for submitting writes to Cassandra can improve throughput and reduce client application CPU load.
Micro-batching combines writes for the same partition key into a single network request and ensures they hit the "fast path" for writes on a Cassandra node.
About the Speaker
Adam Zegelin Technical Co-founder, Instaclustr
As Instaclustrs founding software engineer, Adam provides the foundation knowledge of our capability and engineering environment. He delivers business-focused value to our code-base and overall capability architecture. Adam is also focused on providing Instaclustr's contribution to the broader open source community on which our products and services rely, including Apache Cassandra, Apache Spark and other technologies such as CoreOS and Docker.
We run multiple DataStax Enterprise clusters in Azure each holding 300 TB+ data to deeply understand Office 365 users. In this talk, we will deep dive into some of the key challenges and takeaways faced in running these clusters reliably over a year. To name a few: process crashes, ephemeral SSDs contributing to data loss, slow streaming between nodes, mutation drops, compaction strategy choices, schema updates when nodes are down and backup/restore. We will briefly talk about our contributions back to Cassandra, and our path forward using network attached disks offered via Azure premium storage.
About the Speaker
Anubhav Kale Sr. Software Engineer, Microsoft
Anubhav is a senior software engineer at Microsoft. His team is responsible for building big data platform using Cassandra, Spark and Azure to generate per-user insights of Office 365 users.
Managing your own PostgreSQL servers is sometimes a burden your business does not want. In this talk we will provide an overview of some of the public cloud offerings available for hosted PostgreSQL and discuss a number of strategies for migrating your databases with a minimum of downtime.
Hekaton is the original project name for In-Memory OLTP and just sounds cooler for a title name. Keeping up the tradition of deep technical “Inside” sessions at PASS, this half-day talk will take you behind the scenes and under the covers on how the In-Memory OLTP functionality works with SQL Server.
We will cover “everything Hekaton”, including how it is integrated with the SQL Server Engine Architecture. We will explore how data is stored in memory and on disk, how I/O works, how native complied procedures are built and executed. We will also look at how Hekaton integrates with the rest of the engine, including Backup, Restore, Recovery, High-Availability, Transaction Logging, and Troubleshooting.
Demos are a must for a half-day session like this and what would an inside session be if we didn’t bring out the Windows Debugger. As with previous “Inside…” talks I’ve presented at PASS, this session is level 500 and not for the faint of heart. So read through the docs on In-Memory OLTP and bring some extra pain reliever as we move fast and go deep.
This session will appear as two sessions in the program guide but is not a Part I and II. It is one complete session with a small break so you should plan to attend it all to get the maximum benefit.
Co-Founder and CTO of Instaclustr, Ben Bromhead's presentation at the Cassandra Summit 2016, in San Jose.
This presentation will show how create truly elastic Cassandra deployments on AWS allowing you to scale and shrink your large Cassandra deployments multiple times a day. Leveraging a combination of EBS backed disks, JBOD, token pinning and our previous work on bootstrapping from backups you will be able to dramatically reduce costs per cluster by scaling to match your daily workloads.
SQL Server In-Memory OLTP: What Every SQL Professional Should KnowBob Ward
Perhaps you have heard the term “In-Memory” but not sure what it means. If you are a SQL Server Professional then you will want to know. Even if you are new to SQL Server, you will want to learn more about this topic. Come learn the basics of how In-Memory OLTP technology in SQL Server 2016 and Azure SQL Database can boost your OLTP application by 30X. We will compare how In-Memory OTLP works vs “normal” disk-based tables. We will discuss what is required to migrate your existing data into memory optimized tables or how to build a new set of data and applications to take advantage of this technology. This presentation will cover the fundamentals of what, how, and why this technology is something every SQL Server Professional should know
Out of the box replication in postgres 9.4(pg confus)Denish Patel
This document contains notes from a presentation on PostgreSQL replication. It discusses write-ahead logs (WAL), replication history in PostgreSQL from versions 7.0 to 9.4, how to set up basic replication, tools for backups and monitoring replication, and demonstrates setting up replication without third party tools using pg_basebackup, replication slots, and pg_receivexlog. It also includes contact information for the presenter and an invitation to join the PostgreSQL Slack channel.
This technical presentation by EDB Dave Thomas, Systems Engineer provides an overview of:
1) BGWriter/Writer Process
2) Wall Writer Process
3) Stats Collector Process
4) Autovacuum Launch Process
5) Syslogger Process/Logger process
6) Archiver Process
7) WAL Send/Receive Processes
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentHazelcast
In this webinar
How do you get data from your existing relational databases changed by third party applications into your Hazelcast maps? How do you accomplish this if you have several databases, located on different sites, that need to be aggregated into a global Hazelcast map? How is it possible to reflect data from a relational database that has ten thousand updates per second or more?
Speedment’s SQL Reflector makes it possible to integrate your existing relational data with continuous updates of Hazelcast data-maps in real-time. In this webinar, we will show a couple of real-world cases where database applications are speeded up using Hazelcast maps fed by Speedment. We will also demonstrate how easily your existing database can be “reverse engineered” by the Speedment software that automatically creates efficient Java POJOs that can be used directly by Hazelcast.
We’ll cover these topics:
-Joint solution case studies
-Demo
-Live Q&A
Presenter:
Per-Åke Minborg, CTO at Speedment
Per-Åke Minborg is founder and CTO at Speedment AB. He is a passionate Java developer, dedicated to OpenSource software and an expert in finding new ways of solving problems – the harder problem the better. As a result, he has 15+ US patent applications and invention disclosures. He has a deep understanding of in-memory databases, high-performance solutions, cloud technologies and concurrent programming. He has previously served as CTO and founder of Chilirec and the Phone Pages. Per-Åke has a M.Sc. in Electrical Engineering from Chalmers University of Technology and several years of studies in computer science and computer security at university and PhD level.
These are the slides used by Dilip Kumar of EnterpriseDB for his presentation at pgDay Asia 2016, Singpaore. He talked about scalability and performance improvements in PostgreSQL v9.6, which is expected to be released in Dec/2016 - Jan/2017.
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...Ashnikbiz
Ashnik Database Solution Architect, Sameer Kumar, an Open Source evangelist presented at FOSSASIA 2015 about the features of open source database like PostgreSQL which are missed by developers stuck on proprietary databases.
10 Features you would love as an Open Source developer!
- New JSON Datatype
- Vast set of datatypes supported
- Rich support for foreign Data Wrap
- User Defined Operators
- User Defined Extensions
- Filter Based Indexes or Partial Indexes
- Granular control of parameters at User, Database, Connection or Transaction Level
- Use of indexes to get statistics
- JDBC API for COPY -Command
- Full Text Search
On July 6, 2021, MariaDB 10.6 became generally available (production ready). This presentation focuses on the most important aspects of it as well as the influence it has. Improvements to InnoDB, SYS Schema Adoption, and deprecated variables and engines are all part of this presentation.
Secure our data is a complex topic. We can build a very strong protection around our data, but nothing will prevent the one WHO could potentially access it to compromise the data integrity or to expose it.
This because we either under estimate the control we can or should impose, or because we think to do not have the tools to perform such control.
Nowadays to be able to control and manage what can access our data is a must, while how to do with standard tools it is a nightmare.
The presentation will guide you in a journey, there you will discover how implementing a quite robust protection, more than what you thought was possible.
Even more, it is possible and your performances will even improve. Cool right?
We will discuss:
- Access using not standard port
- Implement selective query access
- Define accessibility by location/ip/id
- Reduce to minimum cost of filtering
- Automate the query discovery
MySQL shell and It's utilities - Praveen GR (Mydbops Team)Mydbops
This document provides an overview of MySQL shell utilities including the Upgrade Checker Utility, Table Export Utility, Parallel Table Import Utility, Dump Utility, Dump Loading Utility, and JSON Import Utility. It describes the purpose and notable options of each utility for upgrading databases, exporting and importing tables in parallel, taking backups, and importing JSON data.
PostgreSQL Replication High Availability MethodsMydbops
This slides illustrates the need for replication in PostgreSQL, why do you need a replication DB topology, terminologies, replication nodes and many more.
MySQL client side caching allows caching of query results on the client side using the mysqlnd driver. It is transparent to applications using MySQL extensions like mysqli or PDO. Cached results are stored using pluggable storage handlers like APC, memcache, or local memory. Queries can be cached based on SQL hints or custom logic in a user-defined storage handler. Statistics are collected on cache usage and query performance to analyze effectiveness. This provides an alternative to server-side query caching with potential benefits like reducing network traffic and database load.
Este documento resume un artículo sobre la intervención profesional en trabajo social. Examina el contexto actual y los nuevos escenarios de intervención social, diferenciando entre intervención social e intervención en lo social. Analiza las críticas del movimiento de re conceptualización a la metodología tradicional, señalando que la falta de una formación basada en la relación entre teoría y método impide generar conocimiento sobre las realidades sociales. Finalmente, plantea que es necesario redefinir la intervención en lo social como un campo interdisciplinario, teniendo en
This document discusses using PostgreSQL with Amazon RDS. It begins with an introduction to Amazon RDS and then discusses setting up a PostgreSQL RDS instance, available features like backups and monitoring, limitations, pricing, and references for further reading. The document is intended to provide an overview of deploying and managing PostgreSQL on Amazon RDS.
PostgreSQL Performance Tables Partitioning vs. Aggregated Data TablesSperasoft
Table partitioning and aggregated data tables (such as materialized views) are two approaches to improve PostgreSQL database performance as data volumes grow large over time. Table partitioning involves splitting a large table into multiple smaller tables (partitions) based on a partition function and key, while aggregated data tables pre-compute query results to avoid repeated computation. Both can improve query performance but come with caveats such as increased planning time for partitions or expensive refresh costs for materialized views. The best approach depends on each unique situation and data access patterns.
1) MySQL live migration involves a 3 step process of taking a baseline dump/snapshot from the source database, setting up replication between the source and destination for continuous data movement, and finally performing a switchover to migrate to the destination.
2) The baseline dump uses mysqldump to export data, users, privileges and stored objects from the source and import to the destination. The --master-data option captures binary log coordinates for setting up replication.
3) Replication is setup using the binary log coordinates to synchronize data between the source and destination. Monitoring replication status ensures the destination lag is low before switchover.
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 presentation will investigate how using micro-batching for submitting writes to Cassandra can improve throughput and reduce client application CPU load.
Micro-batching combines writes for the same partition key into a single network request and ensures they hit the "fast path" for writes on a Cassandra node.
About the Speaker
Adam Zegelin Technical Co-founder, Instaclustr
As Instaclustrs founding software engineer, Adam provides the foundation knowledge of our capability and engineering environment. He delivers business-focused value to our code-base and overall capability architecture. Adam is also focused on providing Instaclustr's contribution to the broader open source community on which our products and services rely, including Apache Cassandra, Apache Spark and other technologies such as CoreOS and Docker.
We run multiple DataStax Enterprise clusters in Azure each holding 300 TB+ data to deeply understand Office 365 users. In this talk, we will deep dive into some of the key challenges and takeaways faced in running these clusters reliably over a year. To name a few: process crashes, ephemeral SSDs contributing to data loss, slow streaming between nodes, mutation drops, compaction strategy choices, schema updates when nodes are down and backup/restore. We will briefly talk about our contributions back to Cassandra, and our path forward using network attached disks offered via Azure premium storage.
About the Speaker
Anubhav Kale Sr. Software Engineer, Microsoft
Anubhav is a senior software engineer at Microsoft. His team is responsible for building big data platform using Cassandra, Spark and Azure to generate per-user insights of Office 365 users.
Managing your own PostgreSQL servers is sometimes a burden your business does not want. In this talk we will provide an overview of some of the public cloud offerings available for hosted PostgreSQL and discuss a number of strategies for migrating your databases with a minimum of downtime.
Hekaton is the original project name for In-Memory OLTP and just sounds cooler for a title name. Keeping up the tradition of deep technical “Inside” sessions at PASS, this half-day talk will take you behind the scenes and under the covers on how the In-Memory OLTP functionality works with SQL Server.
We will cover “everything Hekaton”, including how it is integrated with the SQL Server Engine Architecture. We will explore how data is stored in memory and on disk, how I/O works, how native complied procedures are built and executed. We will also look at how Hekaton integrates with the rest of the engine, including Backup, Restore, Recovery, High-Availability, Transaction Logging, and Troubleshooting.
Demos are a must for a half-day session like this and what would an inside session be if we didn’t bring out the Windows Debugger. As with previous “Inside…” talks I’ve presented at PASS, this session is level 500 and not for the faint of heart. So read through the docs on In-Memory OLTP and bring some extra pain reliever as we move fast and go deep.
This session will appear as two sessions in the program guide but is not a Part I and II. It is one complete session with a small break so you should plan to attend it all to get the maximum benefit.
Co-Founder and CTO of Instaclustr, Ben Bromhead's presentation at the Cassandra Summit 2016, in San Jose.
This presentation will show how create truly elastic Cassandra deployments on AWS allowing you to scale and shrink your large Cassandra deployments multiple times a day. Leveraging a combination of EBS backed disks, JBOD, token pinning and our previous work on bootstrapping from backups you will be able to dramatically reduce costs per cluster by scaling to match your daily workloads.
SQL Server In-Memory OLTP: What Every SQL Professional Should KnowBob Ward
Perhaps you have heard the term “In-Memory” but not sure what it means. If you are a SQL Server Professional then you will want to know. Even if you are new to SQL Server, you will want to learn more about this topic. Come learn the basics of how In-Memory OLTP technology in SQL Server 2016 and Azure SQL Database can boost your OLTP application by 30X. We will compare how In-Memory OTLP works vs “normal” disk-based tables. We will discuss what is required to migrate your existing data into memory optimized tables or how to build a new set of data and applications to take advantage of this technology. This presentation will cover the fundamentals of what, how, and why this technology is something every SQL Server Professional should know
Out of the box replication in postgres 9.4(pg confus)Denish Patel
This document contains notes from a presentation on PostgreSQL replication. It discusses write-ahead logs (WAL), replication history in PostgreSQL from versions 7.0 to 9.4, how to set up basic replication, tools for backups and monitoring replication, and demonstrates setting up replication without third party tools using pg_basebackup, replication slots, and pg_receivexlog. It also includes contact information for the presenter and an invitation to join the PostgreSQL Slack channel.
This technical presentation by EDB Dave Thomas, Systems Engineer provides an overview of:
1) BGWriter/Writer Process
2) Wall Writer Process
3) Stats Collector Process
4) Autovacuum Launch Process
5) Syslogger Process/Logger process
6) Archiver Process
7) WAL Send/Receive Processes
Speed Up Your Existing Relational Databases with Hazelcast and SpeedmentHazelcast
In this webinar
How do you get data from your existing relational databases changed by third party applications into your Hazelcast maps? How do you accomplish this if you have several databases, located on different sites, that need to be aggregated into a global Hazelcast map? How is it possible to reflect data from a relational database that has ten thousand updates per second or more?
Speedment’s SQL Reflector makes it possible to integrate your existing relational data with continuous updates of Hazelcast data-maps in real-time. In this webinar, we will show a couple of real-world cases where database applications are speeded up using Hazelcast maps fed by Speedment. We will also demonstrate how easily your existing database can be “reverse engineered” by the Speedment software that automatically creates efficient Java POJOs that can be used directly by Hazelcast.
We’ll cover these topics:
-Joint solution case studies
-Demo
-Live Q&A
Presenter:
Per-Åke Minborg, CTO at Speedment
Per-Åke Minborg is founder and CTO at Speedment AB. He is a passionate Java developer, dedicated to OpenSource software and an expert in finding new ways of solving problems – the harder problem the better. As a result, he has 15+ US patent applications and invention disclosures. He has a deep understanding of in-memory databases, high-performance solutions, cloud technologies and concurrent programming. He has previously served as CTO and founder of Chilirec and the Phone Pages. Per-Åke has a M.Sc. in Electrical Engineering from Chalmers University of Technology and several years of studies in computer science and computer security at university and PhD level.
These are the slides used by Dilip Kumar of EnterpriseDB for his presentation at pgDay Asia 2016, Singpaore. He talked about scalability and performance improvements in PostgreSQL v9.6, which is expected to be released in Dec/2016 - Jan/2017.
FOSSASIA 2015 - 10 Features your developers are missing when stuck with Propr...Ashnikbiz
Ashnik Database Solution Architect, Sameer Kumar, an Open Source evangelist presented at FOSSASIA 2015 about the features of open source database like PostgreSQL which are missed by developers stuck on proprietary databases.
10 Features you would love as an Open Source developer!
- New JSON Datatype
- Vast set of datatypes supported
- Rich support for foreign Data Wrap
- User Defined Operators
- User Defined Extensions
- Filter Based Indexes or Partial Indexes
- Granular control of parameters at User, Database, Connection or Transaction Level
- Use of indexes to get statistics
- JDBC API for COPY -Command
- Full Text Search
On July 6, 2021, MariaDB 10.6 became generally available (production ready). This presentation focuses on the most important aspects of it as well as the influence it has. Improvements to InnoDB, SYS Schema Adoption, and deprecated variables and engines are all part of this presentation.
Secure our data is a complex topic. We can build a very strong protection around our data, but nothing will prevent the one WHO could potentially access it to compromise the data integrity or to expose it.
This because we either under estimate the control we can or should impose, or because we think to do not have the tools to perform such control.
Nowadays to be able to control and manage what can access our data is a must, while how to do with standard tools it is a nightmare.
The presentation will guide you in a journey, there you will discover how implementing a quite robust protection, more than what you thought was possible.
Even more, it is possible and your performances will even improve. Cool right?
We will discuss:
- Access using not standard port
- Implement selective query access
- Define accessibility by location/ip/id
- Reduce to minimum cost of filtering
- Automate the query discovery
MySQL shell and It's utilities - Praveen GR (Mydbops Team)Mydbops
This document provides an overview of MySQL shell utilities including the Upgrade Checker Utility, Table Export Utility, Parallel Table Import Utility, Dump Utility, Dump Loading Utility, and JSON Import Utility. It describes the purpose and notable options of each utility for upgrading databases, exporting and importing tables in parallel, taking backups, and importing JSON data.
PostgreSQL Replication High Availability MethodsMydbops
This slides illustrates the need for replication in PostgreSQL, why do you need a replication DB topology, terminologies, replication nodes and many more.
MySQL client side caching allows caching of query results on the client side using the mysqlnd driver. It is transparent to applications using MySQL extensions like mysqli or PDO. Cached results are stored using pluggable storage handlers like APC, memcache, or local memory. Queries can be cached based on SQL hints or custom logic in a user-defined storage handler. Statistics are collected on cache usage and query performance to analyze effectiveness. This provides an alternative to server-side query caching with potential benefits like reducing network traffic and database load.
Este documento resume un artículo sobre la intervención profesional en trabajo social. Examina el contexto actual y los nuevos escenarios de intervención social, diferenciando entre intervención social e intervención en lo social. Analiza las críticas del movimiento de re conceptualización a la metodología tradicional, señalando que la falta de una formación basada en la relación entre teoría y método impide generar conocimiento sobre las realidades sociales. Finalmente, plantea que es necesario redefinir la intervención en lo social como un campo interdisciplinario, teniendo en
MySQL Server Performance Tuning 101 presented by Ligaya Turmelle discusses optimizing MySQL performance. It recommends first optimizing queries, then the underlying system. Various status variables provide insight into server operations like queries, caches, threads and storage engines. Global and session variables can be tuned including key buffer sizes, caches, threads and buffers. Understanding status variables and making incremental changes while benchmarking helps identify performance improvements.
The document discusses optimization of MySQL performance. It includes an agenda for the presentation which covers strategic considerations, schema optimization through normalization and indexing, and query optimization. Examples provided demonstrate summary and cache tables to improve query performance through de-normalization, and techniques for indexing and handling concurrency issues.
This document provides an overview of MySQL server performance tuning. It discusses laying the foundation for performance tuning by examining the server, OS, network and filesystem. It also covers examining current server settings and status variables, and tuning various aspects of MySQL like InnoDB, MyISAM, queries and session settings. The document aims to provide guidance on areas to optimize to improve MySQL server performance.
The Proper Care and Feeding of MySQL DatabasesDave Stokes
Many Linux System Administrators are 'also' accidental database administrators. This is a guide for them to keep their MySQL database instances happy, health, and glowing
Webinar slides: Our Guide to MySQL & MariaDB Performance TuningSeveralnines
If you’re asking yourself the following questions when it comes to optimally running your MySQL or MariaDB databases:
- How do I tune them to make best use of the hardware?
- How do I optimize the Operating System?
- How do I best configure MySQL or MariaDB for a specific database workload?
Then this replay is for you!
We discuss some of the settings that are most often tweaked and which can bring you significant improvement in the performance of your MySQL or MariaDB database. We also cover some of the variables which are frequently modified even though they should not.
Performance tuning is not easy, especially if you’re not an experienced DBA, but you can go a surprisingly long way with a few basic guidelines.
This webinar builds upon blog posts by Krzysztof from the ‘Become a MySQL DBA’ series.
AGENDA
- What to tune and why?
- Tuning process
- Operating system tuning
- Memory
- I/O performance
- MySQL configuration tuning
- Memory
- I/O performance
- Useful tools
- Do’s and do not’s of MySQL tuning
- Changes in MySQL 8.0
SPEAKER
Krzysztof Książek, Senior Support Engineer at Severalnines, is a MySQL DBA with experience managing complex database environments for companies like Zendesk, Chegg, Pinterest and Flipboard.
Proper Care and Feeding of a MySQL Database for Busy Linux AdministratorsDave Stokes
Do you 'also' have MySQL DBA responsibilities as part of your job but have no DBA training? This presentation covers a lot of the DBA level info for those who have a Linux admin background but are not DBAs
The Proper Care and Feeding of a MySQL Database for Busy Linux Admins -- SCaL...Dave Stokes
If you are a Linux administrator and ALSO have to take care of a MySQL databases, this presentation if for you, While it will not turn you instantly into a DBA it will help you understand how to properly care and feed your instances
Investigate SQL Server Memory Like Sherlock HolmesRichard Douglas
The document discusses optimizing memory usage in SQL Server. It covers how SQL Server uses memory, including the buffer pool and plan cache. It discusses different memory models and settings like max server memory. It provides views and queries to monitor memory usage and pressure, and describes techniques to intentionally create internal memory pressure to encourage plan cache churn.
On X86 systems, using an Unbreakable Enterprise Kernel (UEK) is recommended over other enterprise distributions as it provides better hardware support, security patches, and testing from the larger Linux community. Key configuration recommendations include enabling maximum CPU performance in BIOS, using memory types validated by Oracle, ensuring proper NUMA and CPU frequency settings, and installing only Oracle-validated packages to avoid issues. Monitoring tools like top, iostat, sar and ksar help identify any CPU, memory, disk or I/O bottlenecks.
Slides presented at Percona Live Europe Open Source Database Conference 2019, Amsterdam, 2019-10-01.
Imagine a world where all Wikipedia articles disappear due to a human error or software bug. Sounds unreal? According to some estimations, it would take an excess of hundreds of million person-hours to be written again. To prevent that scenario from ever happening, our SRE team at Wikimedia recently refactored the relational database recovery system.
In this session, we will discuss how we backup 550TB of MariaDB data without impacting the 15 billion page views per month we get. We will cover what were our initial plans to replace the old infrastructure, how we achieved recovering 2TB databases in less than 30 minutes while maintaining per-table granularity, as well as the different types of backups we implemented. Lastly, we will talk about lessons learned, what went well, how our original plans changed and future work.
Linuxfest Northwest Proper Care and Feeding Of a MySQL for Busy Linux AdminsDave Stokes
This document provides tips and best practices for properly configuring and maintaining a MySQL server for busy Linux administrators. It recommends focusing on hardware resources like memory, storage, and networking. It also emphasizes the importance of backups, replication, monitoring tools, and security configurations. Proper configuration of these areas can help keep MySQL databases running smoothly and prevent issues that waste administrators' time.
Percona Live '18 Tutorial: The Accidental DBAJenni Snyder
The document is an agenda for a talk titled "The Accidental DBA" about MySQL database administration. The talk covers MySQL basics like installation, configuration, backups and replication. It is meant to introduce attendees to common MySQL administration tasks and help them get more comfortable with database administration even if they came to it by accident. The speaker is Jenni Snyder, an engineering manager at Yelp who became their first DBA in 2011.
MariaDB Server Performance Tuning & OptimizationMariaDB plc
This document discusses various techniques for optimizing MariaDB server performance, including:
- Tuning configuration settings like the buffer pool size, query cache size, and thread pool settings.
- Monitoring server metrics like CPU usage, memory usage, disk I/O, and MariaDB-specific metrics.
- Analyzing slow queries with the slow query log and EXPLAIN statements to identify optimization opportunities like adding indexes.
This document provides a summary of a presentation on becoming an accidental PostgreSQL database administrator (DBA). It covers topics like installation, configuration, connections, backups, monitoring, slow queries, and getting help. The presentation aims to help those suddenly tasked with DBA responsibilities to not panic and provides practical advice on managing a PostgreSQL database.
This document discusses using Pacemaker with MySQL for high availability (HA). It covers key concepts in HA including eliminating single points of failure. It then discusses various MySQL HA solutions like replication, DRBD, MySQL Cluster, and using Linux HA tools like Pacemaker. Pacemaker manages resources across nodes to ensure services are always running, and can monitor and migrate MySQL and other services in an HA cluster. The document provides configuration examples and best practices for setting up MySQL HA with Pacemaker.
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar AhmedEqunix Business Solutions
This document discusses tuning Linux and PostgreSQL for performance. It recommends:
- Tuning Linux kernel parameters like huge pages, swappiness, and overcommit memory. Huge pages can improve TLB performance.
- Tuning PostgreSQL parameters like shared_buffers, work_mem, and checkpoint_timeout. Shared_buffers stores the most frequently accessed data.
- Other tips include choosing proper hardware, OS, and database based on workload. Tuning queries and applications can also boost performance.
Taking Splunk to the Next Level - Architecture Breakout SessionSplunk
This document provides an overview and agenda for taking a Splunk deployment to the next level by addressing scaling needs and high availability requirements. It discusses growing use cases and data volumes, making Splunk mission critical through clustering, and supporting global deployments. The agenda covers scaling strategies like indexer clustering, search head clustering, and hybrid cloud deployments. It also promotes justifying increased spending by mapping dependencies and costs of failures across an organization's systems.
The document discusses best practices for running MySQL on Linux, covering choices for Linux distributions, hardware recommendations including using solid state drives, OS configuration such as tuning the filesystem and IO scheduler, and MySQL installation and configuration options. It provides guidance on topics like virtualization, networking, and MySQL variants to help ensure successful and high performance deployment of MySQL on Linux.
The document summarizes new features in Oracle Database 12c from Oracle 11g that would help a DBA currently using 11g. It lists and briefly describes features such as the READ privilege, temporary undo, online data file move, DDL logging, and many others. The objectives are to make the DBA aware of useful 12c features when working with a 12c database and to discuss each feature at a high level within 90 seconds.
The document discusses two types of people who are dominant in technology: 1) those who understand what they do not manage, and 2) those who manage what they do not understand. The document is discussing how important it is for technology leaders to have a strong understanding of the systems and areas they are managing.
The Peoper Care and Feeding of a MySQL Server for Busy Linux AdminDave Stokes
Webcast 16 September 2015 with a big thanks to SolarWinds. This is a collection of best practices for Linux Admin who 'also have' database responsibility but are not DBAs
DevOps iş təhlükəsizliyi sizi maraqlandırır? İstər developer, istər təhlükəsizlik mühəndisi, istərsə də DevOps həvəskarı olun, bu tədbir şəbəkələşmək, biliklərinizi bölüşmək və DevSecOps sahəsində ən son təcrübələri öyrənmək üçün mükəmməl fürsətdir!
Bu workshopda DevOps infrastrukturlarının təhlükəsizliyini necə artırmaq barədə danışacayıq. DevOps sistemləri qurularkən avtomatlaşdırılmış, yüksək əlçatan və etibarlı olması ilə yanaşı, həm də təhlükəsizlik məsələləri nəzərə alınmalıdır. Bu səbəbdən, DevOps komandolarının təhlükəsizliyə yönəlmiş praktikalara riayət etməsi vacibdir.
DevNexus - Building 10x Development Organizations.pdfJustin Reock
Developer Experience is Dead! Long Live Developer Experience!
In this keynote-style session, we’ll take a detailed, granular look at the barriers to productivity developers face today and modern approaches for removing them. 10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method, we invent to deliver products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches works? DORA? SPACE? DevEx? What should we invest in and create urgency behind today so we don’t have the same discussion again in a decade?
FinTech - US Annual Funding Report - 2024.pptxTracxn
US FinTech 2024, offering a comprehensive analysis of key trends, funding activities, and top-performing sectors that shaped the FinTech ecosystem in the US 2024. The report delivers detailed data and insights into the region's funding landscape and other developments. We believe this report will provide you with valuable insights to understand the evolving market dynamics.
Gojek Clone is a versatile multi-service super app that offers ride-hailing, food delivery, payment services, and more, providing a seamless experience for users and businesses alike on a single platform.
https://ncracked.com/7961-2/
Note: >> Please copy the link and paste it into Google New Tab now Download link
Brave is a free Chromium browser developed for Win Downloads, macOS and Linux systems that allows users to browse the internet in a safer, faster and more secure way than its competition. Designed with security in mind, Brave automatically blocks ads and trackers which also makes it faster,
As Brave naturally blocks unwanted content from appearing in your browser, it prevents these trackers and pop-ups from slowing Download your user experience. It's also designed in a way that strips Downloaden which data is being loaded each time you use it. Without these components
[Webinar] Scaling Made Simple: Getting Started with No-Code Web AppsSafe Software
Ready to simplify workflow sharing across your organization without diving into complex coding? With FME Flow Apps, you can build no-code web apps that make your data work harder for you — fast.
In this webinar, we’ll show you how to:
Build and deploy Workspace Apps to create an intuitive user interface for self-serve data processing and validation.
Automate processes using Automation Apps. Learn to create a no-code web app to kick off workflows tailored to your needs, trigger multiple workspaces and external actions, and use conditional filtering within automations to control your workflows.
Create a centralized portal with Gallery Apps to share a collection of no-code web apps across your organization.
Through real-world examples and practical demos, you’ll learn how to transform your workflows into intuitive, self-serve solutions that empower your team and save you time. We can’t wait to show you what’s possible!
How Discord Indexes Trillions of Messages: Scaling Search Infrastructure by V...ScyllaDB
This talk shares how Discord scaled their message search infrastructure using Rust, Kubernetes, and a multi-cluster Elasticsearch architecture to achieve better performance, operability, and reliability, while also enabling new search features for Discord users.
30B Images and Counting: Scaling Canva's Content-Understanding Pipelines by K...ScyllaDB
Scaling content understanding for billions of images is no easy feat. This talk dives into building extreme label classification models, balancing accuracy & speed, and optimizing ML pipelines for scale. You'll learn new ways to tackle real-time performance challenges in massive data environments.
The Future of Repair: Transparent and Incremental by Botond DénesScyllaDB
Regularly run repairs are essential to keep clusters healthy, yet having a good repair schedule is more challenging than it should be. Repairs often take a long time, preventing running them often. This has an impact on data consistency and also limits the usefulness of the new repair based tombstone garbage collection. We want to address these challenges by making repairs incremental and allowing for automatic repair scheduling, without relying on external tools.
Many MSPs overlook endpoint backup, missing out on additional profit and leaving a gap that puts client data at risk.
Join our webinar as we break down the top challenges of endpoint backup—and how to overcome them.
What Makes "Deep Research"? A Dive into AI AgentsZilliz
About this webinar:
Unless you live under a rock, you will have heard about OpenAI’s release of Deep Research on Feb 2, 2025. This new product promises to revolutionize how we answer questions requiring the synthesis of large amounts of diverse information. But how does this technology work, and why is Deep Research a noticeable improvement over previous attempts? In this webinar, we will examine the concepts underpinning modern agents using our basic clone, Deep Searcher, as an example.
Topics covered:
Tool use
Structured output
Reflection
Reasoning models
Planning
Types of agentic memory
Transform Your Future with Front-End Development TrainingVtechlabs
Kickstart your career in web development with our front-end web development course in Vadodara. Learn HTML, CSS, JavaScript, React, and more through hands-on projects and expert mentorship. Our front-end development course with placement includes real-world training, mock interviews, and job assistance to help you secure top roles like Front-End Developer, UI/UX Developer, and Web Designer.
Join VtechLabs today and build a successful career in the booming IT industry!
EaseUS Partition Master Crack 2025 + Serial Keykherorpacca127
https://ncracked.com/7961-2/
Note: >> Please copy the link and paste it into Google New Tab now Download link
EASEUS Partition Master Crack is a professional hard disk partition management tool and system partition optimization software. It is an all-in-one PC and server disk management toolkit for IT professionals, system administrators, technicians, and consultants to provide technical services to customers with unlimited use.
EASEUS Partition Master 18.0 Technician Edition Crack interface is clean and tidy, so all options are at your fingertips. Whether you want to resize, move, copy, merge, browse, check, convert partitions, or change their labels, you can do everything with a few clicks. The defragmentation tool is also designed to merge fragmented files and folders and store them in contiguous locations on the hard drive.
UiPath Automation Developer Associate Training Series 2025 - Session 2DianaGray10
In session 2, we will introduce you to Data manipulation in UiPath Studio.
Topics covered:
Data Manipulation
What is Data Manipulation
Strings
Lists
Dictionaries
RegEx Builder
Date and Time
Required Self-Paced Learning for this session:
Data Manipulation with Strings in UiPath Studio (v2022.10) 2 modules - 1h 30m - https://academy.uipath.com/courses/data-manipulation-with-strings-in-studio
Data Manipulation with Lists and Dictionaries in UiPath Studio (v2022.10) 2 modules - 1h - https:/academy.uipath.com/courses/data-manipulation-with-lists-and-dictionaries-in-studio
Data Manipulation with Data Tables in UiPath Studio (v2022.10) 2 modules - 1h 30m - https:/academy.uipath.com/courses/data-manipulation-with-data-tables-in-studio
⁉️ For any questions you may have, please use the dedicated Forum thread. You can tag the hosts and mentors directly and they will reply as soon as possible.
TrustArc Webinar - Building your DPIA/PIA Program: Best Practices & TipsTrustArc
Understanding DPIA/PIAs and how to implement them can be the key to embedding privacy in the heart of your organization as well as achieving compliance with multiple data protection / privacy laws, such as GDPR and CCPA. Indeed, the GDPR mandates Privacy by Design and requires documented Data Protection Impact Assessments (DPIAs) for high risk processing and the EU AI Act requires an assessment of fundamental rights.
How can you build this into a sustainable program across your business? What are the similarities and differences between PIAs and DPIAs? What are the best practices for integrating PIAs/DPIAs into your data privacy processes?
Whether you're refining your compliance framework or looking to enhance your PIA/DPIA execution, this session will provide actionable insights and strategies to ensure your organization meets the highest standards of data protection.
Join our panel of privacy experts as we explore:
- DPIA & PIA best practices
- Key regulatory requirements for conducting PIAs and DPIAs
- How to identify and mitigate data privacy risks through comprehensive assessments
- Strategies for ensuring documentation and compliance are robust and defensible
- Real-world case studies that highlight common pitfalls and practical solutions
Computational Photography: How Technology is Changing Way We Capture the WorldHusseinMalikMammadli
📸 Computational Photography (Computer Vision/Image): How Technology is Changing the Way We Capture the World
Heç düşünmüsünüzmü, müasir smartfonlar və kameralar necə bu qədər gözəl görüntülər yaradır? Bunun sirri Computational Fotoqrafiyasında(Computer Vision/Imaging) gizlidir—şəkilləri çəkmə və emal etmə üsulumuzu təkmilləşdirən, kompüter elmi ilə fotoqrafiyanın inqilabi birləşməsi.
3. Frédéric Descamps
● lefred on IRC and Twitter
● Senior Linux and Open Source Consultant
@inuits.be
● Certified MySQL DBA since 2007
● First GNU/Linux distro (as far as I remember):
Slackware 3.0 (kernel 1.2.13)
● Blog: http://www.lefred.be
4. How come we need to
maintain tables ?
● A bit of history first:
once upon a time, there
was a developer who found
a great idea
5. Then he decided to create a proof of concept
and he coded, coded, coded a lot...
6. During the period he
unfortunately didn't discuss
with the DBA's and the OPS
But he discussed with
many other people like
marketing manager, sales
manager, regional manager,
product manager and all
were very happy and asked
to code even more !
9. Why ?
● Impossible to stop de database, it's too
important !
● There is too much data, tables are huge !!
• Tables > 400GB with 500M rows
• Primary keys are varchar(32)
● Impossible to optimize, add an index to a table
(>4h needed to add an index)
● How do we alter the schema ?
● How do we migrate to another version of
MySQL ?
13. Two very important points to never forget as
developer :
● Don't underestimate the complexity of production
environments
14. Don't !
● Never say: “but on my
laptop the query is
very fast”
15. What now ?
● The plan is to create a new server more
manageable with minimal downtime of the
production
• Reduce size if possible
• Make queries faster
● The server will be a replica of the current
production server with some different settings
17. ● Restore last backup
Ze Plan ● Prepare the new
database
● Dump & restore
data using maatkit
databasezilla
databasezilla ● Restart the
restore replication
● Replace the
production db by
the new one (only
downtime here)
18. Database size
● Deleting historical data sometimes doesn't help
really to save some space... ibdata won't shrink
● Data could be fragmented
• To avoid the use of that huge ibdata we add
this to the configuration of the new server:
innodb_file_per_table
19. MySQL version
● Maybe it is time to also change the MySQL
version to a newer one and even to change
engine !
● I advice you to try and use XtraDB from
percona. This includes corrections and
interresting patches (like those from Google)
• The list is available here :
http://www.percona.com/docs/wiki/percona-
xtradb:patch:start
20. Anything else to
change ?
● Maybe other settings aren't optimal for your
production environment. To have an overview
of them, I'd recommand the use of these two
tools :
• MySQLTuner
• tuning-primer
21. Example 1
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.37-community-log
[OK] Operating on 64-bit architecture
-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in InnoDB tables: 899G (Tables: 149)
[!!] Total fragmented tables: 82
-------- Performance Metrics -------------------------------------------------
[--] Up for: 23h 46m 1s (112M q [1K qps], 70K conn, TX: 44B, RX: 22B)
[--] Reads / Writes: 51% / 49%
[--] Total buffers: 12.4G global + 152.2M per thread (100 max threads)
[!!] Maximum possible memory usage: 27.3G (173% of installed RAM)
[OK] Slow queries: 0% (963/112M)
[OK] Highest usage of available connections: 52% (52/100)
[OK] Key buffer size / total MyISAM indexes: 256.0M/93.0K
[OK] Key buffer hit rate: 100.0% (215K cached / 3 reads)
[OK] Query cache efficiency: 43.3% (23M cached / 54M selects)
[!!] Query cache prunes per day: 3049150
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 754K sorts)
[!!] Joins performed without indexes: 19547
[OK] Temporary tables created on disk: 0% (1K on disk / 545K total)
[OK] Thread cache hit rate: 99% (53 created / 70K connections)
[OK] Table cache hit rate: 99% (802 open / 809 opened)
[OK] Open file limit used: 1% (59/4K)
[OK] Table locks acquired immediately: 100% (72M immediate / 72M locks)
[!!] InnoDB data size / buffer pool: 899.3G/12.0G
22. Example 2
MySQL Version 5.1.37-community-log x86_64
Uptime = 1 days 0 hrs 2 min 31 sec
Avg. qps = 1324
Total Questions = 114605776
Threads Connected = 47
SLOW QUERIES
The slow query log is enabled.
Current long_query_time = 10.000000 sec.
You have 972 out of 114605948 that take longer than 10.000000 sec. to complete
Your long_query_time seems to be fine
BINARY UPDATE LOG
The binary update log is enabled
The expire_logs_days is not set.
The mysqld will retain the entire binary log until RESET MASTER or PURGE MASTER LOGS commands are run
manually
Setting expire_logs_days will allow you to remove old binary logs automatically
See http://dev.mysql.com/doc/refman/5.1/en/purge-master-logs.html
Binlog sync is not enabled, you could loose binlog records during a server crash
WORKER THREADS
Current thread_cache_size = 8
Current threads_cached = 4
Current threads_per_sec = 0
Historic threads_per_sec = 0
Your thread_cache_size is fine
23. Example 2 (b)
MAX CONNECTIONS
Current max_connections = 100
Current threads_connected = 47
Historic max_used_connections = 52
The number of used connections is 52% of the configured maximum.
Your max_connections variable seems to be fine.
INNODB STATUS
Current InnoDB index space = 0 bytes
Current InnoDB data space = 0 bytes
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 12.00 G
Depending on how much space your innodb indexes take up it may be safe
to increase this value to up to 2 / 3 of total system memory
MEMORY USAGE
Max Memory Ever Allocated : 20.06 G
Configured Max Per-thread Buffers : 14.86 G
Configured Max Global Buffers : 12.33 G
Configured Max Memory Limit : 27.20 G
Physical Memory : 15.67 G
nMax memory limit exceeds 90% of physical memory
24. Example 2 (c)
KEY BUFFER
Current MyISAM index space = 8 K
Current key_buffer_size = 256 M
Key cache miss rate is 1 : 74223
Key buffer free ratio = 81 %
Your key_buffer_size seems to be too high.
Perhaps you can use these resources elsewhere
QUERY CACHE
Query cache is enabled
Current query_cache_size = 64 M
Current query_cache_used = 32 M
Current query_cache_limit = 2 M
Current Query cache Memory fill ratio = 51.30 %
Current query_cache_min_res_unit = 4 K
MySQL won't cache query results that are larger than query_cache_limit in size
SORT OPERATIONS
Current sort_buffer_size = 64 M
Current read_rnd_buffer_size = 16 M
Sort buffer seems to be fine
JOINS
Current join_buffer_size = 64.00 M
You have had 20057 queries where a join could not use an index properly
join_buffer_size >= 4 M
This is not advised
You should enable "log-queries-not-using-indexes"
Then look for non indexed joins in the slow query log.
25. Example 2 (d)
OPEN FILES LIMIT
Current open_files_limit = 4096 files
The open_files_limit should typically be set to at least 2x-3x
that of table_cache if you have heavy MyISAM usage.
Your open_files_limit value seems to be fine
TABLE CACHE
Current table_open_cache = 1024 tables
Current table_definition_cache = 256 tables
You have a total of 0 tables
You have 843 open tables.
The table_cache value seems to be fine
TEMP TABLES
Current max_heap_table_size = 64 M
Current tmp_table_size = 256 M
Of 554783 temp tables, 0% were created on disk
Effective in-memory tmp_table_size is limited to max_heap_table_size.
Created disk tmp tables ratio seems fine
TABLE SCANS
Current read_buffer_size = 8 M
Current table scan ratio = 162 : 1
read_buffer_size seems to be fine
TABLE LOCKING
Current Lock Wait ratio = 0 : 114608692
Your table locking seems to be fine
26. Filesystem
● xfs is much faster to store the binlogs and to
delete them
27. Start the replication
● Change to the right binlog and the right
position before the backup
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: xxxxx
Master_User: replica
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: xxxx.000052
Read_Master_Log_Pos: 426644104
Relay_Log_File: mysqld1relaybin.000173
Relay_Log_Pos: 426644245
Relay_Master_Log_File: xxxx.000052
mysql> CHANGE MASTER TO MASTER_HOST='xxxxx',
Slave_IO_Running: Yes MASTER_USER='replica', MASTER_PASSWORD='xxxx',
Slave_SQL_Running: Yes MASTER_PORT=3306, MASTER_LOG_FILE='xxx.000052',
Replicate_Do_DB: MASTER_LOG_POS=426644104,
Replicate_Ignore_DB: MASTER_CONNECT_RETRY=10;
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 426644104
Relay_Log_Space: 426644441
28. Monitor your production
● While you will do any work on the database, I
recommand you to use innotop, you will see
directly if something is going wrong
● Use cacti to see obviously strange behavior
29. Restore the backup
● I won't explain you how to restore a backup,
but on huge tables usually you don't have a
dump of the data but only the files and the
binlogs
● So restore the last production backup you have
on a new server (most of the time we use flash
copies)
30. Dump & restore the data
● Use maatkit parallel to dump and restore the
data
● While this operation, be careful to not delete
the binlogs on te master that you will need to
recover !
31. Remove historical data -
(scale back)
● Now that you have a more performant
database (as the indexes are rewritten) it's
time to archive the old data
● As the tables are still huges I don't recommand
to do a massive delete of many rows matching
a query
● Use (again) maatkit to archive
32. ptxArchiver
● I wrote a small script to use mk-archiver that
follows a defined strucure to archive all the
records linked together (foreignkeys)
$ ptxArchiver.pl t message w "timestamp <
unix_timestamp(date_sub(now(),interval 17
MONTH))*1000"
<tables>
<message>
<message>
field=id
p_field=origin
</message>
</message>
</tables>
36. Analyse your MySQL
Check regurarly the output of these statements:
● SHOW ENGINE INNODB STATUS;
• Returns information about semaphores, deadlocks, foreign
keys, transactions, buffer pool, I/O, ...
• This info can be automaticaly stored in the mysql log file every
15secs by creating the following table in mysql schema:
CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
● SHOW GLOBAL STATUS;
● SHOW TABLE STATUS;
37. Analyse your MySQL
● Use mk-query-digest on slow query log, binlogs
or processlist
• mk-query-digest --processlist 127.0.0.1,
● Don't forget innotop
● mysqlresources
● mysqlsla
● mysqlidxchk
● mysqlreport
38. AnalyZe your tables
● ANALYZE TABLE analyzes and stores the key
distribution for a table.
● For InnoDB the table is locked with a write lock.
● This statement is much faster then OPTIMIZE
TABLE.
● For InnoDB the statistics are updated everytime
that 1/16 of the data has been changed. For
huge tables it is then needed to update those
statistics manually more often.
40. Partitioning
● MySQL since 5.1 is able to manage horizontal
partitioning (records level). Since 5.5 you can
partition a table using multiple columns in the
range.
● Of course to partition the huge tables a
relevant column should be present in it (which
is not the case when the records are refering to
varchar(32) :'-(