Base de dados. Tendências globais na Rússia

Este artigo não é uma resposta a muitas perguntas sobre bancos de dados (DB) e sistemas de gerenciamento de banco de dados (DBMS). Como autor, expresso minha própria opinião sobre tendências, tentando confiar em indicadores imparciais, estatísticas, etc., mas citando minha própria experiência como exemplo. Não sou um representante contratado de nenhuma empresa e expresso meu ponto de vista com base em minha experiência de mais de 25 anos de trabalho com diversos SGBDs, incluindo um que criei com minhas próprias mãos. Não há tantos programadores e arquitetos experientes que conheçam todos os termos, tecnologias, quais são as armadilhas e para onde o movimento está se dirigindo. O tópico é realmente vasto, portanto, mesmo o nível superior de informações não pode ser divulgado em um artigo. A menos que alguém encontre seu DBMS favorito ou seu incrível plus que vale a pena mencionar,em seguida, peço que indique nos comentários e, assim, complemente o quadro geral, o que ajudará outros a compreender e compreender melhor a área temática. Ir!





DBMS de código aberto vs DBMS comercial

 Para começar, darei um gráfico do site, db-engines.com, que, na minha opinião, é bom para rastrear tendências de banco de dados. Foi esse gráfico que acrescentou a vontade de escrever um artigo sobre a situação atual. Quando dizemos a frase "banco de dados", na verdade, muitas vezes nos referimos a um sistema de gerenciamento de banco de dados específico (DBMS), portanto, se o texto contém um banco de dados em vez de um DBMS, é devido a esse hábito. 





 





DBMS de código aberto - os sistemas de gerenciamento de banco de dados de código aberto alcançaram os DBMSs de código fechado comerciais. Código aberto 49,98% contra 50,02% para comercial. O final de 2020 é o momento em que será possível dizer que o código aberto não é menos popular. Como você pode ver, essa situação não surgiu repentinamente. O cálculo no gráfico não é em uma proporção numérica, mas em pontos, que são ganhos por certos 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