Cet article ne rĂ©pond pas Ă de nombreuses questions sur les bases de donnĂ©es (DB) et les systĂšmes de gestion de bases de donnĂ©es (SGBD). En tant qu'auteur, j'exprime ma propre opinion sur les tendances, en essayant de m'appuyer sur des indicateurs impartiaux, des statistiques, etc., mais en citant ma propre expĂ©rience comme exemple. Je ne suis un reprĂ©sentant engagĂ© d'aucune entreprise et j'exprime mon point de vue sur la base de mon expĂ©rience de plus de 25 ans de travail avec diffĂ©rents SGBD, dont un que j'ai crĂ©Ă© de mes propres mains. Il n'y a pas tellement de programmeurs et d'architectes expĂ©rimentĂ©s qui connaissent tous les termes, les technologies, les piĂšges et la direction du mouvement. Le sujet est vraiment Ă©norme, de sorte que mĂȘme le niveau supĂ©rieur d'information ne peut pas ĂȘtre divulguĂ© dans le cadre d'un article. Ă moins que quelqu'un ne trouve son SGBD prĂ©fĂ©rĂ© ou son incroyable avantage Ă mentionner,puis je vous demande d'indiquer dans les commentaires et de complĂ©ter ainsi le tableau d'ensemble, ce qui aidera les autres Ă mieux comprendre et comprendre le sujet. Aller!
SGBD Open Source vs SGBD commercial
Pour commencer, je vais donner un graphique du site, db-engines.com, à mon avis, il est bon pour suivre les tendances des bases de données. C'est ce graphique qui a ajouté l'envie d'écrire un article sur l'état actuel des choses. Lorsque nous disons l'expression «base de données», en fait, nous entendons souvent un systÚme de gestion de base de données spécifique (SGBD), donc si le texte contient une base de données au lieu d'un SGBD, cela est dû à une telle habitude.
SGBD Open Source - Les systĂšmes de gestion de base de donnĂ©es open source ont rattrapĂ© les SGBD commerciaux Ă source fermĂ©e. Open Source 49,98% contre 50,02% pour le commercial. La fin de 2020 est le moment oĂč il sera possible de dire que l'open source n'est pas moins populaire. Comme vous pouvez le voir, cette situation ne s'est pas produite soudainement. Le calcul sur le graphique n'est pas dans un rapport numĂ©rique, mais en points, qui sont gagnĂ©s par certains systĂšmes.
. Microsoft Access , COBOL , . , IBM DB2 . 10 â 75% . 10 .
Open Source , , Oracle, MS SQL, IBM DB2 , . . enterprise licenses ( ) . , 4 16 - 64 .
MS SQL - 439 936$
Oracle - 1 368 000$
, , , , , . .
2019 2020 AMD , EPYC, , , . AMD 64 - . ? . . AMD , Oracle, Microsoft . Microsoft SQL Server Linux, . IBM DB2 .
( « ») , , Open Source . .
, . , : (Microsoft), (Oracle), . 10 Forbes , (Amazon RDS), (Google Bigtable).
open source . , , , . , , , , , , . , .
MySQL open source 1 .$, Sun Microsystem, Oracle. MySQL MariaDB. , . MariaDB 12 .
, , , , , , . open source , , Facebook c MySQL. open source , . 10 SQLite - . -, .
: , 70-80 , Oracle, , , , .. .
, , . () ( ), . , â , , . open source. ClickHouse, Tarantool, PostgreSQL .., . . , , , « ».
open source . , Oracle . « » Open Source. , , PostgreSQL, MySQL, SQLite, MongoDB .
, open source commercial, online , , .. online vs. offline.
online offline
2 , - , - . .
, , , ( ) ( ), Windows . WISA (Windows, IIS, MS SQL, ASP.Net). WISA, , StackOverflow. , LAMP (Linux Apache MySQL PHP). , , Windows . .
, . , , .. ( ) , ERP, CRM SAP, Microsoft Dynamics NAV AX, 1C . , , Oracle, MS SQL, IBM DB2.
10 , 2 Microsoft Alphabet (Google). . . , .. 2020 .
. , , , . 113 . 20. open source , . - () , open source. , , .
- online . , .
, . RDBMS â . ÂŒ , .
, MS SQL(Oracle) MongoDB, Redis, MySQL, ClickHouse, ElasticSearch ..
:
Relational: , . 2- , . . 2 â (Key). , , SQL (Structured Query Language), . . 2- .
Document stores:
, . . , . MongoDB â JSON (Java Script Object Notation). BSON (Binary JSON), , .
( )
.
Key-Value : NoSQL - , - . , , . â Redis. , . , . , , . , 1 IP . IP, +1. , (). TTL X .
Search Engines: â . c ID (, , ..) , , , . . , , , , , , , . ElasticSearch , ELK (. ) ElasticSearch+Logstash+Kibana , , .
Wide column stores: Key-Value . , . .
â Cassandra, HBase.
Graph : , , . () (). .
(), - () . , âââ , . 18 , . - Neo4j.
Columnstore
db-engines , , . , . , , . , . ClickHouse, Vertica. ClickHouse.
ClickHouse . , .
Multi-model databases
, . , , . «multi-model». multi-model NoSQL . - , .
SQL vs NoSQL
NoSQL 10 2009 « ». , + SQL NoSQL, , . . , , . , , , , , , , .. . , , , , , ..
, , 10 .
, 0- 1 Gb , . 100-200 .
SQL 10 100 . , , , , , . , . , .
, NoSQL , , SQL, . , NoSQL - , , .
NoSQL . .
A SQL â Structured Query Language â ? 1970- , , . , (features - ), SQL, , , SQL. SQL , . , NoSQL , SQL. , MongoDB Studio3T, SQL MongoDB, MongoDB SQL . ClickHouse Tarantool ( ) SQL . NoSQL SQL, , join-, , NULL ..
Cloud DBs vs DBs
Gartner 5 2 .
BPaaS IaaS. . AWS , Microsoft , Alibaba , .
(DBaaS) , , .
:
, , , . , CPU, RAM, SSD(HDD) , .
, . . , , , , , , ..
, , . , , . , , , , Mb. AWS Azure . NASA, , . .
. , , . . , , . Gb, , .
, - , . , . .
, , . , Alibaba , 12 - , .
, , IP . .
. , . .
., SberCloud, . , , . , Microsoft, Google, .
: , , , . c .
, , , . . .
, , .
OLTP vs OLAP
Online Transaction Processing (OLTP): , , , .. . , . OLTP â . , OLTP.
, Online Analytical Processing (OLAP). OLAP , . , , , . OLAP , , . Data Scientist. , . SQL, Python, R, , ..
OLAP OLTP, . OLAP , . OLAP , , SIMD (single instruction, multiple data) , 1 , .
, . , , . , , NVidia Tesla.
SSD vs HDD vs Storage vs Tape vs Other
.
2020 , SSD HDD. , . , , , . . SSD, HDD . HDD , . 1000 , HDD. OLTP HDD. SSD c 6000 IOPS ( ), NVME , , .
HDD OLAP , , . 1 â . HDD SSD 1 .
SSD HDD . . SSD HDD, , , SLC MLC, , TLC QLC, . . SSD 1Tb 1000$ - . , , , . SSD HDD, . SSD .
- SSD â 2.5 , PCI-X , U.2â M.2, . SSD â NVME.
Storage â () - , . , . â , 10 . . â , . . , . AllFlash â HDD SSD.
EMC DELL . Huawei . , .
Intel Optane (3D Xpoint) â , , , SSD. - . SSD+NVME /. Optane SSD, RAID .
RAID â , . . , RAID . OLTP RAID10.
Tape â . , 2020 . , . , . , , . , .
â , . , , .., . . . .
: Horizontal scaling vs Vertical Scaling.
, 10-15 . 2000-x Oracle, Microsoft, IBM , , Web API, , 2000-x , ( ) . CPU, , , .. . , .
, , , . , , . , , .
, . : , , . . , . , . , . . , hash , . ().
, 8 , , 4 , 2 , . , 2 8 10 . : , .. 2-3 , . .
2 2 , , , , , .
: , , , . , .
- High Availability. Master-master, master-slave.
High Availabilityâ . . . , , . : , , , ..
, , , RAID . , , , , , .
online , . . â , , .
. , , -. Slave- , . Master-Slave.
, . , , . , , master , . Master-Master. master slave .
, .
, , , . , , . master , , slave master, . , , . , , . , .
. . , .
Online maintenance - online alter
24/7/365 â , 24 , 7 365 . (maintenance). , , , , . , , , , , . , , , .
. , ? . , , , . , , . . , .
, . , , , , . , , , , , . â , . , .
, , % . .
: â SQL, , , , , , product- ..
, , , DataGrip JetBrains ( Kotlin, ReSharper, GoLand ..) . , .
, . , - , . , , , . . , . , , , .
, . , , , , , SQL . , - . , . , Flashback Data Archive, Temporal history, Change Tracking, Data Audit ..
, , . , , , , , , , , .
-
, . , . , , , , , . , .
- - , . -. , (, -) - , , , .. , . , , , , , , .. - , -.
, - , .. .
, , ClickHouse . - , .
JSON
NuGet- Micrsoft Visual Studio C# - JSON (JavaScript Object Notation). , , Microsoft, XML. JSON , , JSON .
In Memory
RAM . , . , . . -, .
- In-Memory , , , Tarantool.
, . , .. OLAP . , , , , CPU. , .
(temporary)
, , . , . , , , . , , .
MapReduce
Google . Map â Reduce â . Apache Hadoop Spark â , HDFS . Hive, SQL. .
, . , . , .. Hive , .
. ? , , . (spatial index) R-tree .
Graph data
. .
. . - , , , . , - .
, . , . , . , , , , , .. . , , . - . , . . (), - .
GPU, NPU (Neural Processing Unit), Google TPU (Tensor Processing Unit)
- . , GPU NPU , , GPU NPU , ( ) . . DPU (Data Processing Unit) â , . .
Community
, , . , â . . StackOverflow.com , . . KnowledgeBase.
Tag |
Count |
MySQL |
598,350 |
SQL Server |
285,092 |
Mongodb |
129,907 |
Oracle |
122,385 |
Postgresql |
117,427 |
sqlite |
82,596 |
ms-access |
46,177 |
elasticsearch |
44,482 |
redis |
18,290 |
db2 |
10,485 |
⊠|
|
clickhouse |
530 |
tarantool |
103 |
, , , , . % - (holy war - ). , . . Oracle IBM DB2 â .
: . OpenSource Commercial , . Online . . SQL. -. , . , . , .