空间数据库nosql,空间数据库的特点

nosql数据库有哪些

Membase

创新互联公司专注于城阳网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供城阳营销型网站建设,城阳网站制作、城阳网页设计、城阳网站官网定制、微信小程序服务,打造城阳网络公司原创品牌,更为您提供城阳网站排名全网营销落地服务。

Membase 是 NoSQL 家族的一个新的重量级的成员。Membase是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上,可以下载beta版本的Linux二进制包。该产品主要是由North Scale的memcached核心团队成员开发完成,其中还包括Zynga和NHN这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。

Membase容易安装、操作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。

通过兼容多种编程语言和框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和编程接口,包括可配置 的告警信息。

Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。

这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:

◆ 自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘)

◆ 可选的写操作一一异步,同步(基于复制,持久化)

◆ 反向通道再平衡[未来考虑支持]

◆ 多线程低锁争用

◆ 尽可能使用异步处理

◆ 自动实现重复数据删除

◆ 动态再平衡现有集群

◆ 通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。

MongoDB

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。

主要功能特性:

◆ 面向集合存储,易存储对象类型的数据

“面向集合”(Collenction-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。

◆ 模式自由

模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。

◆支持动态查询

◆支持完全索引,包含内部对象

◆支持查询

◆支持复制和故障恢复

◆使用高效的二进制数据存储,包括大型对象(如视频等)

◆自动处理碎片,以支持云计算层次的扩展性

◆支持RUBY,PYTHON,JAVA,C++,PHP等多种语言

◆文件存储格式为BSON(一种JSON的扩展)

BSON(Binary Serialized document Format)存储形式是指:存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各种复杂的文件类型。

◆可通过网络访问

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。

MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。

Hypertable

Hypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在PC集群 上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File System(GFS),这是一个高可用的文件系统,提供了一个全局的命名空间。它通过跨机器(和跨机架)的文件数据复制来达到高可用性,并因此免受传统 文件存储系统无法避免的许多失败的影响,比如电源、内存和网络端口等失败。第二个基础设施是名为Map-Reduce的计算框架,它与GFS紧密协作,帮 助处理收集到的海量数据。第三个基础设施是Bigtable,它是传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的 查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。

Apache Cassandra

Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook在使用此系统。

主要特性:

◆ 分布式

◆ 基于column的结构化

◆ 高伸展性

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。

Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比 Dynomite(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

CouchDB

所用语言: Erlang

特点:DB一致性,易于使用

使用许可: Apache

协议: HTTP/REST

双向数据复制,持续进行或临时处理,处理时带冲突检查,因此,采用的是master-master复制

MVCC – 写操作不阻塞读操作

可保存文件之前的版本

Crash-only(可靠的)设计

需要不时地进行数据压缩

视图:嵌入式 映射/减少

格式化视图:列表显示

支持进行服务器端文档验证

支持认证

根据变化实时更新

支持附件处理

因此, CouchApps(独立的 js应用程序)

需要 jQuery程序库

最佳应用场景:适用于数据变化较少,执行预定义查询,进行数据统计的应用程序。适用于需要提供数据版本支持的应用程序。

例如:CRM、CMS系统。 master-master复制对于多站点部署是非常有用的。

和其他数据库比较,其突出特点是:

◆ 模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部 署上。

◆ 真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

◆ 多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

◆ 范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。

◆ 列表数据结构 :在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。

◆ 分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。

问度娘,啥都有。

nosql是什么

NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。

虽然NoSQL流行语火起来才短短一年的时间,但是不可否认,现在已经开始了第二代运动。尽管早期的堆栈代码只能算是一种实验,然而现在的系统已经更加的成熟、稳定。不过现在也面临着一个严酷的事实:技术越来越成熟——以至于原来很好的NoSQL数据存储不得不进行重写,也有少数人认为这就是所谓的2.0版本。这里列出一些比较知名的工具,可以为大数据建立快速、可扩展的存储库。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。

对于NoSQL并没有一个明确的范围和定义,但是他们都普遍存在下面一些共同特征:

不需要预定义模式:不需要事先定义数据模式,预定义表结构。数据中的每条记录都可能有不同的属性和格式。当插入数据时,并不需要预先定义它们的模式。

无共享架构:相对于将所有数据存储的存储区域网络中的全共享架构。NoSQL往往将数据划分后存储在各个本地服务器上。因为从本地磁盘读取数据的性能往往好于通过网络传输读取数据的性能,从而提高了系统的性能。

弹性可扩展:可以在系统运行的时候,动态增加或者删除结点。不需要停机维护,数据可以自动迁移。

分区:相对于将数据存放于同一个节点,NoSQL数据库需要将数据进行分区,将记录分散在多个节点上面。并且通常分区的同时还要做复制。这样既提高了并行性能,又能保证没有单点失效的问题。

异步复制:和RAID存储系统不同的是,NoSQL中的复制,往往是基于日志的异步复制。这样,数据就可以尽快地写入一个节点,而不会被网络传输引起迟延。缺点是并不总是能保证一致性,这样的方式在出现故障的时候,可能会丢失少量的数据。

BASE:相对于事务严格的ACID特性,NoSQL数据库保证的是BASE特性。BASE是最终一致性和软事务。

NoSQL数据库并没有一个统一的架构,两种NoSQL数据库之间的不同,甚至远远超过两种关系型数据库的不同。可以说,NoSQL各有所长,成功的NoSQL必然特别适用于某些场合或者某些应用,在这些场合中会远远胜过关系型数据库和其他的NoSQL。

常见NoSQL数据库的应用场景是怎么样的

文档数据库

源起:受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

优点:适于事务处理的高性能和高扩展性


网站名称:空间数据库nosql,空间数据库的特点
文章源于:http://ybzwz.com/article/dsejeoe.html