SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
A Beginner’s Guide to
MariaDB
Colin Charles, Monty Program Ab
colin@montyprogram.com
http://montyprogram.com / http://mariadb.org/
http://bytebot.net/blog / @bytebot on Twitter
O’Reilly MySQL Conference & Expo - 12 April 2011
Aims
• Give you an update of what we’ve done in
the past year (plus since project inception)
• Discuss the broader MySQL ecosystem
What is it?
• A branch of MySQL with more features?
• A branch of MySQL with better features?
• A fork?
MariaDB is...
• Community Developed
• Feature Enhanced
• Backward Compatible
Who’s behind it?
• MySQL (database) owned by MySQL AB
(company)
• Monty Program is just a sponsor of
MariaDB
• MariaDB: Open Database Alliance, Percona,
PrimeBase, Open Query, etc.
When did this begin?
• Sun buys MySQL AB in January 2008
• Oracle proposes acquisition of Sun
Microsystems in April 2009
• Monty decides that beyond the engine
(Febuary 2009), focus on MariaDB, a
complete database solution
Why MariaDB?
• MySQL - an open source product or
project?
• MariaDB is an open source project
Aims of MariaDB
• 100% compatible, drop-in replacement to
MySQL
• Stable (bug-free) releases
• GPLv2
Compatibility with
MySQL
• There is no NDB cluster
storage engine
• Client libraries, client-
server protocol, SQL
dialect, replication master-
slave all similar
• Data files are supported as
long as its similar between
versions
• Tools are similar (some
additional tools for Aria,
PBXT)
• XtraDB enabled by default;
InnoDB and InnoDB plugin
are included, but not
enabled by default
• http://kb.askmonty.org/v/
mariadb-versus-mysql-
compatibility
What’s in MariaDB 5.1
• Released February 2010
• Create external
buildsystem using
Buildbot +VMs for test
+builds
• Release filled with
storage engines
• XtraDB, PBXT,
FederatedX, (M)Aria
• Croatian collations
• Numerous bug fixes
• Test cases and coverage
improvements
• Removal of mutexes
• Compiler warnings gone!
What’s in MariaDB 5.1
• Percona XtraDB
(ENGINE=InnoDB)
• enhanced InnoDB
designed to better
scale on modern
hardware; backward
compatible, scale
better on many
cores, use memory
more efficiently
• See InnoDB & XtraDB
Architecture &
Performance
Optimization slides from
Peter Zaitsev at tutorial
on Monday
• http://
www.percona.com/docs/
wiki/percona-
xtradb:start
What’s in MariaDB 5.1
• PrimeBase PBXT
• Transactional, foreign
keys,ACID, MVCC (read
w/o locking)
• Row-level locking during
(SELECT FOR) UPDATE
• Rollback transactions,
recovery after restart
very fast (identifies
garbage making undo
unnecessary)
• Write once w/log-based
storage; write data to
DB, without first writing
in transaction log
• http://kb.askmonty.org/v/
about-pbxt
• Wednesday, 04/13/2011 -
Ballroom D - 10.50am -
Update on the PBXT
Storage Engine by Paul
McCullagh
What’s in MariaDB 5.1
• Extended statistics for slow query log
• based on microslow from
Percona http://kb.askmonty.org/
v/slow-query-log-extended-
statistics
• PROCESSLIST with microsecond
precision
• TIME_MS in
INFORMATION_SCHEMA.PR
OCESSLIST http://
kb.askmonty.org/v/time_ms-
column-in-
information_schemaprocesslist
• Table elimination
• Query highly normalised data,
it is sometimes possible to
resolve a query without
accessing some tables the
query refers to e.g. http://
kb.askmonty.org/v/what-is-
table-elimination
• Pool of threads (MySQL 6
backport)
• Use a limited set of threads to
handle all queries vs one-
thread-per-connection http://
kb.askmonty.org/v/pool-of-
threads
What’s in MariaDB 5.2
• Released November 2010
• MariaDB 5.2.5 (MariaDB 5.1.55 -
changes up to MySQL 5.1.55)
• Pluggable authentication
• authentication of users handled by
plugins
• mysql_native_password (20 byte)
and mysql_old_password (8 byte)
included by default
• CREATE USER foo IDENTIFIEDVIA
mysql_native_password USING
‘pass’; == CREATE user foo
IDENTIFIED BY PASSWORD
‘pass’;
• Use socket_peercred - if already
logged in via Unix credentials,
MariaDB will trust it
• http://kb.askmonty.org/v/
development-pluggable-
authentication
• User Statistics (userstatsv2)
• Percona, Google,Weldon Whipple.
Understand server activity better,
identify database loads http://
kb.askmonty.org/v/user-statistics
What’s in MariaDB 5.2
• Virtual columns
• PERSISTENT (stored - default)
&VIRTUAL (generated-only)
• http://kb.askmonty.org/v/virtual-
columns
• Segmented MyISAM keycache
• mitigates thread contention for
key cache lock, with notable
250% performance
improvements http://
kb.askmonty.org/v/segmented-
key-cache
• New storage engines: OQENGINE,
SphinxSE
• INFORMATION_SCHEMA.PL
UGINS now has
PLUGIN_MATURITY &
PLUGIN_AUTH_VERSION
columns
• CREATE TABLE can be extended
via storage engine API
• Add additional attributes per
index, field or table
• http://kb.askmonty.org/v/
extending-create-table
How open is MariaDB?
• Mailing lists: Launchpad
• maria-
developers@lists.laun
chpad.net
• maria-
discuss@lists.launchp
ad.net
• Code hosting:
Launchpad
• http://launchpad.net/
maria
• Bugs database:
• https://
bugs.launchpad.net/
maria/
• #maria on FreeNode
IRC
Worklog
• Funding (bounties)
• Votes
• http://askmonty.org/
worklog/
Knowledgebase
• http://kb.askmonty.org/
Deployments,
deployments, deployments
“MariaDB had the same bugs that we ran into with
MySQL. However the big difference was that when
we reported these bugs, they were quickly resolved
within 48 hours!” -- Dreas van Donselaar, Chief
Technology Officer, SpamExperts
B.V. after migrating over 300 servers from MySQL
5.0 to MariaDB 5.1.
“Migrating from MySQL 5.1 to MariaDB 5.2 was as
simple as removing MySQL RPMs and installing
the MariaDB packages, then running
mysql_upgrade.” - Panayot Belchev, proprietor,
Host Bulgaria on providing
MariaDB to over 7,000 of their web hosting
customers.
Getting MariaDB
• http://mariadb.org/ is the site + downloads
• Get it via OpenSUSE build service
• Its in Gentoo, FreeBSD
• http://kb.askmonty.org/v/distributions-which-include-
mariadb
The future?
• There is no “one” tree
• MySQL, Percona Performance
Server, MariaDB
• GIS
• HandlerSocket
• Merging takes time
• New config files?
• Row based replication improvements
• Group commit
• Tonnes of optimiser features
• index condition pushdown,
multi-range-read (MRR) table
access (with keys & row ID
sorting), block nested loop for
outer joins, batched key
access, classic hash join,
numerous subquery
optimisations (possible
materialisation for non-
correleated subqueries),
merged derived tables, index
merge enhancements
• dynamic columns support
What else do we need?
• InnoDB focus
• Replication focus
• More benchmarks
• http://kb.askmonty.org/v/benchmarks
• Spreading the good word
Your roadmap
• (past) What are the new optimiser
features and how can I benefit from
them - Sergey Petrunya - Ballroom
G - 11.55am - 12/04/2011
• (past) Plugin development tutorial
by Sergei Golubchik
• State of MariaDB keynote - Michael
Widenius - 9am - 13/04/2011
• Group commit and related
enhancements in the MariaDB
binary log - 2pm - 13/04/2011 -
Ballroom H
• Dynamic Columns - 3.05pm -
13/04/2011 - Ballroom G
• OQGRAPH Dealing with graphs
and hierarchies in plain SQL -
Antony Curtis - 10.50am
14/04/2011 - Ballroom D
• A BoF on Wednesday evening to
plan MariaDB future features
• http://kb.askmonty.org/v/plans-
for-56
Plugins & Storage
Engine Summit
• Interested in plugins and storage engines
for MySQL/MariaDB/Drizzle?
• Be at the summit!
• April 15 2011, 10am-4pm,The Facebook
Campus
• Sign up here: http://kb.askmonty.org/v/
storage-engine-summit-2011
Booth 411
• Expo Hall
• Auction for a t-shirt (signed) + dinner with
Monty - proceeds go to Japan
Q&A?
email: colin@montyprogram.com
http://montyprogram.com/ | http://mariadb.org/
twitter: @bytebot / url: http://bytebot.net/blog/

