1 Getting Started overview 1.1 big opportunities in the Internet context, why use NoSQL? 1.1.1 A perfect time for a single MySQL
- In the 90 's, a Web site is generally a small number of visits, with a single database can be easily manageable.
- At that time, more static web pages, dynamic interaction types of sites are not many.
- In the above architecture, let's look at what is the bottleneck of data storage?
- 1) The total size of the amount of data when a machine is in a small place
- 2) Index of data (b-tree) when a machine's memory doesn't fit
- 3) Access Volume (Read/write Mix) a database cannot withstand
1.1.2 Memcached (cache) +mysql+ Vertical split
- Later, with the increase in traffic, almost the majority of Web sites that use the MySQL architecture have performance problems on the database, and Web applications are no longer focused on functionality alone, but also in pursuit of performance.
- Programmers are starting to use caching techniques to ease the pressure on the database, optimizing the structure and indexing of the database.
- Start to be more popular with the file cache to alleviate the pressure of the database, but when the traffic continues to increase, more than one Web server through the file cache can not be shared, a large number of small file cache also bring a relatively high IO pressure.
- At this time,memcached naturally became a very fashionable technology product .
1.1.3 MySQL master-slave read/write separation
- Because of the increased write pressure on the database, memcached can only cache the read pressure on the database.
- Reading and writing are concentrated on a database, and most sites begin to use master-slave replication technology to achieve read-write separation to improve read and write performance and the scalability of reading libraries.
- MySQL's master-slave copy mode (master-slave) mode becomes the standard configuration for this time site.
1.1.4 Sub-table sub-Library + horizontal split +mysql cluster
- In the memcached cache, MySQL's master-slave replication, read and write separation based on, this time the main library of MySQL writing pressure began to bottleneck, and the volume of data continued to soar, because myisam use table lock, in high concurrency, there will be serious locking problems, A large number of high-concurrency MySQL applications are starting to use the InnoDB engine instead of MyISAM.
- At the same time, it has become popular to use the library sub- table to alleviate write stress and increase data expansion problems. Of course, this time, the Sub-table sub-Library became a hot technology.
- At this time, MySQL has introduced a less stable table partition, which also gives the technical strength of the general company brought hope.
- Although MySQL has introduced MySQL Cluster (MySQL cluster), performance does not meet the requirements of the Internet very well, but provides a great guarantee for high reliability.
1.1.5 MySQL's extensibility bottleneck
- MySQL database also often stores some large text fields, resulting in database tables is very large, when the database recovery is very slow, it is not easy to quickly recover the database.
- For example, 4kb size of the text is close to the size of 40GB, if you can save this data from MySQL, MySQL will become very small.
- Relational databases are powerful, but they do not handle all the scenarios well.
- MySQL's poor scalability, big data under the IO pressure is very large, table structure changes difficult, this is the current use of MySQL developers face problems.
What is 1.1.6 like today?
Why is 1.1.7 using NoSQL?
- Today, we can easily access and crawl data through third-party platforms. User's personal information, social network, geographical location, user generated data and user operation log have multiplied. If we were to dig into these user data, the SQL database would not have been able to apply these references, and the development of the NoSQL database would be a good deal of the big data.
What is 1.2?
- NOSQL, not just SQL.
- Refers to a non-relational database. With the rise of web2.0 Web site, the traditional relational database in dealing with web2.0 website, especially the super large-scale and high-concurrency SNS type web2.0 pure Dynamic Web site has become inadequate, exposing a lot of insurmountable problems, and non-relational database because of its own characteristics have been very rapid development. NoSQL databases are created to address the challenges of large-scale data collection multiple data types, especially big data application challenges, including ultra-large-scale storage.
- These types of data stores do not require a fixed pattern and can be scaled horizontally without extra action.
1.3 What do you do?
1.4 Where to download?
1.5 How to play?
Introduction and Overview of NoSQL