Upload
gavin-strong
View
158
Download
0
Embed Size (px)
DESCRIPTION
NoSQL - MongoDB. By 乐志炜 陈润泽 曹 璟 毅 何 竺珈 庞涤. What is NoSQL. NoSQL V.S. 关系型数据库 随着 互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别是超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。. What is NoSQL. Not Only SQL. Why NoSQL. 数据库并发负载高 海量数据存储和访问 数据库数据越来越大 事务管理的负担 - PowerPoint PPT Presentation
Citation preview
NoSQL - MongoDB
By 乐志炜 陈润泽 曹璟毅 何竺珈 庞涤
What is NoSQL
NoSQL V.S. 关系型数据库
随着互联网 web2.0 网站的兴起,传统的关系数据库在应付 web2.0 网站,特别是超大规模和高并发的 SNS 类型的 web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
What is NoSQL
Not Only SQL
Why NoSQL
数据库并发负载高 海量数据存储和访问 数据库数据越来越大 事务管理的负担 关系型数据库读 / 写实时性的忽略 多表关联查询被弱化
Why NoSQL
去掉关系型特性 非常好的读 / 写性能 不需要提前为要存储的数据建立字段 高可用性
NoSQL 缺陷
但是一些人承认,没有正式的官方支持,万一出了差错会是可怕的,至少很多管理人员是这样看。
“ 我们确实需要做一些说服工作,但基本在他们看到我们的第一个原型运行良好之后,我们就能够说服他们,这是条正确的道路。”
此外, NoSQL 并未形成一定标准,各种产品层出不穷,内部混乱,各种项目还需时间来检验。
What is MongoDB
是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
最热门的 NoSQL 产品,之一 BSON (Binary Serialized dOcument Notation)
{"hello“ : "world"}
What is MongoDB
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 JSON 的 BJSON格式,因此可以存储比较复杂的数据类型。
MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。
What is MongoDB
文档(类似于“行”){“age” : 8}
{“age” : “8”}
{“age” : 8}
{“Age” : 8}
{“name” : “zhangsan”, “name” : “lisi”}
集合(类似“表”)一组文档。无模式——文档可以是各种各样的
MongoDB Database
多个文档组成集合,多个集合组成数据库
JavaScript shell
> x = 200
200
> x / 5;
40
MongoDB Database
JavaScript shell
> function factorial (n) {
if (n <= 1) return 1;
return n * factorial(n - 1);
}
> factorial (5)
120
MongoDB Database
JavaScript shell
> use mydb
switched to mydb
> db
mydb
MongoDB Database
创建> post = {“title” : “My Blog Post”,
“content” : “Here’s my blog post. ”,
“date” : new Date() }
{
“title” : “My Blog Post”,
“content” : “Here’s my blog post. ”,
“date” : “Sat Dec 12 2009 11:23:21 GMT-0500 (EST)”
}
> db.blog.insert(post)
MongoDB Database
读取> db.blog.findOne()
{
“_id” : ObjectId(“4b23c3ca7525f35f94b60a2d”)
“title” : “My Blog Post”,
“content” : “Here’s my blog post. ”,
“date” : “Sat Dec 12 2009 11:23:21 GMT-0500 (EST)”
}
MongoDB Database
更新> post.comments = []
[ ]
>db.blog.update({title : “My Blog Post”}, post)
> db.blog.find()
{
“_id” : ObjectId(“4b23c3ca7525f35f94b60a2d”)
“title” : “My Blog Post”,
“content” : “Here’s my blog post. ”,
“date” : “Sat Dec 12 2009 11:23:21 GMT-0500 (EST)”
“comments” : [ ]
}
MongoDB Database
删除> db.blog.remove({title : “My Blog Post”})
集合现在又是空的了
Thank You!