High Performance Mysql Other Microsoft .NET Resources from O’Reilly

Total Page:16

File Type:pdf, Size:1020Kb

High Performance Mysql Other Microsoft .NET Resources from O’Reilly High Performance MySQL Other Microsoft .NET resources from O’Reilly Related titles Managing and Using MySQL PHP Cookbook™ MySQL Cookbook™ Practical PostgreSQL MySQL Pocket Reference Programming PHP MySQL Reference Manual SQL Tuning Learning PHP Web Database Applications PHP 5 Essentials with PHP and MySQL .NET Books dotnet.oreilly.com is a complete catalog of O’Reilly’s books on Resource Center .NET and related technologies, including sample chapters and code examples. ONDotnet.com provides independent coverage of fundamental, interoperable, and emerging Microsoft .NET programming and web services technologies. Conferences O’Reilly Media bring diverse innovators together to nurture the ideas that spark revolutionary industries. We specialize in docu- menting the latest tools and systems, translating the innovator’s knowledge into useful skills for those in the trenches. Visit con- ferences.oreilly.com for our upcoming events. Safari Bookshelf (safari.oreilly.com) is the premier online refer- ence library for programmers and IT professionals. Conduct searches across more than 1,000 books. Subscribers can zero in on answers to time-critical questions in a matter of seconds. Read the books on your Bookshelf from cover to cover or sim- ply flip to the page you need. Try it today for free. SECOND EDITION High Performance MySQL Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy D. Zawodny, Arjen Lentz, and Derek J. Balling Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo High Performance MySQL, Second Edition by Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy D. Zawodny, Arjen Lentz, and Derek J. Balling Copyright © 2008 O’Reilly Media, Inc. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (safari.oreilly.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or [email protected]. Editor: Andy Oram Indexer: Angela Howard Production Editor: Loranah Dimant Cover Designer: Karen Montgomery Copyeditor: Rachel Wheeler Interior Designer: David Futato Proofreader: Loranah Dimant Illustrators: Jessamyn Read Printing History: April 2004: First Edition. June 2008: Second Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. High Performance MySQL, the image of a sparrow hawk, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and authors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This book uses RepKover™, a durable and flexible lay-flat binding. ISBN: 978-0-596-10171-8 [M] Table of Contents Foreword . ix Preface . xi 1. MySQL Architecture . 1 MySQL’s Logical Architecture 1 Concurrency Control 3 Transactions 6 Multiversion Concurrency Control 12 MySQL’s Storage Engines 14 2. Finding Bottlenecks: Benchmarking and Profiling . 32 Why Benchmark? 33 Benchmarking Strategies 33 Benchmarking Tactics 37 Benchmarking Tools 42 Benchmarking Examples 44 Profiling 54 Operating System Profiling 76 3. Schema Optimization and Indexing . 80 Choosing Optimal Data Types 80 Indexing Basics 95 Indexing Strategies for High Performance 106 An Indexing Case Study 131 Index and Table Maintenance 136 Normalization and Denormalization 139 Speeding Up ALTER TABLE 145 Notes on Storage Engines 149 v 4. Query Performance Optimization . 152 Slow Query Basics: Optimize Data Access 152 Ways to Restructure Queries 157 Query Execution Basics 160 Limitations of the MySQL Query Optimizer 179 Optimizing Specific Types of Queries 188 Query Optimizer Hints 195 User-Defined Variables 198 5. Advanced MySQL Features . 204 The MySQL Query Cache 204 Storing Code Inside MySQL 217 Cursors 224 Prepared Statements 225 User-Defined Functions 230 Views 231 Character Sets and Collations 237 Full-Text Searching 244 Foreign Key Constraints 252 Merge Tables and Partitioning 253 Distributed (XA) Transactions 262 6. Optimizing Server Settings . 265 Configuration Basics 266 General Tuning 271 Tuning MySQL’s I/O Behavior 281 Tuning MySQL Concurrency 295 Workload-Based Tuning 298 Tuning Per-Connection Settings 304 7. Operating System and Hardware Optimization . 305 What Limits MySQL’s Performance? 306 How to Select CPUs for MySQL 306 Balancing Memory and Disk Resources 309 Choosing Hardware for a Slave 317 RAID Performance Optimization 317 Storage Area Networks and Network-Attached Storage 325 Using Multiple Disk Volumes 326 Network Configuration 328 vi | Table of Contents Choosing an Operating System 330 Choosing a Filesystem 331 Threading 334 Swapping 334 Operating System Status 336 8. Replication . 343 Replication Overview 343 Setting Up Replication 347 Replication Under the Hood 355 Replication Topologies 362 Replication and Capacity Planning 376 Replication Administration and Maintenance 378 Replication Problems and Solutions 388 How Fast Is Replication? 405 The Future of MySQL Replication 407 9. Scaling and High Availability . 409 Terminology 410 Scaling MySQL 412 Load Balancing 436 High Availability 447 10. Application-Level Optimization . 457 Application Performance Overview 457 Web Server Issues 460 Caching 463 Extending MySQL 470 Alternatives to MySQL 471 11. Backup and Recovery . 472 Overview 473 Considerations and Tradeoffs 477 Managing and Backing Up Binary Logs 486 Backing Up Data 488 Recovering from a Backup 499 Backup and Recovery Speed 510 Backup Tools 511 Scripting Backups 518 Table of Contents | vii 12. Security . 521 Terminology 521 Account Basics 522 Operating System Security 541 Network Security 542 Data Encryption 550 MySQL in a chrooted Environment 554 13. MySQL Server Status . 557 System Variables 557 SHOW STATUS 558 SHOW INNODB STATUS 565 SHOW PROCESSLIST 578 SHOW MUTEX STATUS 579 Replication Status 580 INFORMATION_SCHEMA 581 14. Tools for High Performance . 583 Interface Tools 583 Monitoring Tools 585 Analysis Tools 595 MySQL Utilities 598 Sources of Further Information 601 A. Transferring Large Files . 603 B. Using EXPLAIN . 607 C. Using Sphinx with MySQL . 623 D. Debugging Locks . 650 Index . 659 viii | Table of Contents Foreword 1 I have known Peter, Vadim, and Arjen a long time and have witnessed their long his- tory of both using MySQL for their own projects and tuning it for a lot of different high-profile customers. On his side, Baron has written client software that enhances the usability of MySQL. The authors’ backgrounds are clearly reflected in their complete reworking in this second edition of High Performance MySQL: Optimizations, Replication, Backups, and More. It’s not just a book that tells you how to optimize your work to use MySQL better than ever before. The authors have done considerable extra work, car- rying out and publishing benchmark results to prove their points. This will give you, the reader, a lot of valuable insight into MySQL’s inner workings that you can’t eas- ily find in any other book. In turn, that will allow you to avoid a lot of mistakes in the future that can lead to suboptimal performance. I recommend this book both to new users of MySQL who have played with the server a little and now are ready to write their first real applications, and to experi- enced users who already have well-tuned MySQL-based applications but need to get “a little more” out of them. —Michael Widenius March 2008 ix Preface2 We had several goals in mind for this book. Many of them were derived from think- ing about that mythical perfect MySQL book that none of us had read but that we kept looking for on bookstore shelves. Others came from a lot of experience helping other users put MySQL to work in their environments. We wanted a book that wasn’t just a SQL primer. We wanted a book with a title that didn’t start or end in some arbitrary time frame (“...in Thirty Days,” “Seven Days To a Better...”) and didn’t talk down to the reader. Most of all, we wanted a book that would help you take your skills to the next level and build fast, reliable systems with MySQL—one that would answer questions like “How can I set up a cluster of MySQL servers capable of handling millions upon millions of queries and ensure that things keep running even if a couple of the servers die?” We decided to write a book that focused not just on the needs of the MySQL appli- cation developer but also on the rigorous demands of the MySQL administrator, who needs to keep the system up and running no matter what the programmers or users may throw at the server. Having said that, we assume that you are already rela- tively experienced with MySQL and, ideally, have read an introductory book on it. We also assume some experience with general system administration, networking, and Unix-like operating systems. This revised and expanded second edition includes deeper coverage of all the topics in the first edition and many new topics as well. This is partly a response to the changes that have taken place since the book was first published: MySQL is a much larger and more complex piece of software now. Just as importantly, its popularity has exploded. The MySQL community has grown much larger, and big corporations are now adopting MySQL for their mission-critical applications. Since the first edi- tion, MySQL has become recognized as ready for the enterprise.* People are also * We think this phrase is mostly marketing fluff, but it seems to convey a sense of importance to a lot of people.
Recommended publications
  • Mysql Workbench Mysql Workbench
    MySQL Workbench MySQL Workbench Abstract This manual documents the MySQL Workbench SE version 5.2 and the MySQL Workbench OSS version 5.2. If you have not yet installed MySQL Workbench OSS please download your free copy from the download site. MySQL Workbench OSS is available for Windows, Mac OS X, and Linux. Document generated on: 2012-05-01 (revision: 30311) For legal information, see the Legal Notice. Table of Contents Preface and Legal Notice ................................................................................................................. vii 1. MySQL Workbench Introduction ..................................................................................................... 1 2. MySQL Workbench Editions ........................................................................................................... 3 3. Installing and Launching MySQL Workbench ................................................................................... 5 Hardware Requirements ............................................................................................................. 5 Software Requirements .............................................................................................................. 5 Starting MySQL Workbench ....................................................................................................... 6 Installing MySQL Workbench on Windows .......................................................................... 7 Launching MySQL Workbench on Windows .......................................................................
    [Show full text]
  • Mysql Replication Tutorial
    MySQL Replication Tutorial Lars Thalmann Technical lead Replication, Backup, and Engine Technology Mats Kindahl Lead Developer Replication Technology MySQL Conference and Expo 2008 Concepts 3 MySQL Replication Why? How? 1. High Availability Snapshots (Backup) Possibility of fail-over 1. Client program mysqldump 2. Load-balancing/Scale- With log coordinates out 2. Using backup Query multiple servers InnoDB, NDB 3. Off-site processing Don’t disturb master Binary log 1. Replication Asynchronous pushing to slave 2. Point-in-time recovery Roll-forward Terminology Master MySQL Server • Changes data • Has binlog turned on Master • Pushes binlog events to slave after slave has requested them MySQL Server Slave MySQL Server • Main control point of replication • Asks master for replication log Replication • Gets binlog event from master MySQL Binary log Server • Log of everything executed Slave • Divided into transactional components • Used for replication and point-in-time recovery Terminology Synchronous replication Master • A transaction is not committed until the data MySQL has been replicated (and applied) Server • Safer, but slower • This is available in MySQL Cluster Replication Asynchronous replication • A transaction is replicated after it has been committed MySQL Server • Faster, but you can in some cases loose transactions if master fails Slave • Easy to set up between MySQL servers Configuring Replication Required configuration – my.cnf Replication Master log-bin server_id Replication Slave server_id Optional items in my.cnf – What
    [Show full text]
  • Beyond Relational Databases
    EXPERT ANALYSIS BY MARCOS ALBE, SUPPORT ENGINEER, PERCONA Beyond Relational Databases: A Focus on Redis, MongoDB, and ClickHouse Many of us use and love relational databases… until we try and use them for purposes which aren’t their strong point. Queues, caches, catalogs, unstructured data, counters, and many other use cases, can be solved with relational databases, but are better served by alternative options. In this expert analysis, we examine the goals, pros and cons, and the good and bad use cases of the most popular alternatives on the market, and look into some modern open source implementations. Beyond Relational Databases Developers frequently choose the backend store for the applications they produce. Amidst dozens of options, buzzwords, industry preferences, and vendor offers, it’s not always easy to make the right choice… Even with a map! !# O# d# "# a# `# @R*7-# @94FA6)6 =F(*I-76#A4+)74/*2(:# ( JA$:+49>)# &-)6+16F-# (M#@E61>-#W6e6# &6EH#;)7-6<+# &6EH# J(7)(:X(78+# !"#$%&'( S-76I6)6#'4+)-:-7# A((E-N# ##@E61>-#;E678# ;)762(# .01.%2%+'.('.$%,3( @E61>-#;(F7# D((9F-#=F(*I## =(:c*-:)U@E61>-#W6e6# @F2+16F-# G*/(F-# @Q;# $%&## @R*7-## A6)6S(77-:)U@E61>-#@E-N# K4E-F4:-A%# A6)6E7(1# %49$:+49>)+# @E61>-#'*1-:-# @E61>-#;6<R6# L&H# A6)6#'68-# $%&#@:6F521+#M(7#@E61>-#;E678# .761F-#;)7-6<#LNEF(7-7# S-76I6)6#=F(*I# A6)6/7418+# @ !"#$%&'( ;H=JO# ;(\X67-#@D# M(7#J6I((E# .761F-#%49#A6)6#=F(*I# @ )*&+',"-.%/( S$%=.#;)7-6<%6+-# =F(*I-76# LF6+21+-671># ;G';)7-6<# LF6+21#[(*:I# @E61>-#;"# @E61>-#;)(7<# H618+E61-# *&'+,"#$%&'$#( .761F-#%49#A6)6#@EEF46:1-#
    [Show full text]
  • XAMPP Web Development Stack
    XAMPP Web Development Stack Overview @author R.L. Martinez, Ph.D. The steps below outline the processes for installing the XAMPP stack on a local machine. The XAMPP (pronounced Zamp) stack includes the following: Apache HTTP Server, MariaDB (essentially MySQL), Database Server, Perl, and the PHP Interpreter. The “X” in XAMPP is used to signify the cross-platform compatibility of the stack. The Apache HTTP Server and PHP are required to run phpMyAdmin which is a PHP application that is used for database administration tasks such as creating databases and tables, adding users, etc. Alternative to XAMPP If you have experience with MySQL Workbench, you may prefer to install MySQL Server and MySQL Workbench via the MySQL Installer. MySQL Workbench performs the same functions as phpMyAdmin. However, unlike phpMyAdmin which is a web-based application, MySQL Workbench is a locally installed application and therefore does not require an HTTP Server (e.g. Apache) to run. Installing XAMPP Many of the steps listed have several alternatives (such as changing MySQL passwords via a command line) and students are welcomed and encouraged to explore alternatives. 1. Download XAMPP from the URL below and place the installer (.exe) in the location where you want to install XAMPP. Placing the installer (.exe) in the same location as the intended installation is not required but preferred. http://www.apachefriends.org/download.html Page 1 of 17 XAMPP Web Development Stack 2. See the warning which recommends not installing to C:\Program Files (x86) which can be restricted by UAC (User Account Control). In the steps below XAMPP is installed to a USB flash drive for portability.
    [Show full text]
  • Mariadb Presentation
    THE VALUE OF OPEN SOURCE MICHAEL ”MONTY” WIDENIUS Entrepreneur, MariaDB Hacker, MariaDB CTO MariaDB Corporation AB 2019-09-25 Seoul 11 Reasons Open Source is Better than Closed Source ● Using open standards (no lock in into proprietary standards) ● Resource friendly; OSS software tend to work on old hardware ● Lower cost; Usually 1/10 of closed source software ● No cost for testing the full software ● Better documentation and more troubleshooting resources ● Better support, in many cases directly from the developers ● Better security, auditability (no trap doors and more eye balls) ● Better quality; Developed together with users ● Better customizability; You can also participate in development ● No vendor lock in; More than one vendor can give support ● When using open source, you take charge of your own future Note that using open source does not mean that you have to become a software producer! OPEN SOURCE, THE GOOD AND THE BAD ● Open source is a better way to develop software ● More developers ● More spread ● Better code (in many cases) ● Works good for projects that can freely used by a lot of companies in their production or products. ● It's very hard to create a profitable company developing an open source project. ● Not enough money to pay developers. ● Hard to get money and investors for most projects (except for infrastructure projects like libraries or daemon services). OPEN SOURCE IS NATURAL OR WHY OPEN SOURCE WORKS ● You use open source because it's less expensive (and re-usable) ● You solve your own problems and get free help and development efforts from others while doing it.
    [Show full text]
  • Mysql Administration Contents 1 Introduction 2 Server Configuration
    SA|MySQL Administration Page 1 1 -- From Linux command-line: MySQL Administration 2 sudo install mysql-server mysql by Terry Sergeant 3 sudo mysql_secure_installation 4 mysql -u root 5 Contents 6 -- now we are in the MySQL client: 7 SELECT user, host, authentication_string, plugin FROM mysql.user; 1 Introduction 1 8 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 1.1 Installation . 1 9 FLUSH PRIVILEGES; 1.2 First Steps . 1 10 \q 1.3 Some Other Useful Commands . 1 11 12 -- Back at Linux command-line ... test new password 2 Server Configuration 1 13 mysql -u root -p 2.1 SQL Mode . 1 2.2 Logging . 2 1.3 Some Other Useful Commands 3 MySQL Clients 2 From Linux command-line: 4 Data Types 2 1 systemctl status mysql 4.1 Numeric . 2 2 systemctl restart mysql 4.2 Character . 2 3 systemctl enable mysql 4.3 Binary . 2 4 systemctl is-enabled mysql 4.4 Temporal . 2 4.5 Other . 2 From MySQL command-line: 5 Obtaining Metadata 3 1 show databases; 2 use DBNAME; 6 Storage Engines 3 3 show tables; 6.1 MyISAM (default) . 3 4 desc TNAME; 6.2 InnoDB . 3 5 create database DBNAME; 6.3 InnoBase . 3 6 source SQLFILE; -- same as \. SQLFILE 6.4 MEMORY . 3 7 select @@datadir; 6.5 Other Engines . 3 7 Security and User Management 3 2 Server Configuration 7.1 Risks . 3 7.2 Some Commands . 3 Here are some common ways to tweak the server's configuration. 8 Backup and Recovery 4 mysqld --verbose --help (to see runtime options sup- 8.1 Backup Types .
    [Show full text]
  • Navicat Wine En.Pdf
    Table of Contents Getting Started 8 System Requirements 9 Registration 9 Installation 10 Maintenance/Upgrade 11 End-User License Agreement 11 Connection 17 Navicat Cloud 18 General Settings 21 Advanced Settings 24 SSL Settings 27 SSH Settings 28 HTTP Settings 29 Server Objects 31 MySQL/MariaDB Objects 31 MySQL Tables 31 MySQL/MariaDB Table Fields 32 MySQL/MariaDB Table Indexes 34 MySQL/MariaDB Table Foreign Keys 35 MySQL/MariaDB Table Triggers 36 MySQL/MariaDB Table Options 37 MySQL/MariaDB Views 40 MySQL/MariaDB Functions/Procedures 41 MySQL/MariaDB Events 43 Oracle Objects 44 Oracle Data Pump (Available only in Full Version) 44 Oracle Data Pump Export 45 Oracle Data Pump Import 48 Oracle Debugger (Available only in Full Version) 52 Oracle Physical Attributes/Default Storage Characteristics 53 Oracle Tables 55 Oracle Normal Tables 55 Oracle Table Fields 55 Oracle Table Indexes 57 Oracle Table Foreign Keys 58 Oracle Table Uniques 59 Oracle Table Checks 59 Oracle Table Triggers 60 Oracle Table Options 61 Oracle External Tables 62 2 Fields for Oracle External Tables 62 External Properties for Oracle External Tables 63 Access Parameters for Oracle External Tables 64 Oracle Index Organized Tables 64 Options for Oracle Index Organized Tables 64 Oracle Views 65 Oracle Functions/Procedures 66 Oracle Database Links 68 Oracle Indexes 68 Oracle Java 71 Oracle Materialized Views 72 Oracle Materialized View Logs 75 Oracle Packages 76 Oracle Sequences 77 Oracle Synonyms 78 Oracle Triggers 78 Oracle Types 81 Oracle XML Schemas 82 Oracle Recycle Bin
    [Show full text]
  • Mysql Database Administrator
    MySQL Database Administrator Author: Kacper Wysocki Contact: [email protected] Date: December 2010 License: Creative Commons: CC BY-SA Oslo, December 2010, CC BY-SA Contents Introduction 5 Introductions everybody 5 About this course 5 Course outline 6 Course schedule 6 How to do excersies 6 MySQL: history and future 6 MySQL: the present 7 MySQL: the future 7 MySQL compared to other DBs 7 MySQL language support 8 Embedding MySQL 8 Getting help with MySQL 8 MySQL architecture 9 Modular architecture 9 The MySQL modules 9 Client/server architecture 10 Installing MySQL 10 Installation process 10 Distribution packages 11 MySQL official binaries 11 Deploying sandboxes 12 Installing from source 13 Server Startup and Shutdown 14 MySQL relevant files 15 Excersises: Installation 15 Upgrading MySQL 16 Clients: the mysql* suite 16 Client: mysql 16 Excersise: Client mysql 16 Excersise: mysql CLI 17 Further CLI fun 17 Digression: some SQL 18 Client: mysqladmin 18 Excersises: Client: mysql 18 Clients: applications and libraries 18 Oslo, December 2010, CC BY-SA migration 19 Importing data: timezones 19 Importing data 19 Excersises: importing data 20 Excersises: time zones 20 Exporting data 20 Excersises: Exporting data 21 Configuration 21 More configuration 21 Run-time Variables 22 MySQL Architecture 23 Storage Engines 23 Storage Engines 23 Storage Engines types 23 MyISAM 24 MYISAM_MRG 24 InnoDB 24 Excersises: InnoDB 24 FEDERATED 25 CSV 25 ARCHIVE 25 MEMORY 25 BLACKHOLE 25 So... which engine? 26 Engine Excersises 26 Implementing Security 26
    [Show full text]
  • How Mysql Handles ORDER BY, GROUP BY, and DISTINCT
    How MySQL handles ORDER BY, GROUP BY, and DISTINCT Sergey Petrunia, [email protected] MySQL University Session November 1, 2007 Copyright 2007 MySQL AB The World’s Most Popular Open Source Database 1 Handling ORDER BY • Available means to produce ordered streams: – Use an ordered index • range access – not with MyISAM/InnoDB's DS-MRR – not with Falcon – Has extra (invisible) cost with NDB • ref access (but not ref-or-null) results of ref(t.keypart1=const) are ordered by t.keypart2, t.keypart3, ... • index access – Use filesort Copyright 2007 MySQL AB The World’s Most Popular Open Source Database 2 Executing join and producing ordered stream There are three ways to produce ordered join output Method EXPLAIN shows Use an ordered index Nothing particular Use filesort() on 1st non-constant table “Using filesort” in the first row Put join result into a temporary table “Using temporary; Using filesort” in the and use filesort() on it first row EXPLAIN is a bit counterintuitive: id select_type table type possible_keys key key_len ref rows Extra Using where; 1 SIMPLE t2 range a a 5 NULL 10 Using temporary; Using filesort 1 SIMPLE t2a ref a a 5 t2.b 1 Using where Copyright 2007 MySQL AB The World’s Most Popular Open Source Database 3 Using index to produce ordered join result • ORDER BY must use columns from one index • DESC is ok if it is present for all columns • Equality propagation: – “a=b AND b=const” is detected – “WHERE x=t.key ORDER BY x” is not • Cannot use join buffering – Use of matching join order disables use of join buffering.
    [Show full text]
  • Navicat Premium Romania V12
    Table of Contents Chapter 1 - Introduction 8 About Navicat 8 Installation 10 End-User License Agreement 12 Chapter 2 - User Interface 18 Main Window 18 Navigation Pane 19 Object Pane 20 Information Pane 21 Chapter 3 - Navicat Cloud 23 About Navicat Cloud 23 Manage Navicat Cloud 24 Chapter 4 - Connection 27 About Connection 27 General Settings 28 RDBMS 28 MongoDB 30 SSL Settings 31 SSH Settings 33 HTTP Settings 34 Advanced Settings 34 Databases / Attached Databases Settings 37 Chapter 5 - Server Objects 38 About Server Objects 38 MySQL / MariaDB 38 Databases 38 Tables 38 Views 39 Procedures / Functions 40 Events 41 Maintain Objects 41 Oracle 41 Schemas 41 Tables 42 Views 42 Materialized Views 43 Procedures / Functions 44 Packages 45 Recycle Bin 46 Other Objects 47 1 Maintain Objects 47 PostgreSQL 49 Databases & Schemas 49 Tables 50 Views 51 Materialized Views 51 Functions 52 Types 53 Foreign Servers 53 Other Objects 54 Maintain Objects 54 SQL Server 54 Databases & Schemas 54 Tables 55 Views 56 Procedures / Functions 56 Other Objects 57 Maintain Objects 58 SQLite 59 Databases 59 Tables 59 Views 60 Other Objects 60 Maintain Objects 61 MongoDB 61 Databases 61 Collections 61 Views 62 Functions 62 Indexes 63 MapReduce 63 GridFS 63 Maintain Objects 64 Chapter 6 - Data Viewer 66 About Data Viewer 66 RDBMS 66 RDBMS Data Viewer 66 Use Navigation Bar 66 Edit Records 67 Sort / Find / Replace Records 73 Filter Records 75 Manipulate Raw Data 75 2 Format Data View 76 MongoDB 77 MongoDB Data Viewer 77 Use Navigation Bar 78 Grid View 79 Tree View 85 JSON
    [Show full text]
  • ZRM for Mysql Performance Benchmarks
    Backup and recovery benchmarks for MyISAM and InnoDB engines with Zmanda Recovery Manager for MySQL. By Dmitri Joukovski and Shailen Patel "As MySQL gains widespread adoption and moves more broadly into the enterprise, ZRM for MySQL addresses the growing need among database administrators to protect their digital assets with a comprehensive backup and recovery solution. Zmanda is a valued member of MySQL's ecosystem, and their open source backup solutions are an excellent complement to MySQL's open source database offerings." Marten Mickos, CEO of MySQL AB. Abstract This document provides backup and recovery benchmarks for MyISAM and InnoDB engines with logical, raw and snapshot methods of backup available in ZRM for MySQL. Please send your comments to [email protected] The MySQL database has become the world's most popular open source database because of its consistent fast performance, high reliability and ease of use. The DBAs also expect performance, robustness and ease of use from a backup solution for MySQL. Often times we are asked what performance to expect from Zmanda Recovery Manager (ZRM) for MySQL. This document describes our first results in measuring ZRM backup and recovery performance. Testing configuration 2 x 2.8Ghz/800 FSB Xeon server 4GB ECC/Registered 333Mhz RAM 9500S-12MI 3Ware SATA Controller 230 GB RAID 1 system array 2.27 TB RAID 0 data array All Disks 7200 RPM Operating System - Red Hat Enterprise Linux AS 4 with 2.6.12 kernel Backup of MySQL version 5.0 database MyISAM and InnoDB storage engines Version 1.1 of Enterprise Edition ZRM for MySQL According to 3Ware, the 9500 SATA controller supports a transfer rate of approximately 400 MB/s.
    [Show full text]
  • Mysql GUI Tools Manual Mysql GUI Tools Manual Abstract
    MySQL GUI Tools Manual MySQL GUI Tools Manual Abstract This manual describes all the MySQL GUI Tools. Document generated on: 2010-02-04 (revision: 18947) Copyright 2004-2008 MySQL AB, 2009 Sun Microsystems, Inc. This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms: You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as the actual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar me- dium, provided however that the documentation is disseminated together with the software on the same medium. Any other use, such as any dis- semination of printed copies or use of this documentation, in whole or in part, in another publication, requires the prior written consent from an au- thorized representative of Sun Microsystems, Inc. Sun Microsystems, Inc. and MySQL AB reserve any and all rights to this documentation not ex- pressly granted above. For more information on the terms of this license, for details on how the MySQL documentation is built and produced, or if you are interested in doing a translation, please contact the http://www.mysql.com/company/contact/. If you want help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you can discuss your issues with other MySQL users.
    [Show full text]