How to choose the database adapter

Big Data, artificial intelligence, block chain, 5G, Internet of Things, which marks the world into the digital age word has been no stranger to the digital economy has become a new economic form, and the steady and rapid development, while continuing to promote the traditional enterprise digital transformation.

In this highly complex, the individual requirements of business scenarios, the database has become a core business transformation.

The selection of the database whether it can meet the needs of the scene? Whether it can support the stable development of the business? Can even help companies cost efficiency? These are the author of this to share with you and hope to have opportunities to explore together.

On how the database selection problem, I am very serious discussions about it with the company's technical men, concluded as follows:

First an analogy, is like buying a car, consider car who fired, budget, how performance, functionality Zeyang, no high maintenance cost and so on. Select the database is similar.

The first dimension, cost, this is the first test factors most businesses, the cost here is not only the cost of purchasing the product database, also includes learning costs, operation and maintenance costs.
1.1) Product cost: As the name suggests purchasing database products own costs, taking into account the situation of the adapter hardware. Hardware products also constitute one of the cost elements. General product adaptation is the X86 server on the market.

1.2) learning costs: Can get started quickly, reduce personnel costs and time costs, the liberation of their hands to create greater value.

1.3) operation and maintenance costs: installation deployment database, daily inspection, performance optimization, backup and recovery, fault handling.

Tied for second the following dimensions: performance, features, security, ecosystem,
2.1) functions: data storage, operation and management, the number of stores the number of PB grade support, high throughput coping write scenes, etc.

2.2) Performance: query rate, delay situation, high availability, failure to capture, the ability to support more advanced memory handling

2.3) Security: The first is the protection of data, in order to prevent data leakage caused by illegal use, alteration or destruction, and thus security systems and measures are also important companies have chosen one of the database options.

2.4) ecosystem: Create your own product ecosystem, indicating that the product has been recognized maturity already high. Compatibility;

2.5) scalability: to consider the long-term development of an enterprise business selection, and therefore whether they have the flexibility and configurability aspect ductility is very important consideration.

On more than a few dimensions as buyers + user database product selection would be important to consider, in the next to talk about different scenarios, how to choose? Here the author of the first article database classification on here must have excellent
Here Insert Picture Description
?? relational database

It is stored in table format, and a list of current through the line forms, and related coordination between the two is easy to store and can be complex queries join other biggest advantage is consistent with the data. Relational database for data centralized control, unified definition, rich in integrity, thereby reducing data redundancy, reducing the cost of maintenance and management of data.

Currently relational database has a very wide application in the market, there are well-known Oracle, DB2, MySQL, Microsoft SQL Server, Microsoft Access, etc., but with the rapid development of Internet technology, businesses faced with large-scale outbreak of the amount of data, high throughput , high concurrency business scenario has been a challenge most companies face, so a distributed relational database on the scene, so the time to consider the selection of the amount of data in the end how much; when we are faced with banking services, database security, stability, scalability, demanding time, or as two-eleven Taobao this problem will be a great data storage and access time, to consider sub-library sub-table with the principles of implementation, and read write separate implementations. In such a case, if they simply add hardware, the results may only costs go up, the resources of a single library will still reach a bottleneck. When the reading is far greater than the time of writing, to consider the separate read and write the selected product performance advantages. Such as; Cobar partakers library no points table, you can make traditional database have good ductility; Mycat supports read and write separation, and sub-sub-table database, disaster management; DRDS closed source, can parse incoming SQL and processing; TIDB architecture is relatively complex, horizontal scaling is not going to stop the service, compared to adapt to the new Internet companies, cost. Thermal Pu database HotDB, in the same industry distributed transaction database products, high cost, online support elastic expansion and product breakthroughs distributed consensus protocol limitations, can provide higher availability of computing nodes, used more often in the financial sector, It has been formed ecosystem, high maturity.

, Non-relational database of choice:

NoSQL is not a "NO SQL" mean, Not Only SQL Jane in, in practical applications, have higher expectations for performance, the greater the amount of data of the scene has the absolute advantage, good at handling unstructured data. But still the mainstream relational databases, NoSQL, is not stable enough and mature.

If a document database, mainly used for event logging, for managing user reviews, registration, storage, real-time analysis of website traffic and other scenes, MongoDB is currently the more popular type of database, you can store more complex data types , the biggest feature is a powerful query language that supports high-performance storage service, as well as a large number of UPDATE operation, but M ongoDB does not support transactional operations, does not support the join operation, so in the face of this scenario, we have to consider, as appropriate use MongoDB. If is based on the Lotus Notes application, document database values ​​higher than building a database query efficiency, it is recommended: CouchDB, MongoDB, SequoiaDB, according to priority, I also recommend CouchDB, mainly because of its MVCC mechanism, but do not try to query frequency high, with CouchDB scenario under analysis, mainly Couch reached this high performance requirements. SequoiaDB, based on the document type model stored in JSON format, has good flexibility and scalability, can well meet the requirements of big data scene. But if for OLTP scenario, it will have to be considered in other database products.

These are a few points to share with you, for when we play a reference role in the selection

Published 10 original articles · won praise 0 · Views 358

Guess you like

Origin blog.csdn.net/m0_46473154/article/details/105047428