This document discusses the different types of tablespaces in InnoDB including the system tablespace (ibdata1), file-per-table tablespaces (.ibd), general tablespaces (.ibd), undo tablespaces (undo_001), and temporary tablespaces (.ibt, ibtmp1). It provides details on the structure and management of space within these tablespaces including pages, extents, segments, the file space header, extent descriptor pages, and the doublewrite buffer.
Given that the database, as the canonical repository of data, is the most important part of many applications, why is it that we don't write database unit tests? This talk promotes the practice of implementing tests to directly test the schema, storage, and functionality of databases.
When does InnoDB lock a row? Multiple rows? Why would it lock a gap? How do transactions affect these scenarios? Locking is one of the more opaque features of MySQL, but it’s very important for both developers and DBA’s to understand if they want their applications to work with high performance and concurrency. This is a creative presentation to illustrate the scenarios for locking in InnoDB and make these scenarios easier to visualize. I'll cover: key locks, table locks, gap locks, shared locks, exclusive locks, intention locks, insert locks, auto-inc locks, and also conditions for deadlocks.
The document describes the format, creation, insertion, and deletion processes for hash tables in MySQL. It explains that a hash table contains elements like the type, number of cells, synchronization objects, and pointer to the cell array. It then outlines the functions involved in initializing a hash table, inserting data by searching for the last hash entry and adding the new entry, and deleting an entry by changing pointers to the next hash entry.
Oracle Week 2015 presentation (Presented on November 15, 2015)
Agenda:
Aggregative and advanced grouping options
Analytic functions, ranking and pagination
Hierarchical and recursive queries
Oracle 12c new rows pattern matching feature
XML and JSON handling with SQL
Regular Expressions
SQLcl – a new replacement tool for SQL*Plus from Oracle
MySQL performance can be improved by tuning queries, server options, and hardware. Traditionally it was an area of responsibility for three different roles: Development, DBA, and System Administrators. Now DevOps handle these all. But there is a gap. Knowledge gained by MySQL DBAs after years or focusing on a single product is hard to gain when you focus on more than one. This is why I am doing this session. I will show a minimal but most effective set of options to improve MySQL performance. For illustrations, I will use real user stories gained from my Support experience and Percona Kubernetes operators for PXC and MySQL.
The document provides information on how to reduce the size of the SYSAUX tablespace in an Oracle database. It discusses which database components occupy space in SYSAUX, including top offenders like SM/AWR and SM/OPTSTAT. It then describes various methods to cleanup the SYSAUX tablespace such as reorganizing tables and indexes, moving components to other tablespaces using provided procedures, and reducing retention periods for components like AWR and advisors to delete old data. Proper sizing of the SYSAUX tablespace is also discussed.
This document summarizes a presentation on Multi Version Concurrency Control (MVCC) in PostgreSQL. It begins with definitions and history of MVCC, describing how it allows transactions to read and write without blocking each other. It then discusses two approaches to MVCC - storing old versions in the main database (PostgreSQL) vs a separate area (Oracle). The rest of the document does a deep dive on how MVCC is implemented in PostgreSQL specifically, showing how tuple headers track transaction IDs and pointers to maintain multiple versions of rows.
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.
A presentation about new features and enhancements related to indexes and indexing in Oracle 12c.
See also the related post: http://db-oriented.com/2015/07/03/indexes-and-indexing-in-oracle-12c
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 Oracle database performance tuning. It covers identifying common Oracle performance issues such as CPU bottlenecks, memory issues, and inefficient SQL statements. It also outlines the Oracle performance tuning method and tools like the Automatic Database Diagnostic Monitor (ADDM) and performance page in Oracle Enterprise Manager. These tools help administrators monitor performance, identify bottlenecks, implement ADDM recommendations, and tune SQL statements reactively when issues arise.
Replication Troubleshooting in Classic VS GTIDMydbops
This presentation talk will assist you in troubleshooting MySQL replication for the most common issues we might face with a simple comparison of how can we get them solved in the different replication methods (Classic VS GTID).
M|18 Deep Dive: InnoDB Transactions and Write PathsMariaDB plc
The document discusses the write path for transactions in InnoDB from the client connection to physical storage. It compares InnoDB's transaction and storage layers to the OSI model. Key aspects covered include how SQL statements are executed, how rows are locked, written to indexes and undo logs, and how transactions are committed or rolled back. Mini-transactions provide atomic durable changes to multiple pages using write-ahead logging to the redo log.
Up to MySQL 5.5, replication was not crash safe: after a crash, it would fail with "duplicate key" or "row not found" error, or might generate silent data corruption. It looks like 5.6 is much better, right? The short answer is maybe: in the simplest case, it is possible to achieve replication crash safety but it is not the default setting. MySQL 5.7 is not much better, 8.0 has safer defaults but it is still easy to get things wrong.
Crash safety is impacted by replication positioning (File+Pos or GTID), type (single-threaded or MTS), MTS settings (Database or Logical Clock, and with or without slave preserve commit order), the sync-ing of relay logs, the presence of binary logs, log-slave-updates and their sync-ing. This is very complicated stuff and even the manual is confused about it.
In this talk, I will explain the impact of above and help you finding the path to crash safety nirvana. I will also give details about replication internals, so you might learn a thing or two.
Recovery of lost or corrupted inno db tables(mysql uc 2010)Aleksandr Kuzminsky
The document discusses recovery of lost or corrupted InnoDB tables in MySQL. It provides an overview of how MySQL stores data in InnoDB, describes typical failure scenarios that can cause data loss or corruption, and introduces an InnoDB recovery tool that can be used to parse InnoDB tablespace pages and apply constraints to recover records from corrupted pages.
This document provides an overview of troubleshooting replication in MySQL and MariaDB databases. It discusses typical errors seen with the slave IO thread and slave SQL thread, such as replication stopping, the slave lagging behind the master, and the master increasing in resource usage. It also covers replication concepts like the master-slave architecture, binary logging formats, global transaction identifiers, and tools for monitoring replication like SHOW SLAVE STATUS and Performance Schema.
Linux con europe_2014_full_system_rollback_btrfs_snapper_0sprdd
This document discusses using Btrfs and Snapper to enable full system rollbacks. It describes how snapshots are used to capture the state of the system at different points in time. These snapshots can then be used to rollback the entire system to a previous known good state, reducing downtime from system issues or configuration changes. The key capabilities of Snapshots include automatically capturing changes, displaying differences between snapshots, and rolling back to previous states. Integration with tools like YaST allow visualizing and undoing changes at the file level, while full system rollback supports reverting the entire operating system, including the kernel.
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.
The document outlines changes and new features in MySQL versions 5.7 through upcoming releases. Key points include:
- MySQL 5.7 development follows a milestone release process to stabilize new features before general availability. Four development milestone releases have been completed so far.
- Notable 5.7 features include statement timeouts, change replication without stopping SQL threads, and performance improvements like optimized UNION ALL queries.
- Some existing functionality will change in 5.7, like making replication more durable by default and producing errors for queries with only partial GROUP BY clauses.
- Ongoing efforts include refactoring and improving InnoDB, the optimizer, and other components for better performance and scalability. New features in development
This document discusses various methods for optimizing performance of MySQL databases, including upgrading hardware and software, optimizing configuration settings, optimizing queries, and optimizing database schemas. It provides an example of using EXPLAIN plans and adding indexes to optimize queries on a database table to improve performance. The author recommends focusing on query optimization as the best method, using profilers and slow query logs to identify queries to optimize.
MySQL 5.7 proposes several changes to improve performance and consistency including:
1. Making replication durable by default by setting sync_binlog and repository options.
2. Deprecating features like INNODB monitor tables and ALTER IGNORE TABLE in favor of newer standards.
3. Simplifying and restricting SQL modes to encourage stricter querying and remove ambiguous options. Explanations for errors and modes will also be improved.
MySQL 5.6 - Operations and Diagnostics ImprovementsMorgan Tocker
This document discusses MySQL 5.6 and its improvements to operational and diagnostic capabilities. Key enhancements include online DDL operations that do not block reads or writes, buffer pool dump and restore for faster startup, import/export of partitioned tables, and transportable tablespaces. Diagnostic tools were improved with EXPLAIN showing more details, the ability to EXPLAIN updates and deletes, optimizer tracing, and the performance schema providing detailed query level instrumentation and monitoring by default.
This document provides an overview of MySQL for Linux system administrators. It discusses MySQL architecture including storage engines, memory usage, the MySQL server process, and InnoDB transaction processing. It also covers topics like backups and replication, and the agenda includes performance and capacity planning. The goal is to help system administrators understand and manage MySQL databases.
The document provides an overview of the InnoDB storage engine used in MySQL. It discusses InnoDB's architecture including the buffer pool, log files, and indexing structure using B-trees. The buffer pool acts as an in-memory cache for table data and indexes. Log files are used to support ACID transactions and enable crash recovery. InnoDB uses B-trees to store both data and indexes, with rows of variable length stored within pages.
This document appears to be a slide presentation given by Giuseppe Maxia about MySQL. Some key points made in the presentation include:
- Giuseppe introduces himself and his background with MySQL.
- MySQL is presented as a solution for startups and small businesses due to its low cost, ease of use, and stability.
- MySQL has a large user base powering many major websites and has a business model of offering additional services to larger customers.
- The MySQL community is highlighted as contributing to many open source projects and tools.
The document discusses MySQL architecture and concepts. It describes the application layer where users interact with the MySQL database. It then explains the logical layer which includes subsystems like the query processor, transaction management, recovery management and storage management that work together to process requests. Key concepts like concurrency control, locks, transactions, storage engines and InnoDB/MyISAM are also overviewed.
This document provides an overview and instructions for installing and using the MySQL database system. It describes MySQL's client-server architecture, how to connect to the MySQL server using the command line client, and provides examples of common SQL commands for creating databases and tables, inserting, selecting, updating, and deleting rows of data. It also introduces some basic SQL functions and provides SQL scripts as examples to create tables and insert data.
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법Ji-Woong Choi
MySQL 소개
간략한 소개
version history
MySQL 사용처
제품 군 변화
시장 변화
MySQL 구성
MySQL 클라이언트 / 서버 개념
클라이언트 프로그램
MySQL 설치
MySQL 버전
MySQL 설치
MySQL 환경 설정
환경설정, 변수 설정
MySQL 스토리지 엔진 소개
MySQL tuning 소개 및 방법
데이터 백업/복구 방법
백업
복구
MySQL Upgrade
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018Amazon Web Services Korea
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성
게임 서비스 아키텍처에서 관계형 데이터베이스는 핵심 컴포넌트이며 또한 전체 서비스의 성능 병목 지점이 되곤 합니다. 이 세션에서는 AWS 상에서 게임 서비스를 구현할 때, 기존 물리환경에서의 DB 성능과 동일하거나 더 높은 성능을 얻을 수 있는 구성을 설명 드리며, MS SQL 구성의 성능 데모를 시연하고자 합니다.
- MariaDB 소개
- MariaDB 서버 구성 및 아키텍처 이해
- MariaDB 스토리지 엔진
- MariaDB 데이터베이스 관리
- 트랜잭션 / Locking 의 이해
- MariaDB 보안
- 백업과 복구를 통한 데이터베이스 관리
- MariaDB upgrade
- MariaDB 모니터링
- MySQL 에서 MariaDB 로의 전환
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | Aurora로 게임 데이터베이스 레벨 업! - 김병수 AWS ...Amazon Web Services Korea
Amazon Aurora Database는 오픈소스의 개방성과 상용 데이터베이스의 성능과 안정성을 모두 제공하는 관리형 데이터베이스 서비스입니다. Amazon Aurora Database는 처음 소개된 이후로 계속 기능을 추가하며 진화해 왔습니다. Amazon Aurora의 성능과 새롭게 업데이트된 기능들을 게임사에 적용할 수 있는 사용 사례와 함께 소개합니다.
레드햇의 Etsuji Nakai 씨의 "OpenStack: Inside Out" 한글 번역본입니다.
다시 한번 좋은 문서를 공유해주신 Etsuji Nakai 씨에게 감사를 드립니다.
http://www.slideshare.net/enakai/open-stack-insideoutv10
Vectorized Processing in a Nutshell. (in Korean)
Presented by Hyoungjun Kim, Gruter CTO and Apache Tajo committer, at DeView 2014, Sep. 30 Seoul Korea.
더 빠른 게임시스템을 위하여 개선된 서비스들
김병수 솔루션즈 아키텍트, AWS
AWS의 모든 서비스들은 끊임없이 발전하고 개선되고 있습니다. 그런데 이러한 새로운 서비스들, 얼마나 빠른지, 과연 사용할때 얼마나 개선이 될수 있을지 궁금하지 않으신가요? 본 세션에서는 기존의 시스템에서 그대로 적용할 수 있는 AWS의 새로운 서비스와 기능을 중심으로 서비스 개선 부터 새롭게 선보이는 최적화된 시스템들까지, 다양한 개선점들과 이들을 사용할수 있는 최적의 조합을 살펴봅니다.