黑板报网

分享生活百科、日常生活经验及知识

数据库有哪几种

avatar 2022-09-25 11:46 41次浏览 0 条评论 生活

DB-Engines数据库流行度排行榜于9月公布,前20位如下。 总体排名与上个月基本一致,其中排名前三的Oracle、MySQL和Microsoft SQL Server也是分数增长最快的三个数据库,对于很多正在上网的同学来说,这是Oracle和microsooft SQL server的最高分数

一、数据库的分类

根据早期的数据库理论,常见的数据库模型有三种:分层数据库、网格数据库和关系数据库。 在当今互联网中,最常见的数据库模型主要有两种: SQL关系数据库NoSQL非关系数据库

二、关系型数据库介绍

关系数据库前十名包括:

1、关系型数据库的由来

网格数据库和层次数据库很好地解决了数据集中和共享的问题,但数据库的独立性和抽象水平存在很大缺点。 如果用户访问两个数据库,则必须明确数据的存储结构并指示访问路径。 关系数据库可以很好地解决这些问题。

2、关系型数据库介绍

关系数据库模型将复杂的数据结构组合为简单的二元关系,即二维表格式。 在关系数据库中,对数据的大多数操作都构建在一个或多个关系表中,通过分类、联接、连接或选择这些相关表等操作来管理数据库。

关系数据库问世40多年来,从理论诞生发展到现实产品,如甲骨文和MySQL,甲骨文在数据库领域称霸,形成了一个年达数百亿美元的巨大产业市场。

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

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

三、非关系型数据库介绍

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

NoSQL是指非关系数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应对web2.0网站,特别是超大规模、高并发的SNS类型web2.0纯动态网站方面力不从心,暴露出许多难以克服的问题,但非关系数据库NoSql数据库的效率和性能在某些情况下难以想象,是传统关系数据库的有效补充。

早就有人指出,noSQL(noSQL=notonlySQL )是一场新的数据库革命运动,“不仅仅是SQL”,到了2009年趋势会越来越高。 NoSQL的cjdxf们提倡利用非关系型数据存储,对于利用关系数据库这一铺天盖地的应用,这一概念无疑是一种新的思维方式。

2、非关系型数据库种类

(1)键值(Key-Value)存储数据库

键值数据库类似于传统语言中使用的哈希表。 可以使用key添加、查询或删除数据库。 使用key主键进行访问,可以获得高性能和可扩展性。

键值数据库主要使用哈希表。 此表有特定的键和指针,指向特定的数据。 Key/value机型对IT系统的好处是简单、易于部署和高度并发。

典型产品: Memcached、Redis、Ehcache

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

列存储数据库将数据存储在列族中。 一个列族存储经常一起查询的相关数据,例如人。 我们经常查询某人的名字和年龄,而不是工资。 在这种情况下,姓名和年龄放在一个列族中,工资放在另一列族中。

此类数据库通常用于支持分布式存储的大容量数据。

典型产品: cassandra(AP )、hbase () CP ) ) )。

(3)面向文档(Document-Oriented)数据库

文档类型数据库的灵感来自Lotus Notes办公室软件,与第一个键值数据库相似。 这种类型的数据模型是版本化文档,半结构化文档以特定格式存储,如JSON。 文档类型数据库可以视为键值数据库的升级版,并可以在它们之间嵌套键值。 此外,文档类型数据库比键值数据库的查询效率更高。

文档数据库将数据存储为文档。 每个文档都是一个独立的数据单元,是一组数据项的集合。 每天

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

 

典型产品:MongoDB、CouchDB

(4)图形数据库

 

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

典型产品:Neo4J、InforGrid

(5)时序数据库

2017年时序数据库忽然火了起来。开年2月Facebook开源了beringei时序数据库;到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB,成为支持其发展制造,交通,能源,智慧城市等产业领域的核心产品,同时也成为百度战略发展产业物联网的标志性事件。时序数据库作为物联网方向一个非常重要的服务,业界的频频发声,正说明各家企业已经迫不及待的拥抱物联网时代的到来。

 

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

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

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

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

(6)搜索引擎存储

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

 

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)其他