Contenu connexe

Tendances

Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
Ontico
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the project
Colin Charles
 

Tendances (20)

Securing your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server dataSecuring your MySQL / MariaDB Server data
Securing your MySQL / MariaDB Server data
 
Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)Maria db the new mysql (Colin Charles)
Maria db the new mysql (Colin Charles)
 
Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?Forking Successfully - or is a branch better?
Forking Successfully - or is a branch better?
 
MariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQLMariaDB Server Compatibility with MySQL
MariaDB Server Compatibility with MySQL
 
Maria db vs mysql
Maria db vs mysqlMaria db vs mysql
Maria db vs mysql
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
Lessons from database failures
Lessons from database failuresLessons from database failures
Lessons from database failures
 
Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)Maria db 10 and the mariadb foundation(colin)
Maria db 10 and the mariadb foundation(colin)
 
MySQL features missing in MariaDB Server
MySQL features missing in MariaDB ServerMySQL features missing in MariaDB Server
MySQL features missing in MariaDB Server
 
My first moments with MongoDB
My first moments with MongoDBMy first moments with MongoDB
My first moments with MongoDB
 
MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016MariaDB Server & MySQL Security Essentials 2016
MariaDB Server & MySQL Security Essentials 2016
 
MariaDB 10: The Complete Tutorial
MariaDB 10: The Complete TutorialMariaDB 10: The Complete Tutorial
MariaDB 10: The Complete Tutorial
 
