linux下的开源数据库有哪些
Linux下的开源数据库有:1、MySQL,是一个开源的关系型数据库管理系统;2、PostgreSQL,是一款“对象-关系”型数据库管理系统;3、MongoDB,是一款开源、面向文档的NoSQL数据库;4、Hadoop,是一个开源的、基于列存储模型的分布式数据库;5、Couchbase,是一款基于JSON模型的文档数据库;6、Neo4j,是一款开源的高性能NoSQL图数据库。
本教程操作环境:linux7.3系统、Dell G3电脑。
linux下的开源数据库
1、MySQL
MySQL是一个开源的关系型数据库管理系统,为甲骨文公司产品。支持多种存储引擎、集群、全文索引、支持多线程、充分利用CPU资源、支持多用户等其它许多非常专业的功能。
MySQL由于性能高、成本低、可靠性好已经成为最流行的开源数据库,并且被广泛应用在Web应用程序以及其它中小型项目上。从wordpress 到Movable Type都把MySQL作为默认的数据库。此外,自甲骨文收购MySQL以后,有将MySQL闭源的潜在风险,因此社区采用分支的方式避开这种风险,开发并运营着完全兼容MySQL的MariaDB数据库。
2、PostgreSQL
PostgreSQL可以简称为“postgres”,是一款对象-关系型数据库管理系统,PostgreSQL采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式。PostgreSQL拥有非常完美的驱动,并支持标准的ANSI-SQL和扩展功能,在许多方面都要超过MySQL。
PostgreSQL是全功能的自由软件数据库,很长时间以来,PostgreSQL是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一一种自由软件的数据库管理系统。许多云服务提供商比如Heroku等,都用PostgreSQL作为他们的RDBMS存储。
缺点方面,PostgreSQL还欠缺一些比较高端的数据库管理系统需要的特性,比如数据库集群,更优良的管理工具和更加自动化的系统优化功能等提高数据库性能的机制等。
3、MongoDB
MongoDB是一款开源、面向文档并且也是当下人气最旺的NoSQL数据库,它也是一款介于关系数据库和非关系数据库之间的产品。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。还具有高性能、易部署、易使用,存储数据非常方便等特点。
4、Hadoop (HBase)
Hadoop (HBase)是一个开源的、基于列存储模型的分布式数据库,它是Apache Hadoop项目的一部分,开发语言为java。
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。且具有高可靠性、高性能、可伸缩、并建立在关系模型基础上的分布式数据库。
HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,用以存储大规模结构化数据。HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
5、Couchbase
Couchbase是一款基于JSON模型的文档数据库,它是CouchDB的一个fork,能够实现水平伸缩、并且对于数据的读写都能提供低延迟访问。Couchbase要比CouchDB功能更加全面,并且Couchbase产品包含了CouchDB的一个副本。Couchbase产品向CouchDB添加了缓存、集群等功能。此外,Couchbase还包含一些不错的集成功能,对于数据存储系统来说,Couchbase是一个不错的选择。
6、Neo4j
Neo4j是一款开源的高性能NoSQL图数据库,它使用图(graph)相关的概念来描述数据模型,把 数据保存为图中的节点以及节点之间的关系。支持ACID事务(原子性、独立性、持久性和一致性)。
在现实中,很多数据都是用图来表达的,比如社交网络中人与人的关系、地图数据、或是基因信息等等。Neo4j中最基本的概念是节点(node)和关系(relationship)。节点表示实体,在两个节点之间,可以有不同的关系。
7、Redis
Redis是一个开源、支持网络、基于内存、键值对存储数据库。开发者无需存储数字和字符串即可dump整个哈希值、列表、集合以及其它复杂的结果存储,此外,Redis还提供复制/同步和持久化等功能。
Redis是一个高性能的键值对数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。
8、Firebird
Firebird是一个跨平台的关系数据库,用C和C++开发,提供可在Linux,Windows,MacOS和各种Unix平台上运行的许多ANSI SQL标准功能。目前能够运行在Windows、linux和各种Unix操作系统上,可以对存储过程和触发器提供高性能和强大的语言支持。
Firebird既能作为多用户环境下的数据库服务器运行,也提供嵌入式数据库的实现。
9、Memcached
Memcached是一套分布式的高速缓存系统,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索结果等。简单地说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
Memcached 支持许多平台:Linux、FreeBSD、Solaris、Mac OS,也可以安装在Windows上。
Linux系统安装memcached,首先要先安装libevent库。
由于Memcached通常只是当作高速缓存系统使用,所以使用Memcached的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新Memcached内的数据。
10、MariaDB
MariaDB数据库管理系统是MySQL的一个分支,完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。另外又添加了一些功能,以支持本地的非阻塞操作和进度报告。这意味着,所有使用MySQL的连接器、库和应用程序也将会在MariaDB下工作。
MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,正如上文所提到的,由于担心甲骨文存在将MySQL闭源的风险,目前已有许多公司将项目移到MariaDB上,比如维基百科、谷歌等。
11、MonetDB
MonetDB是一款开源的、面向列的数据库管理系统,其专门为数据挖掘、OLAP、GIS、XML查询、文本及多媒体检索提供高性能应用。
MonetDB数据库管理系统包含MonetDB/SQL、MonetDB/GIS、MonetDB服务器。其还具有自动和自调优索引、运行时查询优化以及模块化软件架构。
相关推荐:《Linux视频教程》
以上就是linux下的开源数据库有哪些的详细内容,更多请关注其它相关文章!