non-relational database
key-value:Memcached,Redis,MemcacheDB,BerkeleyDB
Column store database:
Column-oriented:Cassandra(360),HBase(sina)
For document databases:
Document-oriented:MongoDB,CouchDB
Graph database:
Graph:Neo4J,InfoGid
Operation and maintenance DBA--
The biggest bottleneck of the website is the database and storage in the background, and it is difficult to expand.
Usually the way to relieve is to relieve 90% of the pressure through Memcache (cache) and static methods - logical thinking: team spirit, let the front end share your pressure
What is a database:
Generally speaking, it is a warehouse for storing data. The warehouse is organized and stored according to a certain data structure.
We manage databases in a variety of ways.
Type of database:
1. Relational database
Simple two-dimensional form, using structured query language, sql statement to access data, the main products Oracle and MySQL
2. Non-relational database
NoSQL=Not Only SQL
Complementary to relational databases
Reason for birth: The rise of Web2.0, dynamic requests are getting higher and higher, application scenarios with high concurrency and high throughput, relational databases are difficult to handle
product:
Business -- Google: BigTable and Amazon: Dynamo
Non-commercial (open source) -- Facebook: Cassandra, Apache: HBASE, Redis, mongodb
product description:
Oracle: Traditional Industry
MySQL: Internet Enterprise
Memcache: Memory cache, process hangs, data is lost. Sina developed MemcacheDB, which regularly writes to disk
Redis: Data is cached in memory, the difference is that redis will periodically write updated data to disk or write modification operations to additional record work.
Features: support memory cache; support persistence; richer data types; support cluster distribution; support special functions such as queues;
MongoDB: a database between relational and non-relational
Cassandra: 360 company reuse
MariaDB: Fork of MySQL
Getting started with MYSQL:
MySQL: Excellent performance, stable service, and rarely abnormal downtime;
No copyright, open source;
Small size, easy to install;
Support a variety of operating systems, provide a variety of API interfaces, and the popular phd language is well supported;
MySQL database classification:
Adopt a dual-licensing policy: Community Edition and Commercial Edition
Four versions: Alpha internal testing
Beta User Experience
The RC version is the version after the patch based on the Beta
GA version official version
Main use of the Internet: 5.5
Version usage process:
For the stable version, select the stable version GA version -> product 5.6 -> select the GA version released for more than 6 months -> select the version without major bugs -> the version that has not been updated for a long time -> consider the version used by developers
Compatibility -> run as an internal test environment for 3-6 months -> give priority to non-core business of enterprises -> ask Daniel for advice -> then use it as database version software
Installation method:
1.yum installation: yum install mysql-server
It is suitable for some environments within the company that do not require high database requirements and have little concurrency.
Large portal website: make rpm according to the needs of the enterprise, build a yum warehouse, and install yum
2. Compile and install: make install
3. Compile and install MySQL using cmake
4. Binary method - free compilation and installation
Suggestion: cmake method, the number is mostly binary