42
About me MySQL DBA at www.163.com (October 2010 – August 2012) – Managing 100+ MySQL hosts,300+ MySQL instances Design Schema Database Architecture and Design Performance Tuning

Data

Embed Size (px)

Citation preview

Page 1: Data

About me

• MySQL DBA at www.163.com (October 2010 – August 2012)– Managing 100+ MySQL hosts,300+ MySQL instances– Design Schema– Database Architecture and Design– Performance Tuning

Page 2: Data

What is database administrator?• Installing and upgrading the database server and application tools• Allocating system storage and planning future storage requirements for

the database system• Enrolling users and maintaining system security• Controlling and monitoring user access to the database• Monitoring and optimizing the performance of the database• Planning for backup and recovery of database information• Backing up and restoring the database• Generating Various reports by querying from database as per need

Page 3: Data

History• Database concept

– The database concept has evolved since the 1960s to ease increasing difficulties in designing, building, and maintaining complex information systems (typically with many concurrent end-users, and with a large amount of diverse data). It has evolved together with database management systems which enable the effective handling of databases. Though the terms database and DBMS define different entities, they are inseparable: a database's properties are determined by its supporting DBMS. With the progress in technology in the areas of processors, computer memory, computer storage and computer networks, the sizes, capabilities, and performance of databases and their respective DBMSs have grown in orders of magnitudes. For decades it has been unlikely that a complex information system can be built effectively without a proper database supported by a DBMS. The utilization of databases is now spread to such a wide degree that virtually every technology and product relies on databases and DBMSs for its development and commercialization, or even may have such embedded in it. Also, organizations and companies, from small to large, heavily depend on databases for their operations.

– No widely accepted exact definition exists for DBMS. However, a system needs to provide considerable functionality to qualify as a DBMS. Accordingly its supported data collection needs to meet respective usability requirements (broadly defined by the requirements below) to qualify as a database. Thus, a database and its supporting DBMS are defined here by a set of general requirements listed below. Virtually all existing mature DBMS products meet these requirements to a great extent, while less mature either meet them or converge to meet them.

Page 4: Data

What is RDBMS?

Who is Edgar F. Codd?

Who is Bill Inmon?

Page 5: Data

What is RDBMS?A short definition of an RDBMS is: a DBMS in which data is stored in tables and the relationships among the data are also stored in tables. The data can be accessed or reassembled in many different ways without having to change the table forms.

Page 6: Data

Database Software

• Oracle– Oracle 11g – Oracle ERP – Oracle BI– Oracle Exadata

Page 7: Data

Database Software

• PostgreSQL-9.1.4• Greenplum (Data Warehouse)

Page 8: Data

Database Software

• MySQL– MySQL Community Server (innodb plugin)– Perona Server– MariaDB– Infobright (Data Warehouse)

Page 9: Data

Database Software

• MS SQL Sever• SQL Server Fast Track(Data Warehouse)

Page 10: Data

What is NoSQL?

Page 11: Data

What is NoSQL?In computing, NoSQL (mostly interpreted as "not only SQL") is a broad class of database management systems identified by its non-adherence to the widely used relational database management system model, that is NoSQL databases are not primarily built on tables, and as a result, generally do not use SQL for data manipulation.

Page 12: Data

NoSQL Software– Oracle Berkeley DB– Redis– MongoDB– Hbase– MySQL handlesocket– Cassandra

Page 13: Data

What the google has brought to us?

Page 14: Data

What the google has brought to us?

• MapReduce

Page 15: Data

What the google has brought to us?

• MapReduce• GFS

Page 16: Data

What the google has brought to us?

• MapReduce• GFS• Bigtable

Page 17: Data

What the google has brought to us?

• MapReduce• GFS• Bigtable• F1

Page 18: Data

What the google has brought to us?• MapReduce• GFS• Bigtable• F1• Flashcache

Page 19: Data

SQL(Structured Query Language)

Page 20: Data

SQL(Structured Query Language)• Data Query Language(DQL)– SELECT

Page 21: Data

SQL(Structured Query Language)• Data Query Language(DQL)– SELECT

• Data Definition Language(DDL)– CREATE DROP ALTER

Page 22: Data

SQL(Structured Query Language)• Data Query Language(DQL)– SELECT

• Data Definition Language(DDL)– CREATE DROP ALTER

• Data Manipulation Language(DML)– INSERT UPDATE DELETE

Page 23: Data

SQL(Structured Query Language)• Data Query Language(DQL)– SELECT

• Data Definition Language(DDL)– CREATE DROP ALTER

• Data Manipulation Language(DML)– INSERT UPDATE DELETE

• Data Controlling Language( DCL)– GRANT REVOKE COMMIT ROLLBACK

Page 24: Data

What is ACID?

Page 25: Data

What is ACID?

– Atomicity

Page 26: Data

What is ACID?

– Atomicity– Consistency

Page 27: Data

What is ACID?

– Atomicity– Consistency– Isolation

Page 28: Data

What is ACID?

– Atomicity– Consistency– Isolation– Durability

Page 29: Data

What is mvcc?

Page 30: Data

What is mvcc?• Multi-Version Concurrency Control

Page 31: Data

What is mvcc?• Multi-Version Concurrency Control– Redo log

Page 32: Data

What is mvcc?• Multi-Version Concurrency Control– Redo log– Undo log

Page 33: Data

What is mvcc?• Multi-Version Concurrency Control– Redo log– Undo log– Commit

Page 34: Data

What is mvcc?• Multi-Version Concurrency Control– Redo log– Undo log– Commit– Rollback

Page 35: Data

System Architecture

Page 36: Data

System Architecture • High Performance

Page 37: Data

System Architecture • High Performance• High Availability

Page 38: Data

System Architecture • High Performance• High Availability• High Scalability

Page 39: Data

System Architecture • High Performance• High Availability• High Scalability • High safety

Page 40: Data
Page 41: Data
Page 42: Data

Thank you

• http://www.mysqlperformanceblog.com/• Gmail:[email protected]