Upload
tommy-chiu
View
475
Download
1
Tags:
Embed Size (px)
Citation preview
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
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
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.
What is RDBMS?
Who is Edgar F. Codd?
Who is Bill Inmon?
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.
Database Software
• Oracle– Oracle 11g – Oracle ERP – Oracle BI– Oracle Exadata
Database Software
• PostgreSQL-9.1.4• Greenplum (Data Warehouse)
Database Software
• MySQL– MySQL Community Server (innodb plugin)– Perona Server– MariaDB– Infobright (Data Warehouse)
Database Software
• MS SQL Sever• SQL Server Fast Track(Data Warehouse)
What is NoSQL?
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.
NoSQL Software– Oracle Berkeley DB– Redis– MongoDB– Hbase– MySQL handlesocket– Cassandra
What the google has brought to us?
What the google has brought to us?
• MapReduce
What the google has brought to us?
• MapReduce• GFS
What the google has brought to us?
• MapReduce• GFS• Bigtable
What the google has brought to us?
• MapReduce• GFS• Bigtable• F1
What the google has brought to us?• MapReduce• GFS• Bigtable• F1• Flashcache
SQL(Structured Query Language)
SQL(Structured Query Language)• Data Query Language(DQL)– SELECT
SQL(Structured Query Language)• Data Query Language(DQL)– SELECT
• Data Definition Language(DDL)– CREATE DROP ALTER
SQL(Structured Query Language)• Data Query Language(DQL)– SELECT
• Data Definition Language(DDL)– CREATE DROP ALTER
• Data Manipulation Language(DML)– INSERT UPDATE DELETE
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
What is ACID?
What is ACID?
– Atomicity
What is ACID?
– Atomicity– Consistency
What is ACID?
– Atomicity– Consistency– Isolation
What is ACID?
– Atomicity– Consistency– Isolation– Durability
What is mvcc?
What is mvcc?• Multi-Version Concurrency Control
What is mvcc?• Multi-Version Concurrency Control– Redo log
What is mvcc?• Multi-Version Concurrency Control– Redo log– Undo log
What is mvcc?• Multi-Version Concurrency Control– Redo log– Undo log– Commit
What is mvcc?• Multi-Version Concurrency Control– Redo log– Undo log– Commit– Rollback
System Architecture
System Architecture • High Performance
System Architecture • High Performance• High Availability
System Architecture • High Performance• High Availability• High Scalability
System Architecture • High Performance• High Availability• High Scalability • High safety
Thank you
• http://www.mysqlperformanceblog.com/• Gmail:[email protected]