New Features in MySQL 5.0, 5.1, and Beyond



Similar documents
Database Administration with MySQL

Partitioning under the hood in MySQL 5.5

MySQL Storage Engines

Using MySQL for Big Data Advantage Integrate for Insight Sastry Vedantam

Database Migration from MySQL to RDM Server

SCALABLE DATA SERVICES

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

MariaDB Cassandra interoperability

MySQL 6.0 Backup. Replication and Backup Team. Dr. Lars Thalmann Dr. Charles A. Bell Rafal Somla. Presented by, MySQL & O Reilly Media, Inc.

Full Text Search in MySQL 5.1 New Features and HowTo

MySQL Technical Overview

OLH: Oracle Loader for Hadoop OSCH: Oracle SQL Connector for Hadoop Distributed File System (HDFS)

Linas Virbalas Continuent, Inc.

High Availability and Scalability for Online Applications with MySQL

Tushar Joshi Turtle Networks Ltd

Oracle Data Integration Solutions GoldenGate New Features Summary

Real-time reporting at 10,000 inserts per second. Wesley Biggs CTO 25 October 2011 Percona Live

MySQL Cluster Deployment Best Practices

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

DBA Tutorial Kai Voigt Senior MySQL Instructor Sun Microsystems Santa Clara, April 12, 2010

SQL Server An Overview

Determining your storage engine usage

Microsoft SQL Database Administrator Certification

Redundant Storage Cluster

Using SQL Server Management Studio

Testing and Verifying your MySQL Backup Strategy

MySQL Command Syntax

How To Build A Fault Tolerant Mythrodmausic Installation

Part 3. MySQL DBA I Exam

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia

Safe Harbor Statement

Tier Architectures. Kathleen Durant CS 3200

Getting Started with Attunity CloudBeam for Azure SQL Data Warehouse BYOL

Extracting META information from Interbase/Firebird SQL (INFORMATION_SCHEMA)

Microsoft SQL Server to Infobright Database Migration Guide

How, What, and Where of Data Warehouses for MySQL

Architectures Haute-Dispo Joffrey MICHAÏE Consultant MySQL

MySQL 5.0 vs. Microsoft SQL Server 2005

Administering a Microsoft SQL Server 2000 Database

BlackHole. BlackHole is a storage solution. It does data-deduplication, mirroring (sync and async), snapshots, in-line compression and encryption.

Intro to Databases. ACM Webmonkeys 2011

8- Management of large data volumes

SQL Object Level Recovery Native 1.1

Simba Apache Cassandra ODBC Driver

Cassandra vs MySQL. SQL vs NoSQL database comparison

Integrating Apache Spark with an Enterprise Data Warehouse

Oracle Database 12c Plug In. Switch On. Get SMART.

EMBL-EBI. Database Replication - Distribution

Planning the Installation and Installing SQL Server

Administering a Microsoft SQL Server 2000 Database


What s New in MySQL 5.7 Security Georgi Joro Kodinov Team Lead MySQL Server General Team

B.1 Database Design and Definition

Database Setup. Coding, Understanding, & Executing the SQL Database Creation Script

Integrating Big Data into the Computing Curricula

Oracle Database 12c: New Features for Administrators

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

How To Create A Table In Sql (Ahem)

CSC 443 Data Base Management Systems. Basic SQL

MS SQL Server 2014 New Features and Database Administration

S W I S S O R A C L E U S E R G R O U P. N e w s l e t t e r 3 / J u l i with MySQL 5.5. Spotlight on the SQL Tuning

Chancery SMS Database Split

Chapter 6: Physical Database Design and Performance. Database Development Process. Physical Design Process. Physical Database Design

Alexander Rubin Principle Architect, Percona April 18, Using Hadoop Together with MySQL for Data Analysis

SQL Server Training Course Content

Zero Downtime Deployments with Database Migrations. Bob Feldbauer

Fact Sheet In-Memory Analysis

Advanced SQL. Jim Mason. Web solutions for iseries engineer, build, deploy, support, train

Informatica Data Replication FAQs

Microsoft SQL Server Staging

MySQL Security for Security Audits

MySQL Security: Best Practices

Who am I? Copyright 2014, Oracle and/or its affiliates. All rights reserved. 3

Online Schema Changes for Maximizing Uptime. David Turner - Dropbox Ben Black - Tango

ORACLE DATABASE 12C: NEW FEATURES FOR ADMINISTRATORS GRADE CURRICULAR. Enterprise Manager Express home page versus Enterprise Manager Database Control

Dedicated Real-time Reporting Instances for Oracle Applications using Oracle GoldenGate

Plug-In for Informatica Guide

LOBs were introduced back with DB2 V6, some 13 years ago. (V6 GA 25 June 1999) Prior to the introduction of LOBs, the max row size was 32K and the

New Features... 1 Installation... 3 Upgrade Changes... 3 Fixed Limitations... 4 Known Limitations... 5 Informatica Global Customer Support...

A table is a collection of related data entries and it consists of columns and rows.

Big data is like teenage sex: everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone

Knocker main application User manual

Comparing SQL and NOSQL databases

A Tutorial on SQL Server CMPT 354 Fall 2007

Synchronous multi-master clusters with MySQL: an introduction to Galera

A Brief Introduction to MySQL

Apache Sqoop. A Data Transfer Tool for Hadoop

DataLogger Kepware, Inc.

Firebird. A really free database used in free and commercial projects

Actian Analytics Platform Express Hadoop SQL Edition 2.0

High Availability Solutions for the MariaDB and MySQL Database

Administering a Microsoft SQL Server 2000 Database

The release notes provide details of enhancements and features in Cloudera ODBC Driver for Impala , as well as the version history.

Using a Data Warehouse to Audit a Transactional System

