1. MySQL and Fedora: A Developer's Overview Brian Aker Director of Architecture Fudcon April 2006 MySQL AB
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21. Business Intelligence/Data Warehousing • Table/Index Partitioning • Full Text Search Enhancements • Better XML Handling – XPath • Archive engine enhancements High Availability • Disk-based Cluster • Row-based Replication • Cluster replication Easier Manageability • Task Scheduler • Transaction support for Federated Engine Higher Performance • Faster alter table • Faster add/drop index for MySQL Cluster • Faster data import operations • Better problem user and SQL identification • New Performance/Load Testing Utility • New MyISAM memory option
22. Business Intelligence/Data Warehousing Table/Index Partitioning • Perfect for data warehouses or other VLDB situations • Increases performance – only needed partitions are accessed • Eases space/data management burden on DBA • Supports range, hash, key, list, and composite methods • Supported by all storage engines in MySQL • More options than Microsoft, DB2, or Sybase partitioning • Partition key must be integer (or convertible to integer) • Local indexes only – no global primary or unique keys • Parallelism not supported in this version
23. • Address parts in XML document • Allows manipulation of • Strings • Booleans • Numbers • Models XML document as tree of nodes Business Intelligence/Data Warehousing XML Xpath Support XML
24. • Faster I/O operations • Lower Memory requirements • Autoincrement column support • Unique key support • Non-unique key support Business Intelligence/Data Warehousing Archive Engine Enhancements
25. • Tables now can be designated to be disk-based • Tablespaces used to store table disk data • Tables can be either disk or main memory • Indexes still main memory only High Availability MySQL Cluster Disk-Based Data
26. High Availability Row-Based Replication • New replication option – statement-based replication retained • Handles all replication scenarios (deterministic, etc.) • Safest form of replication • Common to most other RDBMS’s • Statement-based approach still available • Mixed mode available that does statement and row-based replication
27. High Availability MySQL Cluster Replication • Replicate data from one MySQL Cluster to another • Limitation – no cross-server logging of add/drop/alter tables
28. Higher Performance Better Problem User/SQL Identification • SHOW PROCESSLIST command now system table • General and Slow Query Log now system tables • Can easily query tables to find all or just inefficient SQL • General/Slow Query Log use CSV engine and can be read by MS Excel SQL
29. Higher Performance New Performance/Load Testing Utility • Named “mysqlslap” • Simulates many concurrent connections to MySQL server • Repetitively runs designated SQL load • Can test multiple engines • Performs creation of test schema and population of data
30. MySQL 5.1 Rollout Schedule • Beta begins March 1, 2006 • Release Candidate expected in the Fall • GA Fall/End of 2006
Views (including updatable views) are implemented in the 5.0 version of MySQL Server. Views are available in binary releases from 5.0.1 and up. See Section 13.2.7, “CREATE VIEW Syntax” . Views are useful for allowing users to access a set of relations (tables) as if it were a single table, and limiting their access to just that. Views can also be used to restrict access to rows (a subset of a particular table). For access control to columns, you can also use the sophisticated privilege system in MySQL Server. See Section 5.5, “The MySQL Access Privilege System” . In designing an implementation of views, our ambitious goal, as much as is possible within the confines of SQL, has been full compliance with ``Codd's Rule #6'' for relational database systems: ``All views that are theoretically updatable, should in practice also be updatable.''
The main purpose of this slide is to demonstrate: 1) That MySQL supports two-phase commit and XA for distributed transaction processing 2) That MySQL can either be a transaction manager or a resource manager. Any application can enlist MySQL into a transaction (MySQL is RM). But, MySQL can also execute a distributed transaction across two resource managers (say two InnoDB tables in different databases).
Talk about % of folks surveyed who have gone to 5.0
Talk about % of folks surveyed who have gone to 5.0