数据库有MySQL、Oracle、SqlServer、SQLite、INFORMIX、Redis、MongoDB、HBase、Neo4J、CouchDB等。
MySQL的简介
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
特点
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
Oracle的简介
Oracle,是甲骨文公司的一款关系数据库管理系统。作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
特点
系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。
SqlServer的简介
SQL是英文StructuredQueryLanguage的缩写,意为结构化查询语言,SQL语言的主要功能就是同各种数据库建立联系,进行沟通,按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
特点
SqlServer的特点有图形化用户界面,使系统管理和数据库管理更加直观、简单;丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
SQLite的简介
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
特点
SQLite的特点是数据库文件可以在不同字节顺序的机器间自由的共享,比一些数据库在大部分普通数据库操作要快,拥有良好注释的源代码,并且有着90%以上的测试覆盖率。
INFORMIX的简介
Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族,作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统。
特点
INFORMIX的页面大小,由系统决定,用户无权更改,数据备份所用的磁带设备,需要选择好或提前准备好,如使用硬盘文件的话,创建方法同准备硬盘空间。
Redis的简介
Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
特点
redis支持各种不同方式的排序,为了保证效率,数据都是缓存在内存中,区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
MongoDB的简介
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案,MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
特点
Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
HBase的简介
HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。
特点
HBase是Apache的Hadoop项目的子项目,HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,另一个不同的是HBase基于列的而不是基于行的模式。
Neo4J的简介
Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。
特点
Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性,程序员工作在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中,但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
CouchDB的简介
CouchDB是一个开源的面向文档的数据库管理系统,反映了CouchDB的目标具有高度可伸缩性,提供了高可用性和高可靠性,即使运行在容易出现故障的硬件上也是如此。
特点
CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性,对于基于web的大规模应用文档应用,分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。