首页 > 编程知识 正文

常用的数据库有哪几种,最新国产数据库排名

时间:2023-05-04 23:23:10 阅读:40972 作者:2770

表1列出了各类数据库的前3~5位,排名不断变化。 实时排名请访问http://d B- engines.com/en/ranking网站。

表 1 各类数据库排名大类别的前三至五名分别是SQL关系数据库Oracle、MySQL/MariaDB、SQL Server、PostgrcSQL和DB2为“表1记录” 按行存储在文件中(第1行、第2行……) NoSQL时序数据库InfluxDB、RRDtool、Graphite、OpcnTSDB、Kdb中存储时序数据,并为每条记录添加时间戳。 用于存储从传感器收集的数据密钥/值的数据库Redis、Memcached、Riak KV、Hazelcast和Ehcache遵循“密钥——值”模型,是最简单的数据库管理系统文档数据记录包含嵌套图的数量由库Neo4j、OrientDB、Titan、Virtuoso和ArangoDB组成的网络(图结构)中的数据搜索引擎elastic searang 可以存储Maarch的主要功能是搜索对象数据库Cach、db4o、versant object数据库、ObjcctStore和Matisse,以获得面向对象的编程语言的启发例如,包含对象查询关系(如继承宽列数据库Cassandra、HBase和ACCasE )的一行中的列数可以动态更改,列数可以达到数百万,每个记录的键码不同,多值列服务器下面简要介绍一下高级开源数据库。

1. MySQL/MariaDB

2008年美国Sun公司以10亿美元收购MySQL,一年后Oracle公司以60亿美元收购Sun公司,Sun公司的服务器、操作系统、MySQL等产品线全部归属于Oracle公司。

yldggx奉行的经营哲学是“因为不能竞争才买的”。 但是,它表明竞争对手的产品更有优势,所以收购它,成为自己的优势。 几十年来,甲骨文从一家小型数据库公司成为当今覆盖硬件、平台软件、数据库、中间件和APP应用软件各级产品线的IT巨无霸,由美国良好的环境和总经理践行

MySQL数据库占中小型数据库APP应用市场的一半,在该市场,Oracle数据库明显落后,高峰时期全球超过70%的站点后台使用MySQL数据库。 但是,被甲骨文公司收购后,MySQL的发展明显放缓,是继续开源还是封闭源代码,甲骨文公司一直没有定论。 于是,MySQL的前成员陆续离开甲骨文公司,另起炉灶推出了MariaDB开源数据库。

MariaDB继承了MySQL紧凑、精悍、简洁、高效、稳定的可靠性,并与MySQL保持兼容。 如今,谷歌和脸书等知名企业已将APP应用程序从MySQL切换为MariaDB,各种Linux发行版操作系统的默认数据库开始采用MariaDB。 苹果公司反应更快,在甲骨文公司收购Sun公司时切换到PostgreSQL数据库。

在截至2014年底的数据库综合排名中,MySQL继续排名第二,但势头显著,MariaDB具有强大的生命力。

MariaDB是一个免费的开源关系数据库,发布前最新版本为10.0.15,安装包可从https://downloads.mariadb.org网站下载整个安装包约为200MB,几乎可以安装在所有操作系统上运行。 与多张商业数据库(如Oracle数据库、SQL Server和DB2 )的CD相比,它既短又精悍。

此外,还可以从该网站下载数据库的源代码。 对于非数据库型SaaS云提供程序来说,云采用MariaDB是最好的选择,而且可以轻松构建数据库群集。

2. PostgreSQL

PostgreSQL大量用于苹果公司,能够替换早期的MySQL数据库,说明一定有不俗的表现。 在2014年底数据库排名中,PostgreSQL排名第四,被称为世界上最先进、最安全的开源数据库,也是面向对象的关系数据库。

华为内部局域网访问控制系统SPES也采用PostgreSQL数据库,在Linux操作系统上运行,问题极少。 经过10多年的打磨,PostgreSQL数据库具有以下特点:

