Nosql
概念:Nosql(=Not Only sql),意即“不仅仅是sql”,泛指非关系型的数据库。
类型 | 典型代表 | 特点 |
列存储 | HBase | 按列存储结构,方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或几列的查询具有I/O优势 |
Cassandra | ||
Hypertable | ||
文档存储 | MongoDB | 用类似Json(JavaScript Object Notation)的格式存储,存储内容是文档型,便于某些字段建立索引,实现关系数据库的部分功能 |
CouchDB | ||
Key-value存储 | Berkeley DB | 可以通过key快查询相应的value,不必考虑value的存储格式 |
Redis | ||
MemcacheDB | ||
图数据库 | Neo4j | 图形关系的最佳存储,如果使用关系型数据库存储的话,性能低,而且设计复杂 |
FlockDB |
最近在研究大数据方面的知识,相对于关系数据库管理系统RDBMS(Relational Database Management System)来说,Nosql最突出的一个特点是横向扩展,Nosql 数据库通常使用廉价的服务器集群来管理膨胀的数据和事务数量,而RDBMS需要依靠昂贵的专用服务器和存储系统,而使用Nosql,每GB的成本或每秒处理事务的成本,都比使用RDBMS少很多倍,可以花费更低的成本来存储和处理更多数据。
关系型数据库管理系统RDBMS:
类型 | 典型代表 | 特点 |
关系型 | DB2 | IBM在1977年完成了System R系统的原型,1980年开始提供集成的数据库服务器——System/38。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率,最近推出的DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。 |
Oracle | 由Larry Ellison 和另两个编程人员在1977创办,1979 年,Oracle公司引入了第一个商用sql关系数据库管理系统。 | |
Informix | 1980年成立,为Unix等开放操作系统提供专业的关系型数据库产品,它也是第一个被移植到Linux上的商业数据库产品。 | |
Sybase | 1987年5月推出的Sybase sqlServer1.0,Sybase首先提出Client/Server数据库体系结构的思想,并率先在Sybase sqlServer 中实现。 | |
sql Server | 1987 年,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库 | |
Postgresql | Postgresql最早开始于BSD的Ingres项目。Postgresql 的特性覆盖了sql-2/sql-92和sql-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前Postgresql 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 | |
MysqL | 开发者为瑞典MysqL AB公司,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MysqL作为网站数据库。 | |
sqlite | sqlite第一个Alpha版本诞生于2000年5月,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。sqlite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分,主要的通信协议是在编程语言内的直接API调用,这在消耗总量、延迟时间和整体简单性上有积极的作用。 |