Database classification
There are three early database models, namely hierarchical database, network database and relational database.
In today's Internet, databases are usually divided into two categories, namely relational databases and non-relational databases.
Relational database
Relational database refers to a database that uses a relational model to organize data, and the relational model is composed of Data organization consisting of two-dimensional tables and their relationships.
Advantages:
1. Easy to maintain: they all use table structure and have the same format;
2. Easy to use: SQL language is universal and can be used for complex queries;
3. Complex operations: Supports SQL and can be used for very complex queries between one table and multiple tables.
Disadvantages:
1. Poor reading and writing performance, especially high-efficiency reading and writing of massive data;
2. Fixed table structure, slightly less flexible;
3. High concurrent reading and writing requirements. For traditional relational databases, hard disk I/O is a big bottleneck.
The current mainstreamrelational databaseare
MYSQL
The most widely used open source, multi-platform relational database The database supports transactions, is compliant with ACID, and supports most SQL specifications.
SQL Server
supports transactions, is compliant with ACID, and supports most SQL specifications. It is a commercial software and requires attention to copyright. And license authorization fee
Oracle
supports transactions, complies with relational database principles, complies with ACID, supports most SQL specifications, has the most powerful and complex functions, and has the largest market share The commercial database with the highest ratio
Postgresql
Open source, multi-platform, relational database, the most powerful open source database, requires a python environment, TimeScaleDB based on postgresql, It is one of the more popular time series databases at present
Non-relational database
Non-relational database is also called NOSQL (Not Only SQL), as a relational database A supplement that can achieve high efficiency and performance in specific scenarios and characteristic problems.
Common non-relational database types include key-value (Key-Value) storage database and document-oriented database (Document-oriented)
Key-value storage database is similar to hash, adding through key, Delete, query, high performance, the advantage is simplicity, easy deployment, high concurrency, the main products are
Redis
open source, Linux platform, key-value key-value type Nosql database, simple and stable, very mainstream, full data in-momory, key-value nosql database positioned as "fast"
Memcaced
An open source, A high-performance caching system with distributed memory objects, which can reduce database load and accelerate dynamic web applications
Document-oriented database is stored in the form of documents, and each document is a collection of a series of data items , each data item has a name and a corresponding value. The main products are
MongoDB
open source, multi-platform, document-based NoSQL database, "most like a relational database ", positioned as a "flexible" nosql database. Suitable for website backend database (fast update, real-time replication), small file system (json, binary), log analysis system (files with large data volume)
The above is the detailed content of What are the common databases in python?. For more information, please follow other related articles on the PHP Chinese website!