面向对象、非常安全,在所有主要操作系统上运行,完全ACID兼容。 支持外键、连接、视图、触发器和存储过程(多语言)。 支持最新的SQL 2008标准数据类型,包括整数类型、数字类型、字符类型、布尔类型、可变字符类型、日期类型、时间戳、自生长类型、图像、语音和视频等二进制对象。 提供了各种流行语

言的编程接口,如 C/C++、Java、.NET、Perl、Python、Ruby、Tcl、ODBC 等。


PostgreSQL 数据库同时具备很多众多令人振奋的优点,比如在线备份、数据域、表分区、表空间、嵌套事务、时刻点恢复、两段式提交、多版本并发控制、子查询等。

在 PostgreSQL 中,数据库大小没有限制,表大小上限为 32TB,一条记录的大小上限为 1.6TB,字段大小上限是 1GB,一个表包含的记录数没有限制,一条记录的字段数上限为 1600 个,一个表上创建的索引数目没有限制。

另外,SQLite 是一个非常小型的 ACID 兼容的关系数据库,适合嵌入式系统。

3. InfluxDB

InfluxDB 是一个开源的时间序列数据库,能应付极高的写和查询并发数,主要用于存储大规模的时间戳数据(每条记录自动附加时间戳),如 DevOps 监控数据、应用系统运行指标数据、物联网感应器采集的数据及实时分析的结果数据等。InfluxDB 具备如下特征:

全部用 Go 语言编写,并被编译成单一运行程序,无须第三方依赖。简洁、高效地写和查询 HTTP(S)编程接口(API)。通过插件能与其他的数据采集工具集成,如 Graphite、collectd、OpenTSDB。可以搭建高可用性的 InfluxDB 环境。量身定制化的类-SQL 语言。允许给序列数据附加标签来创建索引,以便快速高效查询。通过定义策略轻松实现自动失效过时的数据。基于 Web 的管理界面。


对于一个具体的时间序列应用来说,除存储外,还需要集成数据采集、可视化和告警功能。为此,InfluxData 社区相应提供了 Telegraf(数据采集)、Chronograf(数据可视化)、Kapacitor(告警)三个开源项目,再加上 InfluxDB,能部署成一个完整的时间序列应用系统(简称为 TICK)。这四者的关系如图 1 所示。


图 1  数据采集示意图

4. Redis

Redis 是遵循 BSD 开源协议的存储系统,数据存储在内存中,因此具备极高的性能,可用作数据库、缓存和消息中间件。Redis 支持多种类型的数据结构,如字符串、jmdhb、列表、集合、带范围查询的有序集合、位图、hyperloglogs 和带半径查询的地理空间索引。

Redis 内置了复制、脚本语言编程、最近最少使用(LRU)淘汰、事务以及不同级别的磁盘持久化等功能,通过 Redis Sentinel 和集群自动分区机制实现高可用性。Redis 采用 C 语言编写,能运行在 Windows、MacOS X、Linux、Solaris 等操作系统上,不过 Linux 是其最佳的运行平台,无须第三方依赖,它提供了最广泛的编程语言接口。

5. MongoDB

MongoDB 是排名第一的文档数据库,属于 NoSQL 大类,诞生于 2009 年,正好是云计算兴起的前夜。MongoDB 采用 C++ 语言开发,能运行在 Windows、MacOS X、Linux、Solaris 操作系统上,提供了绝大部分计算机语言的编程接口。保存在 MongoDB 中的一条记录称为一个文档,类似 JSON 语法,例如:

从上面的例子可以看出,一个文档就是“键:值”对的集合。

MongoDB 的主要优势包括:高性能、富查询语言(支持 CRUD、数据聚合、文本搜索和地理空间查询)、高可靠性、自动伸缩架构、支持多存储引擎。MongoDB 适合文档存储、检索和加工的应用场合,如大数据分析。

6. Neo4j

Neo4j 是一个用 Java 语言开发的图数据库,它将结构化数据存储在由“点—边”组成的网络(数学术语叫“图”)上而不是表中。与关系数据库相比,图数据库擅长处理大量复杂、互连接、低结构化的数据。这些数据变化迅速,需要频繁查询,如果使用关系数据库,那么这些查询会导致大量的表连接,因此会产生性能上的问题。

