Base de datos. Tendencias globales en Rusia

Este artículo no es una respuesta a muchas preguntas sobre bases de datos (DB) y sistemas de administración de bases de datos (DBMS). Como autor, expreso mi propia opinión sobre las tendencias, tratando de confiar en indicadores, estadísticas, etc. imparciales, pero citando mi propia experiencia como ejemplo. No soy un representante comprometido de ninguna empresa y expreso mi punto de vista basado en mi experiencia de más de 25 años de trabajo con varios DBMS, incluido uno que creé con mis propias manos. No hay muchos incluso programadores y arquitectos experimentados que conozcan todos los términos, tecnologías, qué trampas y hacia dónde se dirige el movimiento. El tema es realmente enorme, por lo que incluso el nivel superior de información no se puede divulgar en un artículo. A menos que alguien se encuentre con su DBMS favorito o su increíble ventaja que vale la pena mencionar,luego les pido que indiquen en los comentarios y de ese modo complementen el panorama general, lo que ayudará a otros a comprender y comprender mejor el área temática. ¡Vamos!





DBMS de código abierto vs DBMS comercial

 Para empezar, daré un gráfico del sitio, db-engines.com, según mis sentimientos, es bueno para rastrear las tendencias de las bases de datos. Fue este gráfico el que sumó el deseo de escribir un artículo sobre la situación actual. Cuando decimos la frase "base de datos", de hecho, a menudo nos referimos a un sistema de gestión de base de datos específico (DBMS), por lo que si el texto contiene una base de datos en lugar de un DBMS, se debe a tal hábito. 





 





DBMS de código abierto: los sistemas de gestión de bases de datos de código abierto se han puesto al día con los DBMS comerciales de código cerrado. Código abierto 49,98% frente al 50,02% comercial. El final de 2020 es el momento en el que se podrá decir que el código abierto no es menos popular. Como puede ver, esta situación no apareció de repente. El cálculo en el gráfico no es en una proporción numérica, sino en puntos, que se obtienen mediante ciertos sistemas.





  . 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) , , .





:





  1. , , , . , CPU, RAM, SSD(HDD) , .





  2. , . . , , , , , , ..





  3. , , . , , . , , , , Mb. AWS Azure . NASA, , . .





  4. . , , . .   , , . Gb, , .





  5. , - , . , . .





  6.   , , . , Alibaba , 12 - , .





  7. , ,   IP . .





  8. . , . .





., 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. -. , . , .   , .








All Articles