你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用
NoSQL 数据库?说一说 NoSQL 数据库的几个优点
NoSQL 是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL 采用的是键值对的方式存储数据。
- 在处理非结构化/半结构化的大数据时,在水平方向上进行扩展时,随时应对动态增加的数据项时可以优 先考虑使用 NoSQL 数据库。
- 在考虑数据库的成熟度;商业智能;管理及专业性等问题时,应优先考虑关系型数据库。
NoSQL 数据库有哪些类型?
MongoDB Redis CouchDB Couchbase 等
MongoDB CouchDB
MongoDB 和 CouchDB 都是面向文档的数据库。MongoDB 和 CouchDB 都是开源 NoSQL 数据库的最典型代表。 除了都以文档形式存储外它们没有其他的共同点。MongoDB 和 CouchDB 在数据模型实现、接口、对象存储以及复制方法等方面有很多不同。
MySQL 与 MongoDB 之间最基本的差别是什么
MySQL 和 MongoDB 两者都是免费开源的数据库。MySQL 和 MongoDB 有许多基本差别包括数据的表示(data representation),查询,关系,事务,schema 的设计和定义,标准化(normalization),速度 和性能。
通过比较 MySQL 和 MongoDB,实际上我们是在比较关系型和非关系型数据库,即数据存储结构不同。
MongoDB 成为最好 NoSQL 数据库的原因是什么
以下特点使得 MongoDB 成为最好的 NoSQL 数据库:
- 面向文件的
- 高性能
- 高可用性
- 易扩展性
- 丰富的查询语言
32 位系统上有什么细微差别
journaling 会激活额外的内存映射文件。这将进一步抑制 32 位版本上的数据库大小。因此,现在 journaling 在 32 位系统上默认是禁用的。
简单操作命令:
查看数据库
show databases;
选择数据库
use数据库名
查看集合
show collections
创建集合
db.createCollection('集合名')
删除集合
db.集合名.drop()
增删改查
db.集合名.insert(JSON数据) 插入
db.c1.find() 查询所有
db.c1.find({age:{$gt:5}}) 查询age大于5的数据
db.集合名.update(条件,新数据[是否新增,是否修改多条,])
db.c3.update({uname:"zs30"},{$set:{age:30}},true)
db.集合名.remove(条件[,是否删除一条])
db.c3.remove({uname:"zs3"})
索引
db.sang_collect.getIndexes() 查看集合中的索引
db.sang_collect.ensureIndex({x:1}) 创建索引