Neo4j 重点解决了拥有大量连接的传统关系数据库在查询时出现的性能衰退问题。Neo4j 还提供了非常快的图算法、推荐系统和 OLAP 风格的分析,而这一切在目前的关系数据库系统中都无法实现。Neo4j 提供了广泛使用的 REST 接口,能够方便地集成到基于 Java、PHP、.NET 和 JavaScript 的环境里。

Neo4j 使用 Cypher 语言进行增删改操作,例如:

创建了两个节点:变量“e1”和“e2”,标签“员工”,属性“{……}”。

创建了一条边,最终形成下图,如图 2 所示。


图 2  最终形成

7. Elasticsearch

Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,用于存储、搜索和近乎实时地分析大规模数据。Elasticsearch 常被人们用于构建具备复杂搜索功能的应用系统,比如维基百科和优步的搜索,再比如网店中搜索商品、商业智能、日志收集与分析、价格告警等。利用 Elasticsearch 实现的数据采集、存储和可视化套件 ELK(Elasticsearch、Logstash、Kibana)在日志分析领域应用最为广泛。

8. Caché

大概 20 年前,人们提出了后关系型数据库的概念,目前已有不少产品,其中由 InterSystems 公司开发的 Caché 是后关系型数据库中的领头羊,它提供 3 种方式访问数据:对象访问、SQL 访问、直接对多维数据数组访问,而且 3 种访问方式能够并发访问同一数据。多维数据结构和多种数据库访问方式构成了后关系型数据库的基础。

Caché 数据库具备如下一些特点:

1)速度快

Caché 数据库在同等条件下查询相同数据,比 Oracle 等普通数据库要快 7~20 倍。

2)节省存储空间

存储空间可能节省 2/3,而基于 Caché 的应用程序,比原来基于关系型数据库的应用程序运行有可能快 20 倍。

3)使用简单

Caché 数据库支持标准 SQL 语句,因此不太熟悉 M 语言的用户依然可以轻松对数据库中的数据进行操作。

4)接口容易

Caché 数据库支持 ODBC 标准接口,因此在与其他系统进行数据交换时非常容易,同时 Caché 亦可以将数据输出为文本文件格式,以供其他系统访问调用。

5)真正的三层结构

Caché 数据库能够在真正意义上实现 3 层结构,实现真正的分布式服务,便于做横向扩张。

6)对象型编辑

Caché 数据库是真正的对象型数据库,开发时用户可直接用数据库定义自己想要的对象,然后再在其他开发工具中调用该对象的方法和属性即可完成开发工作,非常方便。

7)支持 Web 开发

Caché 数据库提供自带的 Web 开发工具,使用、维护非常方便,符合当今软件业发展的趋势。

8)价格便宜

Caché 数据库的价格比 Oracle 数据库要便宜很多。

Caché 数据库在欧美的医疗系统使用最为普遍,被医疗界公认为首选的数据库,国内中山大学第三附属医院、深圳南山医院、北京安贞医院等也采用 Caché 数据库

9. Cassandra

Cassandra 是在 Google 的 Bigtable 基础上发展起来的 NoSQL 数据库,由脸谱于 2008 年用 Java 语言开发,目前被贡献给 Apache 基金会。Cassandra 被称为“列数据库”,这里的“列”不是指关系数据库中一个表中的列,而是由“键—值”对组成的列表(语法与 Python 语言中的列表相同),如:

Cassandra 中一行数据语法是“一行的键={列,列,…}”,一行可包含上百万列,比如:

Cassandra 中的列族(ColumnFamily)格式是“列族名={若干行}”,一个列族可包含几十亿行,例如:

一个 Cassandra 运行实例管理很多键空间(Keyspace),Keyspace 相当于关系数据库管理系统中的数据库,一个键空间包含很多列族。键空间、列族、行、列的关系如图 3 所示。


图 3  键空间、列族、行、列的关系


所以,Cassandra 中的寻址是一个四维或者五维jmdhb表:

比如:

返回广东理工职业学院(gdpi)计算机系(computer)qsdjw(zsan)这个学生的年龄。

OpenStack 生态中的 HBase 也是列数据库,目前排名第二。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。