In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly explains "which categories can be divided into databases". The content of the explanation in the article is simple and clear, and it is easy to learn and understand. let's go deep into the editor's train of thought. Let's study and learn "which types of databases can be divided into"!
Database panorama
When it comes to databases, most people think of mysql,sqlserver,oracle. In fact, the database is more than that. It also includes other forms of storage, such as MongoDB,Cassandra,Es. So, what are the common databases? And how to classify the data, and how to select different databases in different scenarios?
First, put a panorama of the database in the "451Group" analysis report.
From the picture, we can see that the database industry Paul is all-inclusive. It includes many different categories of products.
Database classification
In general, databases can be divided into three categories:
Relational databases: such as mysql,sqlserver,oracle, etc.
NoSql (non-relational database): for example, Redis,MongoDB,HBase, etc.
NewSql: it is the abbreviation for all kinds of new scalable / high-performance databases. This kind of database not only has the storage and management ability of NoSQL for massive data, but also maintains the characteristics of traditional databases such as ACID and SQL. Including: lustrix, GenieDB, ScalArc, Schooner and so on.
These three types of databases are described below.
Traditional relational database
First of all, an official definition of relational database is given: relational database: a database that uses a relational model to organize data. The relational model refers to the two-dimensional table model, and a relational database is a data organization composed of two-dimensional tables and their relationships.
Advantages of relational databases:
1. Easy to understand: two-dimensional table structure is a concept that is very close to the logical world, and the relational model is easier to understand than other models such as mesh, hierarchy and so on.
two。 Easy to use: the general SQL language makes it very convenient to operate relational databases.
3. Easy to maintain: rich integrity (physical, referential, and user-defined integrity) greatly reduces the probability of data redundancy and data inconsistencies
Problems with relational databases:
High concurrency support is not enough: the user concurrency of the website is very high, often reaching tens of thousands of read and write requests per second. For the traditional relational database, the hard disk IuserO is a big bottleneck.
The challenge of massive data: the amount of data generated by the website every day is huge, and it is very inefficient for relational databases to query in a table containing huge amounts of data.
Scale-out difficulty: in the web-based structure, the database is the most difficult to scale out. When the number of users and visitors of an application system is increasing day by day, the database has no way to expand the performance and load capacity as easily as web server and app server by adding more hardware and service nodes. When the database system needs to be upgraded and extended, downtime maintenance and data migration are often needed.
Poor performance: in relational databases, the main reasons for poor performance are associative queries with multiple tables and complex SQL report queries with complex data analysis types. In order to ensure the ACID characteristics of the database, it must be designed according to its required paradigm as far as possible. The tables in the relational database are all stored in a formatted data structure.
Database transactions must have ACID characteristics. ACID stands for Atomic (atomicity), Consistency (consistency), Isolation (isolation), and Durability (persistence), respectively.
Today's ten mainstream relational databases Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2, Microsoft Access, SQLite,Teradata,MariaDB (a branch of MySQL), SAP.
NoSQL
In view of the shortcomings of traditional relational databases, in order to better meet the needs of modern Internet with high concurrency, high performance, high availability and massive data challenges, there are different NoSQL databases. NoSQL abandons the strong transaction guarantee and relational model of traditional SQL and focuses on the high availability and scalability of the database.
The main advantages of NoSQL are:
High availability and scalability, automatic partitioning, easy expansion
Strong consistency is not guaranteed, and performance is greatly improved.
Without the limitations of the relational model, the main disadvantages of extremely flexible NoSQL are:
Do not guarantee strong consistency: no problem for ordinary applications, but there are still many enterprise applications like finance that have strong consistency requirements.
NoSQL does not support SQL statements: compatibility is a big problem, and different NoSQL databases have their own api operation data, which is cumbersome to learn.
Classification of NoSQL databases 1. Key-value storage
Stores data as key-value pairs. Value can be custom and unused data structures. This type of database mainly includes: | Database | Category | characteristics | |-| | Redis | Key-value store,Document store,Graph DBMS,Search engine,Time Series DBMS | Amazon DynamoDB | Document Store,Key-value store | Couchbase | Document Store,Key-value store | etcd | Key-value store | Memcached | Key-value store | Ehcache | Key-value store | LevelDB | Key-value store | | |
two。 Document storage
Stores the contents of a document in a relatively free format (usually JSON). This means:
Records do not need to have a unified structure, that is, different records can have different columns.
The value types of each column of each record can be different.
Columns can have multiple values (arrays).
Records can have nested structures. Common document stores are: MongoDB,Amazon DynamoDB,Couchbase,CouchDB.
3. Wide column storage
Wide column storage (also known as extensible record storage) stores data in records and can accommodate a large number of dynamic columns. Because column names and record keys are not fixed, and a record can contain billions of columns, wide column storage can be thought of as two-dimensional key value storage.
Wide column storage shares schemaless features with document storage, but the implementation is quite different.
In some relational systems, wide-column storage cannot be confused with column-oriented storage. This is an internal concept used to improve the performance of RDBMS for OLAP workloads and to store the data in the table instead of recording it one by one, but column by column.
Column storage usage scenarios:
Row storage is natural for OLTP scenarios: most operations are based on entity, that is, most operations are to add, delete, modify and check an entire row of records. Obviously, it is a good choice to store a row of data in physically adjacent locations.
However, for OLAP scenarios, a typical query needs to traverse the entire table for operations such as grouping, sorting, aggregation, and so on, so that the advantage of storing by row no longer exists. To make matters worse, analytical SQL often does not use all the columns, but only operates on some of the columns of interest, and those unrelated columns in that row also have to participate in the scan.
Column storage is designed for such requirements. As shown in the following figure, the data of the same column is stored next to each other, and each column of the table forms a long array.
Common wide-column storage data include: Cassandra and HBase.
4. Graph storage
Graph DBMS, also known as graph-oriented DBMS or graph database, represents the data in the graph structure as nodes and edges, that is, the relationship between nodes. They allow easy processing of this form of data, and can simply calculate specific attributes of the drawing, such as the number of steps required to move from one node to another.
Graphical DBMS usually does not provide an index on all nodes, in which case the node cannot be accessed directly based on attribute values. Common graph storage includes: Neo4j,Microsoft Azure Cosmos DB.
NewSQL
NewSQL provides the same extensibility as NoSQL, but is still based on the relational model, and retains the extremely mature SQL as a query language, ensuring the transaction characteristics of ACID. To put it simply, NewSQL integrates the powerful extensibility of NoSQL on traditional relational databases.
The main features of NewSQL are:
SQL support, support complex queries and big data analysis.
Support for ACID transactions and isolation levels.
Auto scaling, expansion and reduction are completely transparent to the business layer.
High availability, automatic disaster recovery. Mainstream NewSQL includes: TiDB,VoltDB,ClustrixDB and so on. Three types of databases (relational databases, NoSQL,NewSQL) are described above, and in addition to these categories, there are options for storage for specific scenarios. For example, it can be used as search engine ES,Solar, time series database OpenTSDB,InfluxDB and so on.
Thank you for your reading. The above is the content of "which categories can the database be divided into". After the study of this article, I believe you have a deeper understanding of which categories the database can be divided into. The specific use of the situation also needs to be verified by practice. Here is, the editor will push for you more related knowledge points of the article, welcome to follow!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.