5 Signs You Might Be Outgrowing Your MySQL Data Warehouse*

SQL. Short introduction

PostgreSQL Features, Futures and Funding. Simon Riggs

Transcription:

New Features in MySQL 5.0, 5.1, and Beyond Jim Winstead jimw@mysql.com Southern California Linux Expo February 2006 MySQL AB

5.0: GA on 19 October 2005 Expanded SQL standard support: Stored procedures and functions Triggers Views INFORMATION_SCHEMA True VARCHAR True DECIMAL (precision math) SQL Mode XA (Distributed transactions) Federated and archive storage engines

Stored procedures and functions mysql> DELIMITER // mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) -> BEGIN -> SELECT COUNT(*) INTO param1 FROM t; -> END// Query OK, 0 rows affected (0.00 sec) mysql> CALL simpleproc(@a)// Query OK, 0 rows affected (0.00 sec) mysql> SELECT @a// +------+ @a +------+ 3 +------+ 1 row in set (0.00 sec)

Triggers mysql> delimiter // mysql> CREATE TRIGGER upd_check -> BEFORE UPDATE ON account -> FOR EACH ROW -> BEGIN -> IF NEW.amount < 0 THEN -> SET NEW.amount = 0; -> ELSEIF NEW.amount > 100 THEN -> SET NEW.amount = 100; -> END IF; -> END;//

Views mysql> CREATE TABLE t (qty INT, price INT); mysql> INSERT INTO t VALUES(3, 50); mysql> CREATE VIEW v AS -> SELECT qty, price, qty*price AS value -> FROM t; mysql> SELECT * FROM v; +------+-------+-------+ qty price value +------+-------+-------+ 3 50 150 +------+-------+-------+

INFORMATION_SCHEMA mysql> SELECT table_name, table_type, engine -> FROM information_schema.tables -> WHERE table_schema = 'db5' -> ORDER BY table_name DESC; +------------+------------+--------+ table_name table_type engine +------------+------------+--------+ v VIEW NULL t2 BASE TABLE MyISAM t BASE TABLE MyISAM pk BASE TABLE InnoDB fk BASE TABLE InnoDB +------------+------------+--------+ 5 rows in set (0.01 sec)

True VARCHAR and True DECIMAL VARCHAR Preserves trailing spaces Length can be up to 65,535 characters (but only 65,532 effectively) DECIMAL Calculations done using new fixed-point precision math library, with a precision of up to 65 digits

SQL mode mysql> SET sql_mode = traditional ; Query OK, 0 rows affected (0.00 sec) mysql> INSERT INTO t1 -> SET date_field = 2006-2-29 ; ERROR 1292 (22007): Incorrect date value: '2006-2-29' for column 'date_field' at row 1

New storage engines FEDERATED Allows seamless access to a table on another MySQL server Transaction support added in 5.1 Will be extended for heterogeneous federation in a later release ARCHIVE No indexes (except auto_increment in 5.1) Does zlib compression of data Great for data warehousing Fast BLOB skipping in 5.1 BLACKHOLE Useful in some replication setups Supports transactions in 5.1

Partitioning Row-based replication Cluster disk data Cluster replication Task scheduler Logs as tables Fast ALTER TABLE Plugin API XML (XPath) 5.1: GA in Q2 2006

Partitioning Allows for splitting data across different tables (which could be located on different disks) Supported by all storage engines (some natively, like Cluster) Partition pruning done by optimizer No parallelism (yet) Can partition by: Range Hash Key List Subpartitioning supported

Partition example mysql> CREATE TABLE list_by_area ( -> store_number INT NOT NULL, -> location INT NOT NULL, -> rollup_date DATE NOT NULL, -> store_recipts DECIMAL(10,2) NOT NULL) -> PARTITION BY LIST(location) ( -> PARTITION p1 VALUES IN (1,2), -> PARTITION p2 VALUES IN (3), -> PARTITION p3 VALUES IN (4,5) -> );

Row-based replication Start server with --binlog-format=row Instead of logging statements, the binary log will instead contain images of the rows that are added, changed, or deleted DDL statements (like ALTER TABLE) are still logged as statements

New cluster features Disk-based data Indexes must still fit in memory Variable-sized records (VARCHAR only takes up as much space/memory as necessary) Cluster replication

Task scheduler mysql> delimiter // mysql> CREATE EVENT optimize_tables -> ON SCHEDULE EVERY 1 WEEK -> STARTS '2006-03-05 1:00:00' /*Sunday*/ -> ON COMPLETION PRESERVE -> DO -> BEGIN -> OPTIMIZE TABLE test.table1; -> OPTIMIZE TABLE test.table2; -> END//

Plugin API New framework for extending server functionality First plugins are for FULLTEXT indexing Work sponsored by CNET Future areas for plugins: Storage engines Authentication and authorization?

XML (XPath) mysql> SELECT -> ExtractValue('<a>ccc<b>ddd</b></a>', '/a') AS v1, -> ExtractValue('<a>ccc<b>ddd</b></a>', '/a/b') AS v2; +------+------+ v1 v2 +------+------+ ccc ddd +------+------+ 1 rows in set (0.01 sec) mysql> SELECT -> UpdateXML('<a><b>ccc</b><d></d></a>', '/a', -> '<e>fff</e>') AS v1, -> UpdateXML('<a><b>ccc</b><d></d></a>', '/b', -> '<e>fff</e>') AS v2 \G *************************** 1. row *************************** v1: <e>fff</e> v2: <a><b>ccc</b><d></d></a> 1 rows in set (0.01 sec)

and Beyond 5.2 will (probably) include ROLES and pluggable authentication/authorization support I m (one of the people) writing it And a lot more that I can t talk about.

Questions? Contact: Jim Winstead jimw@mysql.com