Streamlining Python Development: A Guide to a Modern Project Setup
Introduction to MySQL
1. <Insert Picture Here>
Introduction to MySQL
Giuseppe Maxia
MySQL Community Team Lead at Oracle
Monday, 19 April 2010
2. about me -Giuseppe Maxia
a.k.a. The Data Charmer
MySQL Community Team Lead
Long time hacking with MySQL features
Formerly, database consultant, designer, coder.
A passion for QA
An even greater passion for open source
... and community
Passionate blogger
http://datacharmer.blogspot.com
Monday, 19 April 2010
3. If I wanted to make you invest in MySQL
If you were a
VC
Using Guy
Kawasaki's
rules
Monday, 19 April 2010
5. 1. Why MySQL? (the problem)
• Startup
• Small business
• Small budget
• Need a open system
5
Monday, 19 April 2010
6. 2. MySQL: What is it? (the solution)
• A lightweight database server
• Fast
• Stable
• Easy to install
• Easy to use
6
Monday, 19 April 2010
7. 3. Business model
• Let everyone use it
• When their business grow, sell them services and
additional software
7
Monday, 19 April 2010
8. 4. MySQL Technology
• Multiple storage engines
• Full ACID compliant (with InnoDB)
• Stored routines, views, triggers
• Built-in replication
• Built-in partitioning
• Event scheduler
• Plugin architecture
• MySQL Cluster
8
Monday, 19 April 2010
9. 5. Marketing and sales
• Open the doors
• Optional registration on downloads
• Registration on some additional contents
• Events
• Offers and campaigns
• MySQL Enterprise tools
• Excellent support
9
Monday, 19 April 2010
10. 6. Competition
• Small
> PostgreSQL
> SQLite
> MySQL forks
> NoSQL
• Big
> Microsoft
> IBM
> Oracle?
10
Monday, 19 April 2010
11. 7. Team
• Developers in house
• Support closely tied to engineering
• Carefully hired talents
11
Monday, 19 April 2010
12. 8. Projection and milestones
• World domination achieved for ubiquity
> Via other open source projects (e.g. Linux, PHP)
• World domination in business on the way
> Through Oracle stewardship
12
Monday, 19 April 2010
13. 9. Status and timeline
• MySQL 5.1 current G.A.
• MySQL 5.5 in the making
> Performance and scalability enhancements
> Semi-synch replication
> Partitioning enhancements
> Better usability
13
Monday, 19 April 2010
14. 10. Summary and call to action
• MySQL is a phenomenon (You'll see soon)
• Go get it!
> And give me $1 billion, pretty please!
• http://dev.mysql.com
14
Monday, 19 April 2010
15. What? No cash?
Then I should probably
introduce a new element
15
Monday, 19 April 2010
24. The political competition
(november 2008)
• “mysql” =
210,000,000
• “obama” =
201,000,000
24
Monday, 19 April 2010
25. a phenomenon!
MySQL is twice as popular as
Madonna and has almost the
same chance as Obama for US
President.
25
Monday, 19 April 2010
26. OK.
But really, what is it?
• a piece of database software
• the backbone of the web economy
• a community of millions of users
• the employer that gives me a pay check
• All of the above
26
Monday, 19 April 2010
27. or, more practically ...
• Let me give you an example
• what about Facebook?
27
Monday, 19 April 2010
31. the LAMP stack
Linux
L
Apache
A
MySQL
M
Perl/PHP/Python
P
31
Monday, 19 April 2010
32. From ubiquity to business
Enterprise
customers
MySQL User Base
32
Monday, 19 April 2010
33. MySQL Enterprise
• Full control
on your
database
33
Monday, 19 April 2010
34. MySQL Query Analyzer
• Part of MySQL Enterprise
• finds and solves
performance problems on
the spot
• find out more:
www.mysql.com
34
Monday, 19 April 2010
35. people
• freedom to
work
anywhere
35
Monday, 19 April 2010
49. MySQL Core Values
• Stability
• Performance
• Ease of use
49
Monday, 19 April 2010
50. Stability
• tested by millions
• built to last
50
Monday, 19 April 2010
51. Performance
• designed to be
fast
• The web wants
instant
responses
• MySQL provides
them
51
Monday, 19 April 2010
52. Ease of use
• the "15 minutes rule"
> you should be up and running
with MySQL within 15 minutes
52
Monday, 19 April 2010
53. Scalability
slave
MySQL server
R
MySQL server
master
R/W
slave
MySQL server R
REPLICATION
For read intensive high concurrency
53
Monday, 19 April 2010
54. Scalability
R/W
data node MySQL server
MySQL server
R/W data node
data node
data node
R/W
MySQL server
MySQL Cluster
For write intensive high concurrency and HA
54
Monday, 19 April 2010
55. Performance : partitioning
1-99
100-199 select *
from
200-299 table_name
where colx =
300-399 120
400-499 Boosting performance with MySQL partitions
Wednesday, April 21, 2010
1:00 PM
500-599 ROOM: SURF C 55
Monday, 19 April 2010
56. Performance: InnoDB 1.0
• Faster
• More scalable
• Available as plugin in MySQL 5.1
• Built-in in MySQL 5.5
56
Monday, 19 April 2010
57. host2 MySQL server
without
SPIDER
From community:
the Spider engine host3 MySQL server
without
SPIDER
table employees host4 MySQL server
partition 1 year 1997 host2 without
SPIDER
partition 2 year 1998 host3
partition 3 year 1999 host4 host5 MySQL server
without
partition 4 year 2000 host5 SPIDER
partition 5 year 2001 host6
partition 6 year 2002 host7 host6 MySQL server
without
SPIDER
host1 MySQL server
Sharding
for the masses. MySQL for large projects
with SPIDER
Tuesday, April 20, 2010 host7 MySQL server
without
11:45AM SPIDER
ROOM: SURF B 57
Monday, 19 April 2010
62. Get involved
• http://dev.mysql.com
• Downloads
• Documentation
• Articles
• Blogs
• Forums
• Mailing lists
• Bugs database
• And more! 62
Monday, 19 April 2010
63. More sessions on MySQL
Sharding for the masses. MySQL for large projects
Tuesday, April 20, 2010
11:45AM
ROOM: SURF B
Boosting performance with MySQL partitions
Wednesday, April 21, 2010
1:00 PM
ROOM: SURF C
63
Monday, 19 April 2010
64. The preceding is intended to outline our
general product direction. It is intended for
information purposes only, and may not be
incorporated into any contract. It is not a
commitment to deliver any material, code, or
functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of
Oracle.
64
Monday, 19 April 2010
65. THANKS!
Q&A
Comment on Twitter:
@datacharmer
Monday, 19 April 2010