文档型nosql数据库,nosql数据库类型

nosql数据库的四种类型

nosql数据库的四种类型如下:

创新互联公司长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为江都企业提供专业的成都网站制作、网站设计,江都网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

1.key-value键值存储数据库:

相关产品: Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached.

主要应用: 内容缓存,处理大量数据的高负载访问,也用于系统日志。

优点:查找速度快,大量操作时性能高。

2.列存储数据库:

相关产品: BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS.

主要应用: 分布式数据的储存与管理。

优点:查找速度快,可扩展性强,容易进行分布式扩展。

缺点:功能相对局限。

3.文档型数据库

相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit.

主要应用: web应用,管理面向文档的数据或者类似的半结构化数据。

优点:数据结构灵活,表结构可变,复杂性低。

缺点:查询效率低,且缺乏统一的查询语言。

4.Graph图形数据库

相关产品: Neo4J、OrientDB、InfoGrid、GraphDB.

主要应用: 复杂,互连接,低结构化的图结构场合, 专注构建关系图谱。

优点: 利用图结构相关算法, 可用于构建复杂的关系图谱。

缺点: 复杂度高。

以下哪个选项属于文档型nosql

nosql四大分类:1、KV键值对。

2、文档型数据库。

3、列存储数据库。

4、图关系数据库。nosql是非关系型数据库,NoSQL(NotOnlySQL),意思是"不仅仅是SQL",指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。

Mongodb和mysql的区别

Mongodb和mysql的区别

1.Mongodb简介及优缺点分析

Mongodb是非关系型数据库(nosql ),属于文档型数据库。文档是mongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库。

存储方式:虚拟内存+持久化。

查询语句:是独特的Mongodb的查询方式。

适合场景:事件的记录,内容管理或者博客平台等等。

架构特点:可以通过副本集,以及分片来实现高可用。

数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

优点:

快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。高扩展性,存储的数据格式是json格式!

缺点:

① mongodb不支持事务操作。

② mongodb占用空间过大。

③ 开发文档不是很完全,完善。

2.MySQL优缺点分析

优点:

在不同的引擎上有不同 的存储方式。

查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

开源数据库的份额在不断增加,mysql的份额页在持续增长。

缺点:

在海量数据处理的时候效率会显著变慢。

3.Mongodb和MySQL数据库的对比

传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。

MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。

4.MongoDB常用语句

# 连接Mongo数据库,并设置数据存储地址

mongod.exe --dbpath "d:softwareMongoDBServer3.0data"

#-----------------------#1# 数据库

# 查看所有的数据库

show dbs

# 删除当前使用的数据库

db.dropDatabase()

# 使用这个数据库(只有插入数据后完成创建数据库)

use dbt

# 查看当前使用的数据库

db

db.getName()

# 查看当前数据库状态

db.stats()

# 修复当前数据库

db.repairDatabase()

# 从一个数据库复制到另一个数据库

db.copyDatabase("mydb", "temp", "127.0.0.1");

#-----------------------#2# 集合

# 查看当前数据库下所有的集合

show collections

show tables

# 创建名称为coll集合

db.createCollection('coll')

db.createCollection("coll2", {capped:true, autoIndexId:true, size:6142800, max:10000}) # 可选参数

# 查看当前集合状态

db.coll.stats()

# 删除名称为coll集合

db.coll.drop()

#-----------------------#3# 集合数据

# 插入空数据并且直接创建名称为coll集合

db.coll.insert({})

# 插入一个或多个数据

db.coll.insert({name:'tom', age:22})

db.coll.insert([{name:'adam', age:10},{name:'john', age:23}])

# 添加数据(save方法可以修改相同id的数据)

db.coll.save({name:'allen'})

# 删除一个或所有的数据

db.coll.remove({name:'tom'})

db.coll.remove({})

# 删除符合条件的数据中的第一条

db.coll.remove({name:'tom'}, 1)

# 更改数据

db.coll.update({name:'tom', age:22}, {$set:{name:'tom', age:222}})

# 查看数据

db.coll.find()

# 查看一条数据

db.coll.findOne()

db.coll.find({}, {name:1, '_id':0}) # 1表示显示,0表示不显示(find默认显示_id)

# 格式化显示数据,使数据更加清晰明了

db.coll.find().pretty()

# 使用and,or查看数据

db.coll.find({name:'tom', age:22}) # 等同and使用

db.coll.find({$or:[{name:'tom'}, {age:21}]}) # or使用

# 操作符大于,小于,等于,不等于,大于不等于,小于不等于

db.coll.find({age: {$gt: 22}}) # 大于

db.coll.find({age: {$lt: 22}}) # 大于

db.coll.find({age: 22}) # 等于

db.coll.find({age: {$ne: 22}}) # 不等于

db.coll.find({age: {$gte: 22}}) # 大于等于

db.coll.find({age: {$lte: 22}}) # 小于等于

# 显示从skip之后limit个

db.coll.find().limit(2).skip(1)

#-----------------------# # 用户

# 3.x之后版本添加用户

use admin

db.createUser({user:'nu', pwd:'nu', roles:[{role:'readWrite',db:'admin'}]})

# 用户认证

db.auth("nu", "nu");

# 显示当前所有用户

show users;

db.system.users.find()

3.x版本删除用户

db.removeUser('nu') # 不推荐使用,已经废弃

db.dropUser("nu");

# 当前db版本

db.version();

# 当前db的链接机器地址和端口

db.getMongo();

# 备份到备份目录

mongodump

# 从备份目录恢复备份语句。

mongorestore

咱们下期见。

什么是NoSQL数据库?

答案:A

1.文档型数据库

作为最受欢迎的NoSQL产品,文档型数据库MongoDB当仁不让地占据了第一的位置,同时它也是所有NoSQL数据库中排名最靠前的产品(总排行榜第七名)。Apache基金会的CouchDB排在第二,基于.Net的数据库RavenDB排在第三,Couchbase排在第四。

2.键值(Key-value)数据库

键值(Key-value)数据库是NoSQL领域中应用范围最广的,也是涉及产品最多的一种模型。从最简单的BerkeleyDB到功能丰富的分布式数据库Riak再到Amazon托管的DynamoDB不一而足。

在键值数据库流行度排行中,Redis不出意外地排名第一,它是一款由Vmware支持的内存数据库,总体排名第十一。排在第二位的是Memcached,它在缓存系统中应用十分广泛。排在之后的是Riak、BerkeleyDB、SimpleDB、DynamoDB以及甲骨文的Oracle NoSQL数据库。值得注意的是,Oracle NoSQL数据库上榜不久,得分已经翻番,上升势头非常迅猛。

3. 列式存储

列式存储被视为NoSQL数据库中非常重要的一种模式,其中Cassandra流行度最高,它已经由Facebook转交给到Apache进行管理,同时Cassandra在全体数据库排名中排在第十位,紧随MongoDB成为第二受欢迎的NoSQL数据库。基于Hadoop的Hbase排在第二位,Hypertable排在第三。而Google的BigTable并未列入排名,原因是它并未正式公开。


本文标题:文档型nosql数据库,nosql数据库类型
文章出自:http://scjbc.cn/article/dsgoggh.html

其他资讯