Best practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability TutorialBest practices for MySQL High Availability Tutorial
Best practices for MySQL High Availability Tutorial
 
Meet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web SummitMeet MariaDB 10.1 at the Bulgaria Web Summit
Meet MariaDB 10.1 at the Bulgaria Web Summit
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
 
MariaDB 10 and what's new with the project
MariaDB 10 and what's new with the projectMariaDB 10 and what's new with the project
MariaDB 10 and what's new with the project
 
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
MariaDB - the "new" MySQL is 5 years old and everywhere (LinuxCon Europe 2015)
 
Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015Meet MariaDB Server 10.1 London MySQL meetup December 2015
Meet MariaDB Server 10.1 London MySQL meetup December 2015
 
Best practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High AvailabilityBest practices for MySQL/MariaDB Server/Percona Server High Availability
Best practices for MySQL/MariaDB Server/Percona Server High Availability
 
Databases in the Hosted Cloud
Databases in the Hosted CloudDatabases in the Hosted Cloud
Databases in the Hosted Cloud
 

En vedette (8)

Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
 
Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南Presta shop 1.6 详细安装指南
Presta shop 1.6 详细安装指南
 
Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境Presta shop 1.6 的安装环境
Presta shop 1.6 的安装环境
 
Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件Presta shop 1.6 如何安装简体中文语言文件
Presta shop 1.6 如何安装简体中文语言文件
 
Confluencewiki 使用空间
Confluencewiki 使用空间Confluencewiki 使用空间
Confluencewiki 使用空间
 
Git
GitGit
Git
 
Logback 介绍
Logback 介绍Logback 介绍
Logback 介绍
 
Introduction to MariaDB
Introduction to MariaDBIntroduction to MariaDB
Introduction to MariaDB
 

Similaire à MariaDB 初学者指南

A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesA26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
Insight Technology, Inc.
 
My sql roadmap 2008 2009
My sql roadmap 2008 2009My sql roadmap 2008 2009
My sql roadmap 2008 2009
xKinAnx
 

Similaire à MariaDB 初学者指南 (20)

A beginners guide to MariaDB
A beginners guide to MariaDBA beginners guide to MariaDB
A beginners guide to MariaDB
 
Open11 maria db the new m in lamp
Open11 maria db the new m in lampOpen11 maria db the new m in lamp
Open11 maria db the new m in lamp
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
 
The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016The MySQL Server Ecosystem in 2016
The MySQL Server Ecosystem in 2016
 
The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016The MySQL Server ecosystem in 2016
The MySQL Server ecosystem in 2016
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
 
MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)MariaDB: in-depth (hands on training in Seoul)
MariaDB: in-depth (hands on training in Seoul)
 
MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC MariaDB 10: A MySQL Replacement - HKOSC
MariaDB 10: A MySQL Replacement - HKOSC
 
MariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started TutorialMariaDB - Fast, Easy & Strong - Get Started Tutorial
MariaDB - Fast, Easy & Strong - Get Started Tutorial
 
