Choose Key-value Store

Source: Internet
Author: User

"IT168 Zhuangao" in the previous article, introduced the "Redis QuickStart: Key-value Storage System Introduction", today to further explain why choose Key-value Store. Key-value Store is now a popular topic, especially in the construction of such as search engine, IM, peer, game server, SNS and other large-scale Internet applications and provide cloud computing services, how to ensure the system in the massive data environment of high performance, high reliability, high scalability, high availability, Low cost is a critical consideration for all system architectures, and how to address database server performance bottlenecks is the biggest challenge.

What exactly is the reason why a large number of Internet users choose Key-value Store? The main reasons are divided into the following 2 main causes:

  1, large-scale Internet applications

For Internet enterprises such as Google,ebay, countless users are using the Internet services they provide every moment of the day, and these services bring a lot of data throughput, and at the same time, there are thousands of connections to operate the database concurrently. In this case, a single server or a few servers can not meet the needs of these data processing, simple upgrade server performance such as the scale up of the way also not, so the only way to do is scale out. There are many ways to scale out, but they are broadly divided into two categories: a class that still uses RDBMS, and then deploys the entire database to a cluster through vertical and horizontal cutting of the database, the advantage of which is that the familiar technology of the RDBMS can be adopted, but the disadvantage is that it is specific to the application, That is, because of the different application, the cutting method is not the same.

Another category is Google's approach, discarding RDBMS, using key-value form of storage, which can greatly enhance the scalability of the system (scalability), if the data to be processed continues to increase, more machines can be. In fact, Key-value's storage is due to the publication of BigTable and other related papers slowly into people's horizons.

  2. Cloud Storage

If there is an alternative solution to the previous problem (cutting the database), then perhaps the Key-value store is the only solution for cloud storage. The simple point of cloud storage is to build a large storage platform for others, which means that the application running on it is actually not controllable. If one of the customers ' applications grows with the growth of the user, the cloud storage provider is not able to reach scale by cutting the database, because this data is the customer, the supplier does not understand this data naturally cannot make the cut. In this case, the Key-value store is the only option, because the scalability in this condition must be automated and cannot have manual intervention. That's why almost all of the existing cloud storage is in key-value form, such as Amazon's smipledb, the underlying implementation is Key-value, and Google's Googleappengine, which uses the BigTable storage format. Perhaps the only exception is the MS solution, and I heard in the Qcon conference that the next version of MS's Azure platform would introduce RDBMS-based cloud storage, although I still remain skeptical.

The biggest feature of the Key-value store is its scalability, which is its biggest advantage. The so-called extensibility, in my opinion, consists of two things. On the one hand, Key-value store can support the storage of great data, its distributed architecture determines that as long as there are more machines, you can guarantee to store more data. On the other hand, it means that it can support a large number of concurrent queries. For RDBMS, the general hundreds of concurrent queries can make it very laborious, and a key-value Store, can easily support thousands of concurrent queries. Here is a brief list of some of the features:

Key-value Store: A key-value data storage system that supports only a few basic operations, such as SET (key, value) and GET (key);

Distributed: Multiple machines (nodes) store data and state simultaneously, exchanging messages to keep the data consistent, and can be considered as a complete storage system.

Data consistency: All data on the machine is updated synchronously, without worrying about inconsistent results;

Redundancy: All machines (nodes) hold the same data, and the storage capacity of the entire system depends on the ability of a single machine (node);

Fault tolerance: If there are a few nodes error, such as restart, when the machine, broken network, network drops, and so on all kinds of fault/fail do not affect the operation of the whole system;

High reliability: Fault tolerance, redundancy and so on ensure the reliability of the database system.

  3, Redis practical application case

Currently the world's largest redis users are Sina Weibo, there are more than 200 physical machines in Sina, more than 400 ports are running Redis, there are +4g data running on Redis to provide services for Weibo users.

There are a number of deployment scenarios for the Sina Weibo Redis, which can be divided into the following 2 types:

The first is the direct access of the application to the Redis database:

The second is that the application accesses Redis directly and only accesses MySQL if Redis access fails:

At the same time, a new feature of Digg adds to the display of article views, one of the major selling points of this feature is its real-time performance. This real-time view count is supported by Redis.

Choose Key-value Store

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.