java高级面试 发表于 2021-9-27 15:00:24

最新常用数据库排名及分类介绍

DB-Engines:2021年9月Top 20的排名


DB-Engines 数据库盛行度排行榜 9 月更新已发布,排名前二十如下:总体排名和上个月相比基本一致,此中排名前三的 Oracle、MySQL 和 Microsoft SQL Server 也是分数增长最多的三个数据库,对于很多做互联网的同学来说,Oracle和Microsoft SQL Server排名前三是不是有点意外?
https://p5.toutiaoimg.com/large/pgc-image/5543d68790fb48f5995c55ff1a159f16


一、数据库的分类
按照早期的数据库理论,比较盛行的数据库模型有三种,分别为层次式数据库、网状数据库和关系型数据库。而在当今的互联网中,最常见的数据库模型主要是两种,即SQL关系型数据库和NoSQL非关系型数据库。


二、关系型数据库先容
关系数据库前 10 名如下:
https://p3.toutiaoimg.com/large/pgc-image/5d1e9852724743f484e4cf419548eaa3


1、关系型数据库的由来


虽然网状数据库和层次数据库已经很好的解决了数据的集中和共享问题,但是在数据库独立性和抽象级别上扔有很大短缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储布局,指出存取路径。而关系型数据库就可以较好的解决这些问题。


2、关系型数据库先容


关系型数据库模型是把复杂的数据布局归结为简朴的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作险些全部建立在一个或多个关系表格上,通过对这些关联的表格分类、归并、连接或选取等运算来实现数据库的管理。


关系型数据库诞生40多年了,从理论产生发展到现实产品,比方:Oracle和MySQL,Oracle在数据库领域上升到霸主职位,形成每年高达数百亿美元的庞大产业市场。


传统关系数据库:Oracle、MySQL、Microsoft SQL Server、PostgreSQL


大数据常见数据库:Hive、Impala、Presto、ClickHouse


三、非关系型数据库先容
1、非关系型数据库诞生背景


NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSql数据库在特定的场景下可以发挥出难以想象的高效率和高性能,它是作为对传统关系型数据库的一个有效的补充。


NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。


2、非关系型数据库种类
(1)键值(Key-Value)存储数据库
https://p9.toutiaoimg.com/large/pgc-image/bdb2520619f14d538480c4805f300d91


键值数据库就类似传统语言中利用的哈希表。可以通过key来添加、查询大概删除数据库,由于利用key主键访问,以是会获得很高的性能及扩展性。


键值数据库主要利用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简朴、易部署、高并发。


典型产品:Memcached、Redis、Ehcache


(2)列存储(Column-oriented)数据库


列存储数据库将数据存储在列族中,一个列族存储常常被一起查询的相关数据,比如人类,我们常常会查询某个人的姓名和年事,而不是薪资。这种情况下姓名和年事会被放到一个列族中,薪资会被放到另一个列族中。


这种数据库通常用来应对分布式存储海量数据。


典型产品:Cassandra(AP)、HBase(CP)


(3)面向文档(Document-Oriented)数据库
https://p9.toutiaoimg.com/large/pgc-image/d4f6938e653e404597040f36ffd08140


文档型数据库的灵感是来自于Lotus Notes办公软件,而且它同第一种键值数据库类似。该类型的数据模型是版本化的文档,半布局化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。


面向文档数据库会将数据以文档形式存储。每个文档都是自包罗的数据单元,是一系列数据项的集合。每个数据项都有一个名词与对应值,值既可以是简朴的数据类型,如字符串、数字和日期等;也可以是复杂的类型,如有序列表和关联对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以利用XML、JSON或JSONB等多种形式存储。


典型产品:MongoDB、CouchDB


(4)图形数据库


https://p6.toutiaoimg.com/large/pgc-image/1c108ccf033d444aaab7d3ee993503c0


图形数据库允许我们将数据以图的方式存储。实体会被作为极点,而实体之间的关系则会被作为边。比如我们有三个实体,Steve Jobs、Apple和Next,则会有两个“Founded by”的边将Apple和Next连接到Steve Jobs。


典型产品:Neo4J、InforGrid


(5)时序数据库


2017年时序数据库忽然火了起来。开年2月Facebook开源了beringei时序数据库;到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB,成为支持其发展制造,交通,能源,智慧城市等产业领域的焦点产品,同时也成为百度战略发展产业物联网的标记性事件。时序数据库作为物联网方向一个非常紧张的服务,业界的反复发声,正说明各家企业已经迫不及待的拥抱物联网期间的到来。
https://p5.toutiaoimg.com/large/pgc-image/84a158b50b3c4a2f8ea177a4c3eba259


时序数据是基于时间的一系列的数据。在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,展现其趋势性、规律性、非常性;往将来看可以做大数据分析,机器学习,实现预测和预警。


时序数据库就是存放时序数据的数据库,而且需要支持时序数据的快速写入、持久化、多纬度的聚合查询等基本功能。


对比传统数据库仅仅记录了数据的当前值,时序数据库则记录了所有的历史数据。同时时序数据的查询也总是会带上时间作为过滤条件。


典型产品:InfluxDB、Prometheus(普罗米修斯)、OpenTSDB(底层基于HBase)


(6)搜索引擎存储


搜索引擎存储:搜索引擎数据库最近比较火的包括Solr和Elasticsearch等。Solr是Apache 的一个开源项目,基于业界大名鼎鼎的java开源搜索引擎Lucene。在过去的十年里,solr发展壮大,拥有广泛的用户群体。solr提供分布式索引、分片、副本集、负载平衡和主动故障转移和恢复功能。假如精确部署,精良管理,solr就能够成为一个高可靠、可扩展和高容错的搜索引擎。


https://p5.toutiaoimg.com/large/pgc-image/da80f70c61a54e06bf4e8e2fdd2fd43e


Elasticsearch构建在Apache Lucene库之上,同是开源搜索引擎。Elasticsearch在Solr推出几年后才面世的,通过REST和schema-free的JSON文档提供分布式、多租户全文搜索引擎。而且官方提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript客户端。目前Elasticsearch与Logstash和Kibana配合,部署成日志采集和分析,简称ELK,它们都是开源软件。最近新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash。


典型产品:Elasticsearch、Solr


(7)其他






https://p3.toutiaoimg.com/large/pgc-image/a360685a038d4cf5b39daad675746c03

华夏以白为美 发表于 2021-9-28 08:42:00

只用过开源的[我想静静]
页: [1]
查看完整版本: 最新常用数据库排名及分类介绍