MariaDB: The 2012 Edition
MariaDB: The 2012 EditionMariaDB: The 2012 Edition
MariaDB: The 2012 Edition
 
Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么Mariadb10 和新项目中有什么
Mariadb10 和新项目中有什么
 
The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015The Complete MariaDB Server Tutorial - Percona Live 2015
The Complete MariaDB Server Tutorial - Percona Live 2015
 
MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014MariaDB - a MySQL Replacement #SELF2014
MariaDB - a MySQL Replacement #SELF2014
 
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
Choosing between Codership's MySQL Galera, MariaDB Galera Cluster and Percona...
 
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale  by ...
[db tech showcase Tokyo 2014] B15: Scalability with MariaDB and MaxScale by ...
 
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
OSDC 2018 | Scaling & High Availability MySQL learnings from the past decade+...
 
The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it! The MySQL ecosystem - understanding it, not running away from it!
The MySQL ecosystem - understanding it, not running away from it!
 
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin CharlesA26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
A26 MariaDB : The New&Implemented MySQL Branch by Colin Charles
 
My sql roadmap 2008 2009
My sql roadmap 2008 2009My sql roadmap 2008 2009
My sql roadmap 2008 2009
 
Databases in the hosted cloud
Databases in the hosted cloudDatabases in the hosted cloud
Databases in the hosted cloud
 

Plus de YUCHENG HU

Confluence 回顾(retrospectives) 蓝图 cwikiossez
Confluence 回顾(retrospectives) 蓝图   cwikiossezConfluence 回顾(retrospectives) 蓝图   cwikiossez
Confluence 回顾(retrospectives) 蓝图 cwikiossez
YUCHENG HU
 

Plus de YUCHENG HU (20)

Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程Presta shop 1.6 图文安装教程
Presta shop 1.6 图文安装教程
 
V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程V tiger 5.4.0 图文安装教程
V tiger 5.4.0 图文安装教程
 
Confluence 回顾(retrospectives) 蓝图 cwikiossez
Confluence 回顾(retrospectives) 蓝图   cwikiossezConfluence 回顾(retrospectives) 蓝图   cwikiossez
Confluence 回顾(retrospectives) 蓝图 cwikiossez
 
Confluence 会议记录(meeting notes)蓝图 cwikiossez
Confluence 会议记录(meeting notes)蓝图   cwikiossezConfluence 会议记录(meeting notes)蓝图   cwikiossez
Confluence 会议记录(meeting notes)蓝图 cwikiossez
 
VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ VTIGER - 销售机会 - CWIKIOSSEZ
VTIGER - 销售机会 - CWIKIOSSEZ
 
Confluence 使用一个模板新建一个页面 cwikiossez
Confluence 使用一个模板新建一个页面     cwikiossezConfluence 使用一个模板新建一个页面     cwikiossez
Confluence 使用一个模板新建一个页面 cwikiossez
 
Confluence 使用模板
Confluence 使用模板Confluence 使用模板
Confluence 使用模板
 
Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知Cwikiossez confluence 订阅页面更新邮件通知
Cwikiossez confluence 订阅页面更新邮件通知
 
Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间Cwikiossez confluence 关注页面 博客页面和空间
Cwikiossez confluence 关注页面 博客页面和空间
 
My sql università di enna a.a. 2005-06
My sql   università di enna a.a. 2005-06My sql   università di enna a.a. 2005-06
My sql università di enna a.a. 2005-06
 
My sql would you like transactions
My sql would you like transactionsMy sql would you like transactions
My sql would you like transactions
 
MySQL 指南
MySQL 指南MySQL 指南
MySQL 指南
 
MySQL 简要介绍
MySQL 简要介绍MySQL 简要介绍
MySQL 简要介绍
 
mysql 5.5.25 用户安装备忘
mysql 5.5.25 用户安装备忘mysql 5.5.25 用户安装备忘
mysql 5.5.25 用户安装备忘
 
Sql
SqlSql
Sql
 
与 PHP 和 Perl 使用 MySQL 数据库
与 PHP 和 Perl 使用 MySQL 数据库与 PHP 和 Perl 使用 MySQL 数据库
与 PHP 和 Perl 使用 MySQL 数据库
 
与 PHP 和 Perl 使用 MySQL 数据库
与 PHP 和 Perl 使用 MySQL 数据库与 PHP 和 Perl 使用 MySQL 数据库
与 PHP 和 Perl 使用 MySQL 数据库
 
MySQL 简要介绍
MySQL 简要介绍MySQL 简要介绍
MySQL 简要介绍
 
