Upload
ryusuke-kajiyama
View
623
Download
4
Embed Size (px)
DESCRIPTION
MySQL
Citation preview
MySQL 5.6 ��kÛgC ņŏťšğũŦńŐŊ @RKajiyama
��MySQLƤƮž �
MySQL Enterprise Monitor 2.2 MySQL Cluster 7.1 MySQL Cluster Manager 1.0 MySQL Workbench 5.2 MySQL Database 5.5 MySQL Enterprise Backup 3.5 MySQL Enterprise Monitor 2.3 MySQL Cluster Manager 1.1
All GA!
MySQL Enterprise Backup 3.7 Oracle VM Template for MySQL Enterprise Edition MySQL Enterprise Oracle Certifications MySQL Windows Installer New MySQL Enterprise Commercial Extensions
MySQL Database 5.6 DMR* MySQL Cluster 7.2 DMR
MySQL Labs! (Ļearly and oftenļ)
All GA!
MySQL Cluster 7.2 MySQL Utilities 1.0.6 Database Migration Wizard New Windows Tools/Features New MySQL Enterprise Commercial Extensions MySQL Database 5.6 RC MySQL Cluster 7.3 DMR MySQL Cluster features in MySQL Labs
*Development Milestone Release
2010 2011 2012
All GA!
New!
Ă-ŭÑŊŪMySQL�
The world's most popular open source database �¶Ř�Ť�1ŎŗŃŪŶƮƘƬƄƮƁğƊƮƅƙƮƁ
�àś7¿ŝď¸äìŅŧşƘƦƈƋƖŵƮƟŭŽƜƮƋ
!°*¯ŝĞŃƝƨƇƁƩƈƌơƊƨ
DMLťDDLŝã�ĿżƁƋƙƮƁŝŶƘƉŰƝűžĿŹŴƧťÎ�ƃƈ
ƋśŚŝŸƢƈſƣ
ůƘƧŻƮſƥƬŜ�ćś�ÔťfÔŭs�ŐŪ�ùfŝĞŃŁƁƋƩƮƀŴƬƀƬł
7¿ŝ¬°ƁƋƩƮƀŭ%²5Ô
MySQL&Database&�
�
MySQLŝܹśƁƋƩƮƀŴƬƀƬ�• ĩĶĶķħĦĤğƋƦƬžŹſƥƬSdŝŴƬƀƬ�
– īĺįĭĪğģġģņŨƊƖŵƨƋŝŴƬƀƬŜ�– ÚƪƈŹĿíŢ2ũ�òfĿGĉŸƮĿİĥĿƛƈƋƒƈŹůƈƘ�
• īĨīĬĮıĤğOŝƉƮƗƨŭűƬƠơƧƊƮƅƙƮƁ-�– ƋƦƬžŹſƥƬęSdĿƊƮƅ�Ñ-©Ŏ�
• ĥĸIJĴĵĹijĤğ0ªĠo�ŝŢŭç5ŐŪŴƬƀƬ�– ƊƮƅF��5ĿÕ+¹Ŝ?Ò�
• īĺĩįĥīĤğģġĢšŘŝƊƖŵƨƋ�– ƋƦƬžŹſƥƬęSdĿ�}�Ê�– ƖƦƈƋƖŮűƨŝ��– �þŞ%²Ň£W�:�
�
MySQL&Serverć²�&
&• Facebook&–&È10�ƤƮžŇ0)ŐŪ�¶�IŝSNS&
– {.6ŝMySQLŽƮƒŭĄ²�&
• #zŸƢƈſƣmemcachedřÌŢ8ŬőŗñÙ#z&
• ƤƮžŝe§śE)ŜSd(2008\1�→2010\4�)&
• ƩƘƧŻƮſƥƬ*ŘÇ>IĒŭ��ŐŪƊƮƅúĀ&*&MySQLŝ�¦�Ô&
• ¾ĐŝƋƦƖŰƈŹ&– 1,300�ŹŴƧ��&
– 0ªƳ3,700�Ú&
– ��Ƴ350�Ú&
– 440�IOPS&
MySQL&5.6&RC&
MySQL&5.6:&�śF�¨�
• ŶƘƉŰƝűž:&&ƓƖŵƮƝƬƁ&ƁŻƮƦƔƧƉŰ�
• ƓƖŵƮƝƬƁƭƁŸƮƝ:&&ŧũêËśÏågC�
• InnoDB:&ƋƦƬžŹſƥƬƭƁƨƮƘƈƋŝ:��• ƩƘƧŻƮſƥƬ:&ōŨśŪ5²fřƊƮƅŝ|8f�• ŁNotOnlySQLłŶƘſƥƬ:&ōŨśŪ�ùf�
• ŽƗŹŴƧŝĞā- • LIMIT4ŘW{ŝƩżƮƌŭ2bŐŪĔŝƖŮűƨƭƄƮƋŭ�ć-ğ
• 3�ŝPÚā]ğ – 40¾ņŨ10¾Ŝ¼Ò • űƬƊƈŹƁ��ŝƘƈſƣƆŲƬ
• PÚā]:�ğ – 15¾ņŨ90ƞƧ¾Ŝ¼Ò • ƒƈƇƭŸƮƭůŹƃƁřß{Å=ŝíŢ2ũ
• PÚā]:� – 2000¾ņŨ10¾Ŝ¼Ò • FROMņŨŝƔƣƮƲŽƗŹŴƧŝPƊƮƅ2bŭă^ğ
• EXPLAINŜSŐŪPÚ�Đŭ240�:� – 8#ņŨ2¾Ŝ¼Ò • INSERTĿUPDATEĿŅŧşDELETEŜSŐŪEXPLAIN • ÐѹśŶƘƉŰƝűžÏågC - InnoDB • ŶƘƉŰƝűžŝƋƩƮƁ
MySQL 5.6.4:ŶƘƉŰƝűž
P*åµŝ½ëťƊƒƈźŭŧũÆ/Ŝ • EXPLAIN • INSERT, UPDATE, DELETE • JSONƖŵƮƝƈƋŜŧŪ"(
• InnoDBŝÀ�Ïåŭ ŶƘƉŰƝűž²Ŝ�Ñ- • Optimizer Traces
MySQL 5.6: Optimizer
• ƁƉƮƋƠƬƋƲƁƉƮƀ&
• �ŤƧƄƮƁ¢óŝHŃŹŴƧŞƴğğ�ĐŇņņŕŗŃŪŝŞŚŋņƴ&
• ƉƮƗƨƲűƬƊƈŹƁI/OĿƉƮƗƨƭƪƈŹ&
• �ŤñÙťÂ8ŇHŃůƘƧŻƮſƥƬƭƉƮƗƨƲűƬƊƈŹƁŞƴ&
• ƤƮžƮƲƛƁƋƲůŷŲƬƋ&• ƧƄƮƁŭŤŕřŤ¢óŎŗŃŪůƘƧŻƮſƥƬƭƤƮžƲƛƁƋƲůƘƧŻƮſƥƬŞƴ&
• ƏƈƋƫƮŹI/O&• ƏƈƋƫƮŹŝñÙŞƴğƃƈſƥƬŝůűƌƨƭƅűƟŞƴ&
• Ėå�ğ&• &ƁƩƈƌĿƤƮžƮĿƛƁƋĿůŷŲƬƋĿŶƗƀųŹƋŌřŜÏågCŭĖå&
MySQL 5.6 – ƓƖŵƮƝƬƁƭƁŸƮƝŝå¤ ƊƮƅƙƮƁƭƘƪƖŮűƧƬźƲůƘƧŻƮſƥƬƭƇƣƮƎƬźŝ:�
ƓƖŵƮƝƬƁřƁŻƮƦƔƧƉŰŭ:� - 3ŃmutexŭpđĿCPUŸƢƈſƣŝ�� - ƁƩƈƌŝyØř9�P*fŝ:� - 0ªT²ƋƦƬžŹſƥƬŜŧŪ0ªfÔŝ:� - SSDŠŝ�ć-
Ą²ťď¸ŝ�ùfŭ:� - ÜĚB(ƊƮƅƖŮűƨ)ŭOSżƝƬƌŘżƕƮ - NoSQL, InnoDBŠŝŸƮƭƒƧƣƮAŘŝůŹƃƁ
MySQL&5.6:&InnoDB&–&Improvements&
ŶƬƦűƬDDL - ADD/DROP INDEX - ADD/DROP COLUMN - ADD/DROP FOREIGN KEY - RENAME COLUMN, TABLE - CREATE PRIMARY KEY - ALTER ROW_FORMAT, KEY_BLOCK_SIZE - ALTER COLUMN NULLABLE, NOT_NULLABLE - Reorg / rebuild cluster index
ƒƈƖŮƘƮƨŝƆƬƘŅŧşƧƁƋů - �õ+»aņŨŸƢƈſƣ%²5Ô
MySQL&5.6:&InnoDB&
MySQL 5.6: Replication Largest EVER set of Enhancements
• ōŨśŪƊƮƅŝN�f • ŹƦƈſƣƃƮƖƭƁƩƮƗĿƩƘƧŻƮſƥƬƭƇųƈŹŽƟĿĽŹƦƈğſƣƃƮƖƭƒűƍƧƪź
• ōŨśŪƓƖŵƮƝƬƁřƁŻƮƦƔƧƉŰ • ƝƨƇƁƩƈƌƭƁƩƮƗ • RBR²ŝƒűƍƧƪźŽűƂ£W
• ōŨśŪ�ùf • ă^ğƩƘƧŻƮſƥƬ
• ōŨŜÆÉ-ōūŔƋƦƗƨſƣƮƉŰƬź • ÚƙƮƁƧƘƧŻƮſƥƬĿ ľľÚƙƮƁƧƘƧŻƮſƥƬ�ŜPÚōūŔSQL}ŭæč
• `-ōūŔơƎƅƧƬźřÄ°
MySQL 5.6: ƩƘƧŻƮſƥƬ
MySQL Masters
Slave 1 Slave 2 Slave 3 Slave 4 Slave 5
Slave 6 Slave 7 Slave 8 Slave 9 Slave 10
5x Higher Replication Performance
• SysBench, running across 10 x schemas • Oracle Linux 6.1, Oracle Sun Fire x4150 m2 Server
0& 5& 10&
QPS& 58& 144& 283&
0&
50&
100&
150&
200&
250&
300&
Que
ries&p
er&Secon
d&
Worker&Threads&
MulFGThreaded&Slave&Performance&
źƪƮƒƨƋƦƬžŹſƥƬID • ß{6ŝƩƘƧŻƮſƥƬ±DŘŤR�ŜƋƦƬžŹſƥƬŝ ÿ÷/�ûŇ5Ô – ƋƦƬžŹſƥƬŭ�hŜï$ŘňŪï$LŭƒűƍƧƪźŜæč
• ƖųűƨŶƮƒƮŝŔţŜĿ�Ť��ŝƁƩƮƗŭÕ+ëï • H��iŝƩƘƧŻƮſƥƬŇR�Ŝ
Master
GTID=123456
GTID=123456
GTID=123456 GTID=123456
• ÕY�c5ÔśƩƘƧŻƮſƥƬ�i • Õ+-ōūŔƖųűƨŶƮƒƮřƧŷƒƧ
– mysqlfailover ƤƮƉŰƧƉŰ • ƁűƈƇŶƮƒƮřÄ°
– mysqlrpladmin ƤƮƉŰƧƉŰ
• MySQLŝżů�ÔŘĿHA�Ôŭ�ŗs� – ŽƮƌƓƮƉŰƄƖƋŲųůŇ�àŜ – HA�iŝm_fŇ:�
HA Utilities Monitoring
Failed Master
Slaves
Promoted Master
ƩƘƧŻƮſƥƬğHAğƤƮƉŰƧƉŰ
• Check: ƩƘƧŻƮſƥƬà�ŝ½ë • Repl: �ŎŃƁƩƮƗŠŝƩƘƧŻƮſƥƬďK • Show: ƩƘƧŻƮſƥƬ�iŝ5â- • HA: ƁƉƮƅƁŝºâĿ;Ĝŝ¸ářƖųűƨŶƮƒƮ
• PythonƁŹƧƘƋŘPÝ – MySQL WorkbenchŝƘƦźűƬřŎŗs�(LaunchPadŘŤs�) – ƁŹƧƘƋŭŷƁƅƝűƂ5Ô
Check Repl Show HA
MySQLƤƮƉŰƧƉŰŝm_ Workflow for Replication
• InnoDBŜÉ�ʼnĿÆ/ŜůŹƃƁ • Memcached APIͳŝůŹƃƁ • �MŝMemcachedŹƦűůƬƋŭ�² • SQLFtŭƒűƓƁ
• NotOnlySQLůŹƃƁ • ŸƮƭƒƧƣƮx�² • ßėśŹŴƧťJOINĿFKŜŞ
SQLŭ�² • PÝ
• mysqldŜMemcachedŭ ƊƮơƬƭƘƦźűƬřŎŗÏ8
• ƏűƉŰƗInnoDB APIŭ MemcachedƘƪƋżƨŜƝƈƕƬź
• ö�ƩűƉƬſ²ŝ ��ƘƪƃƁƭƁƚƮƁ
InnoDBƁƋƩƮƀƭŴƬƀƬ
MySQL Server MemcachedƘƦźűƬ
ůƘƧŻƮſƥƬ SQL
ưMySQLŹƦűůƬƋƱ NoSQL ưMemcached ƘƪƋżƨƱ
mysqld
MySQLƊƮƅƙƮƁğ– InnoDBŸƮƭƒƧƣƮƭůŹƃƁ NotOnlySQL: Memcached API
labs.mysql.com/
MySQL 5.6 RC ƆŲƬƪƮƌ
dev.mysql.com/downloads/mysql [Development Release]ƅƗŭĈl
MySQL&CLUSTER&7.3&&
U��:&wZĘéƏƈƋƫƮŹ&HLR / HSS
îČ, ëè, VLR
ëè, ÿ÷rÑ ŽƮƔƁ, îČ
�ÓgC ŝ��
ƘƧƚű& ƜƁƋƚűîČ
• Iċŝ�ňýŢƋƦƬžŹſƥƬ • 3ƞƧ¾�¥ŝƊƮƅƙƮƁdà • ���Đ & ƋƦƬžŹſƥƬ¢J = ƔƀƏƁŝuJ
MySQL Cluster in Action: http://bit.ly/oRI5tF
U��:&ÖÁ�Ä&ſƁƉƟ&• Ç>¡øÖÁ�× • ,n¹ÖÁ�Ą²Ä&ſƁƉƟ
• ƠƬƉƍƬƁæč • «~vüċÄ° • �ð® • ĝÚ´�Ä°
• ſƁƉƟà� • /�ĕQ¨©Ŏ • N�ś Ďf • VōśƖƈƋƘƧƬƋ & ąĊś±D Řŝ%²
• 46ŝMySQL ClusterƐƮƌ LinuxŅŧşWindows
MySQL User Conference Session: http://bit.ly/ogeid3
MySQL&Cluster&ůƮŸƉŹƇƢ&
ƊƮƅƭƐƮƌ
ƐƮƌƭźƨƮƘ1
F1
F3
F3
F1
ƐƮƌ
1
ƐƮƌ
2
ƐƮƌƭźƮƨƘ 2
F2
F4
F4
F2
ƐƮƌ
3
ƐƮƌ
4
ůƘƧŻƮſƥƬƭƐƮƌ
ŹƦƁƅÄ° ŹƦƁƅÄ°
REST JPA LDAP
• 1 Billion+ Reads per Minute, 8 node Intel Xeon cluster • NoSQL C++ API, flexaSynch benchmark • Multi-Threaded Data Node Extensions
0&
2&
4&
6&
8&
10&
12&
14&
16&
18&
20&
MySQL&Cluster&7.1& MySQL&Cluster&7.2&
Read
s&per&Secon
d&(M
illions)&
Comparing MySQL Cluster Performance 8x Higher Performance per Node
0ª:&¾Đ1,600����&¬°ŽƮƒ86�
• 30 x Intel E5-2600 Intel Servers • NoSQL C++ API, flexaSynch benchmark • ACID Transactions, with Synchronous Replication
0&
5&
10&
15&
20&
25&
2& 4& 6& 8& 10& 12& 14& 16& 18& 20& 22& 24& 26& 28& 30&
Mill
ions
of U
PDAT
Es p
er S
econ
d
MySQL Cluster Data Nodes
1.2 Billion UPDATEs per Minute
��:&¾Đ2,000����&¬°ŽƮƒ306�
Ćē@ƩƘƧŻƮſƥƬŝ:�&
Ćē@ ƩƘƧŻƮſƥƬ
&• ƊƮƅƃƬƅƮĐŘ&ŹƦƁƅŭN�ŜßÞ&• DR&&&ƊƮƅŝXjf&• ƓƈſƗƭƧƄƮƁśŎ&
• ůŹƉŰƗ&/&ůŹƉŰƗ&ƩƘƧŻƮſƥƬŝÆÉ-&• źƪƮƒƨŜƁŻƮƦƗƨ&Ř ĎfŭŤŖŽƮƔƁŝ&Ą²ŇŧũſƬƘƨŜ&
ƝƨƇŽűƋƭŹƦƁƅƧƬź&
• ƊƮƅƭƐƮƌŭ&ƊƮƅƃƬƅƮĐŘ#'&
– ŽűƋĐŝ&
9�ƩƘƧŻƮſƥƬř&Õ+ƖųűƨŶƮƒƮ&
– ƏƈƋƫƮŹƭƓƮƉŰſƥƬŭ!°ŐŪƑƮƋƔƮƋŝy<&
• ƊŰžƁƅƭƧŷƒƧ&ŶƘſƥƬŝm_&
• Â8!°�àŝ&
ůŹƉŰƗ/ůŹƉŰƗ�i&
&ƐƮƌƭźƨƮƘ2&
&&ƐƮƌƭźƨƮƘ1&
ƊƮƅƭƐƮƌğ1&
ƊƮƅƭƐƮƌğ3&
ƊƮƅƭƐƮƌğ2&
ƊƮƅƭƐƮƌğ4&
9�&ƩƘƧŻƮſƥƬ&
SQLřNoSQLğŒūœūŝƙƁƋŭq²&
SQL&řğNoSQLŝÌŢ8Ŭő&
• SQL: ßėśƧƩƮſƥƍƨƭŹŴƧ • HTTP / memcached: ŸƮƭƒƧƣƮAWebŽƮƔƁ • Java: ŴƬƅƮƘƦűƂƭůƘƧŻƮſƥƬ • NDB API: ƧůƨƅűƟƭŽƮƔƁ
�ŀś ÌŢ8Ŭő
ƊƮƅƭƐƮƌ
NDB API
ŹƦűůƬƋ
ƏűƉŰƗ memcached HTTP/REST
JDBC / ODBC PHP / PERL
Python / Ruby
MySQL&Cluster&7.3:&Node.js&NoSQL&API&
• JavaScriptņŨ&MySQL&Cluster&Ŝ»růŹƃƁ&
– JavaScript&ŝŶƗƀųŹƋřŎŗ&MySQL&Cluster&ŝƊƮƅŭíŢ�ň&
– SQL&ŠŝFt�à&
• node.jsŝơƀƣƮƨřŎŗPÝ&
– MySQLCluster&APIƦűƗƦƧř&WebůƘƧŻƮſƥƬŭÏ8&
• ĞfÔƯ#zAŝůƘƧŻƮſƥƬř&ĞfÔƯ#zAŝƊƮƅƙƮƁŭÏ8&
V8 JavaScript Engine
MySQL Cluster Node.js Module
MySQL Cluster Data Nodes
Clients
New!
MySQL&Connectŝô~hXp://goo.gl/78M8g&
MySQL&Tech&Tour&hXp://goo.gl/01FnD�
5.5 5.6 7.2
MySQL Server - GA InnoDB PluginŜŧŪfÔy< ¦9�A(Semi-synchronous)ƩƘƧŻƮſƥƬ
MySQL Server – RC ŶƘƉŰƝűžŝI[śyØť5²fŝ:� NoSQLűƬƅƖųƮƁÿ)
MySQL Cluster - GA JOINfÔŝI[ś:��ƊŰžƁƅƧŷƒƧŝ�ěfŝ:�
7.3 MySQL Cluster - DMR GĉŸƮŽƜƮƋ Node.jp APIŝÿ)ĿĄ²fÔ:