重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一般将NoSQL数据库分为四大类:键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图形(Graph)数据库。它们的数据模型、优缺点、典型应用场景。
创新互联服务项目包括郧西网站建设、郧西网站制作、郧西网页制作以及郧西网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,郧西网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到郧西省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
键值(Key-Value)存储数据库Key指向Value的键值对,通常用hash表来实现查找速度快数据无结构化(通常只被当作字符串或者二进制数据)内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等。
列存储数据库,以列簇式存储,将同一列数据存在一起查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限分布式的文件系统。
文档型数据库,Key-Value对应的键值对,Value为结构化数据,数据结构要求不严格,表结构可变(不需要像关系型数据库一样需预先定义表结构),查询性能不高,而且缺乏统一的查询语法,Web应用。
图形(Graph)数据库,图结构,利用图结构相关算法(如最短路径寻址,N度关系查找等),很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案,社交网络,推荐系统等。
文档数据库 源起:受Lotus Notes启发。 数据模型:包含了key-value的文档集合 例子:CouchDB, MongoDB 优点:数据模型自然,编程友好,快速开发,web友好,CRUD。 图数据库 源起: 欧拉和图理论。 数据模型:节点和关系,也可处理键值对。 例子:AllegroGraph, InfoGrid, Neo4j 优点:解决复杂的图问题。 关系数据库 源起: E. F. Codd 在A Relational Model of Data for Large Shared Data Banks提出的 数据模型:各种关系 例子:VoltDB, Clustrix, MySQL 优点:高性能、可扩展的OLTP,支持SQL,物化视图,支持事务,编程友好。 对象数据库 源起:图数据库研究 数据模型:对象 例子:Objectivity, Gemstone 优点:复杂对象模型,快速键值访问,键功能访问,以及图数据库的优点。 Key-Value数据库 源起:Amazon的论文 Dynamo 和 Distributed HashTables。 数据模型:键值对 例子:Membase, Riak 优点:处理大量数据,快速处理大量读写请求。编程友好。 BigTable类型数据库 源起:Google的论文 BigTable。 数据模型:列簇,每一行在理论上都是不同的 例子:HBase, Hypertable, Cassandra 优点:处理大量数据,应对极高写负载,高可用,支持跨数据中心, MapReduce。 数据结构服务 源起: ? 数据模型:字典操作,lists, sets和字符串值 例子:Redis 优点:不同于以前的任何数据库 网格数据库 源起:数据网格和元组空间研究。 数据模型:基于空间的架构 例子:GigaSpaces, Coherence 优点:适于事务处理的高性能和高扩展性
Web1.0的时代,数据访问量很有限,用一夫当关的高性能的单点服务器可以解决大部分问题。
随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。
Memcache Memcache Redis Redis MongoDB MongoDB 列式数据库 列式数据库 Hbase Hbase
HBase是Hadoop项目中的数据库。它用于需要对大量的数据进行随机、实时的读写操作的场景中。
HBase的目标就是处理数据量非常庞大的表,可以用普通的计算机处理超过10亿行数据,还可处理有数百万列元素的数据表。
Cassandra Cassandra
Apache Cassandra是一款免费的开源NoSQL数据库,其设计目的在于管理由大量商用服务器构建起来的庞大集群上的海量数据集(数据量通常达到PB级别)。在众多显著特性当中,Cassandra最为卓越的长处是对写入及读取操作进行规模调整,而且其不强调主集群的设计思路能够以相对直观的方式简化各集群的创建与扩展流程。
主要应用:社会关系,公共交通网络,地图及网络拓谱(n*(n-1)/2)