从 Oracle 合并到 my sql npr 实例分析
从 Oracle 合并到 my sql   npr 实例分析从 Oracle 合并到 my sql   npr 实例分析
从 Oracle 合并到 my sql npr 实例分析
 
更多的 SQL 和 MySQL
更多的 SQL 和 MySQL更多的 SQL 和 MySQL
更多的 SQL 和 MySQL
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

MariaDB 初学者指南

  • 1. A Beginner’s Guide to MariaDB Colin Charles, Monty Program Ab colin@montyprogram.com http://montyprogram.com / http://mariadb.org/ http://bytebot.net/blog / @bytebot on Twitter O’Reilly MySQL Conference & Expo - 12 April 2011
  • 2. Aims • Give you an update of what we’ve done in the past year (plus since project inception) • Discuss the broader MySQL ecosystem
  • 3. What is it? • A branch of MySQL with more features? • A branch of MySQL with better features? • A fork?
  • 4. MariaDB is... • Community Developed • Feature Enhanced • Backward Compatible
  • 5. Who’s behind it? • MySQL (database) owned by MySQL AB (company) • Monty Program is just a sponsor of MariaDB • MariaDB: Open Database Alliance, Percona, PrimeBase, Open Query, etc.
  • 6. When did this begin? • Sun buys MySQL AB in January 2008 • Oracle proposes acquisition of Sun Microsystems in April 2009 • Monty decides that beyond the engine (Febuary 2009), focus on MariaDB, a complete database solution
  • 7. Why MariaDB? • MySQL - an open source product or project? • MariaDB is an open source project
  • 8. Aims of MariaDB • 100% compatible, drop-in replacement to MySQL • Stable (bug-free) releases • GPLv2
  • 9. Compatibility with MySQL • There is no NDB cluster storage engine • Client libraries, client- server protocol, SQL dialect, replication master- slave all similar • Data files are supported as long as its similar between versions • Tools are similar (some additional tools for Aria, PBXT) • XtraDB enabled by default; InnoDB and InnoDB plugin are included, but not enabled by default • http://kb.askmonty.org/v/ mariadb-versus-mysql- compatibility
  • 10. What’s in MariaDB 5.1 • Released February 2010 • Create external buildsystem using Buildbot +VMs for test +builds • Release filled with storage engines • XtraDB, PBXT, FederatedX, (M)Aria • Croatian collations • Numerous bug fixes • Test cases and coverage improvements • Removal of mutexes • Compiler warnings gone!
  • 11. What’s in MariaDB 5.1 • Percona XtraDB (ENGINE=InnoDB) • enhanced InnoDB designed to better scale on modern hardware; backward compatible, scale better on many cores, use memory more efficiently • See InnoDB & XtraDB Architecture & Performance Optimization slides from Peter Zaitsev at tutorial on Monday • http:// www.percona.com/docs/ wiki/percona- xtradb:start
  • 12. What’s in MariaDB 5.1 • PrimeBase PBXT • Transactional, foreign keys,ACID, MVCC (read w/o locking) • Row-level locking during (SELECT FOR) UPDATE • Rollback transactions, recovery after restart very fast (identifies garbage making undo unnecessary) • Write once w/log-based storage; write data to DB, without first writing in transaction log • http://kb.askmonty.org/v/ about-pbxt • Wednesday, 04/13/2011 - Ballroom D - 10.50am - Update on the PBXT Storage Engine by Paul McCullagh
  • 13. What’s in MariaDB 5.1 • Extended statistics for slow query log • based on microslow from Percona http://kb.askmonty.org/ v/slow-query-log-extended- statistics • PROCESSLIST with microsecond precision • TIME_MS in INFORMATION_SCHEMA.PR OCESSLIST http:// kb.askmonty.org/v/time_ms- column-in- information_schemaprocesslist • Table elimination • Query highly normalised data, it is sometimes possible to resolve a query without accessing some tables the query refers to e.g. http:// kb.askmonty.org/v/what-is- table-elimination • Pool of threads (MySQL 6 backport) • Use a limited set of threads to handle all queries vs one- thread-per-connection http:// kb.askmonty.org/v/pool-of- threads
  • 14. What’s in MariaDB 5.2 • Released November 2010 • MariaDB 5.2.5 (MariaDB 5.1.55 - changes up to MySQL 5.1.55) • Pluggable authentication • authentication of users handled by plugins • mysql_native_password (20 byte) and mysql_old_password (8 byte) included by default • CREATE USER foo IDENTIFIEDVIA mysql_native_password USING ‘pass’; == CREATE user foo IDENTIFIED BY PASSWORD ‘pass’; • Use socket_peercred - if already logged in via Unix credentials, MariaDB will trust it • http://kb.askmonty.org/v/ development-pluggable- authentication • User Statistics (userstatsv2) • Percona, Google,Weldon Whipple. Understand server activity better, identify database loads http:// kb.askmonty.org/v/user-statistics
  • 15. What’s in MariaDB 5.2 • Virtual columns • PERSISTENT (stored - default) &VIRTUAL (generated-only) • http://kb.askmonty.org/v/virtual- columns • Segmented MyISAM keycache • mitigates thread contention for key cache lock, with notable 250% performance improvements http:// kb.askmonty.org/v/segmented- key-cache • New storage engines: OQENGINE, SphinxSE • INFORMATION_SCHEMA.PL UGINS now has PLUGIN_MATURITY & PLUGIN_AUTH_VERSION columns • CREATE TABLE can be extended via storage engine API • Add additional attributes per index, field or table • http://kb.askmonty.org/v/ extending-create-table
  • 16. How open is MariaDB? • Mailing lists: Launchpad • maria- developers@lists.laun chpad.net • maria- discuss@lists.launchp ad.net • Code hosting: Launchpad • http://launchpad.net/ maria • Bugs database: • https:// bugs.launchpad.net/ maria/ • #maria on FreeNode IRC
  • 17. Worklog • Funding (bounties) • Votes • http://askmonty.org/ worklog/
  • 19. Deployments, deployments, deployments “MariaDB had the same bugs that we ran into with MySQL. However the big difference was that when we reported these bugs, they were quickly resolved within 48 hours!” -- Dreas van Donselaar, Chief Technology Officer, SpamExperts B.V. after migrating over 300 servers from MySQL 5.0 to MariaDB 5.1. “Migrating from MySQL 5.1 to MariaDB 5.2 was as simple as removing MySQL RPMs and installing the MariaDB packages, then running mysql_upgrade.” - Panayot Belchev, proprietor, Host Bulgaria on providing MariaDB to over 7,000 of their web hosting customers.
  • 20. Getting MariaDB • http://mariadb.org/ is the site + downloads • Get it via OpenSUSE build service • Its in Gentoo, FreeBSD • http://kb.askmonty.org/v/distributions-which-include- mariadb
  • 21. The future? • There is no “one” tree • MySQL, Percona Performance Server, MariaDB • GIS • HandlerSocket • Merging takes time • New config files? • Row based replication improvements • Group commit • Tonnes of optimiser features • index condition pushdown, multi-range-read (MRR) table access (with keys & row ID sorting), block nested loop for outer joins, batched key access, classic hash join, numerous subquery optimisations (possible materialisation for non- correleated subqueries), merged derived tables, index merge enhancements • dynamic columns support
  • 22. What else do we need? • InnoDB focus • Replication focus • More benchmarks • http://kb.askmonty.org/v/benchmarks • Spreading the good word
  • 23. Your roadmap • (past) What are the new optimiser features and how can I benefit from them - Sergey Petrunya - Ballroom G - 11.55am - 12/04/2011 • (past) Plugin development tutorial by Sergei Golubchik • State of MariaDB keynote - Michael Widenius - 9am - 13/04/2011 • Group commit and related enhancements in the MariaDB binary log - 2pm - 13/04/2011 - Ballroom H • Dynamic Columns - 3.05pm - 13/04/2011 - Ballroom G • OQGRAPH Dealing with graphs and hierarchies in plain SQL - Antony Curtis - 10.50am 14/04/2011 - Ballroom D • A BoF on Wednesday evening to plan MariaDB future features • http://kb.askmonty.org/v/plans- for-56
  • 24. Plugins & Storage Engine Summit • Interested in plugins and storage engines for MySQL/MariaDB/Drizzle? • Be at the summit! • April 15 2011, 10am-4pm,The Facebook Campus • Sign up here: http://kb.askmonty.org/v/ storage-engine-summit-2011
  • 25. Booth 411 • Expo Hall • Auction for a t-shirt (signed) + dinner with Monty - proceeds go to Japan
  • 26. Q&A? email: colin@montyprogram.com http://montyprogram.com/ | http://mariadb.org/ twitter: @bytebot / url: http://bytebot.net/blog/