NoSQL
文章平均质量分 83
「已注销」
这个作者很懒,什么都没留下…
展开
-
MongoDB初探-基本概念与数据类型
一、基本概念1、文档:MongoDB是基于文档(Document)的NoSQL数据库。文档是MongoDB中数据的基本单元,非常类似于关系数据库中的行(比行要复杂)。文档由多个键值对组成,它们具有以下特性:a、文档中的键/值对是有序的(通常文档中键的顺序并不重要)。b、文档中的值不仅可以是双引号里的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。c、文档的键是字符原创 2014-01-13 23:22:50 · 2745 阅读 · 0 评论 -
MongoDB初探-介绍与环境搭建
一、简介随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。MongoDB非凡的表现使其在NoSQL中占有重要地位,当然其他的NoSQL数据库,比如CouchDB,Redis,Hbase等也各有千秋。本系列将带领大原创 2014-01-12 08:55:53 · 1584 阅读 · 0 评论 -
MongoDB初探-创建,更新和删除文档
一、Insert操作Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中,不进行额外的验证,也不会执行代码,所以不存在注入式攻击的可能。1、单条插入2、批量插入Mong原创 2014-03-15 02:54:31 · 2434 阅读 · 6 评论 -
MongoDB初探-细说查询
一、find操作MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询。1、查询全部空的查询文档{}会匹配集合的全部内容。如果不指定查询文档,默认就是{}。2、部分查询3、键的筛选键的筛选是查询时只返回自己感兴趣的键值,通过指定find的第二个参数来实现。这样可以节省传输的数据量,又能节省客户端解码文档的时间和内存消耗。原创 2014-03-16 12:06:38 · 2005 阅读 · 1 评论 -
MongoDB初探-细说索引
一、索引操作索引是为了优化查询速度而生,MongoDB的索引和其他关系型数据库,比如MySQL,Oracle等的索引几乎相同,对于它们的索引优化经验同样适用于MongoDB。1、创建索引MongoDB中建立索引是通过ensureIndex操作完成的。下面测试了在使用索引和不使用索引下的性能差别,使用explain函数进行查询性能分析。插入测试数据:不使用索引的查询:原创 2014-03-22 16:12:57 · 3740 阅读 · 0 评论 -
MongoDB初探-细说聚合
一、简单聚合工具1、countcount是最简单的聚合工具,用于返回集合中文档的数量。2、distinctdistinct和其他数据库的语义是相同的,用于找到给定键的所有不同的值,即去重。二、复杂聚合工具1、groupgroup和SQL中的group by类似,用于分组。group聚合可以使用condition过滤返回的文档,使用完成器f原创 2014-03-23 21:47:41 · 1492 阅读 · 0 评论 -
如何设计一个可伸缩的计数系统
很多应用程序都有通知或系统消息的功能模块,如果有新消息会以红点或消息条数在某个显眼位置展示给用户,这是计数系统使用场景之一。应用内部,比如微博,每个用户有自己发送微博数量,微博评价数等需要计数的需求,这也是计数系统常见的使用场景。将普遍需要的计数功能独立出一个单独的模块或系统,有利用系统的扩展,所以本文将讨论下如何构建一个可伸缩的计数系统。1. 先对上述计数常见使用场景简要分析。第一种情况原创 2014-12-27 17:35:33 · 2402 阅读 · 0 评论