Below you will find pages that utilize the taxonomy term “nosql”
July 28, 2011
mongodb中实现自定义自增ID
"PHP代码:\nfunction get_autoincre_id($name, $db){ $update = array(\u0026#39;$inc\u0026#39;=\u0026gt;array(\u0026#34;id\u0026#34;=\u0026gt;1)); $query = array(\u0026#39;table_name\u0026#39; =\u0026gt; $name); $command = array( \u0026#39;findandmodify\u0026#39;=\u0026gt;\u0026#39;autoincre_system\u0026#39;, \u0026#39;update\u0026#39;=\u0026gt;$update, \u0026#39;query\u0026#39;=\u0026gt;$query, \u0026#39;new\u0026#39;=\u0026gt;true, \u0026#39;upsert\u0026#39;=\u0026gt;true ); $id = $db-\u0026gt;command($command); return $id[\u0026#39;value\u0026#39;][\u0026#39;id\u0026#39;]; } 其中上面的table_name可以用来区别多个表,这样可以灵活实现单独的几个表的自增ID值.\n$conn = new Mongo(); $db = …"
June 24, 2011
Mongodb相关学习资料
"Mongo资料分享.ppt 认识MongoDB.ppt MongoDB技术交流.ppt SQL-to-MongoDB.pdf QCon北京2011大会之:MongoDB开发应用实践 NoSQL应用场景及Cassandra架构分析 Windows下MongoDB管理工具(启用和服务)\nmongoDB 入门指南、示例\nNoSQl存储模型\nMongo与Mysql语法对应关系图\n数据库\n表\n行\n写入\n查询\nMongoDb\ndatabase\nCollection\nDocument\ninsert into blog.users values(“user1”,”23))===========\nuse blogswitched to db blog\u0026gt; u = { name:”user1″, age:23 }\ndb.users.insert(u)\n主要用到的查询函数式 find() 和 findOne(),前者返回一个迭代器 cursor,后者返回单个文档。\ndb.users.find({name:”user1″}){\n“_id” : …"
March 29, 2011
Redis几个认识误区
"此文的作者是新浪微博平台架构师杨卫华(timyang)大师,如果关注了新浪一些牛人微博的同学应该知道,timyang前段时间正在对Redis进行一些研究和测试,也分享出了不少成果。下面一篇文章相信是timyang这段时间对Redis研究的一个总结,澄清了一些认识上的误区,值得一读。\n原文链接:\n前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理论,而是多条实践经验分享,每个公司对这些经验的理解及执行力决定了架构成败。\n题外话说完,最近又研究了Redis。去年曾做过一个MemcacheDB, Tokyo Tyrant, Redis performance test,到目前为止,这个benchmark结果依然有效。这1年我们经历了很多眼花缭乱的key …"
March 29, 2011
在浏览器里试用NoSQL产品
"通常要使用某个存储设备,我们可能需要经历下载、安装、配置、启动等多个过程,然后才能开始试验具体的试用。而在我们很多 NoSQL 产品中,提供了一些非常方便的试用途径,可以让你不用安装一个自己的 Server 即可直接试用并学习其功能:\n1.try redis 在浏览器里试用Redis 地址:\n直接点击上面地址即可进入下面的界面,按提示即可进行操作。\n2.try mongo 在浏览器中试用MongoDB 进入MongoDB主页 点击主上方的 TRY IT OUT 导航,就会在本页展开如下图所示的伪shell 界面,和上面Redis的试用方式一样,你可以在这里试用MongoDB的基本操作。\n3.在浏览器中试用 CouchDB MapReduce 下面是 CouchDB 的一个试用界面,点击页面上的 documents 标签即可切换到查看目前集合中的文档,点击下方的add,即可填入 json 对象添加一行数据。\n地址:\n在维护完上面的数据集合后,可以再点击documents 右侧的 map/reduce 标签切换到书写 map 和 reduce 函数的界面,在写好 map 和 reduce …"
September 26, 2010
MongoDB 快速入门及windows平台下的mongodb安装教程
"官方教程(for windows):\n对 MongoDb 文档数据库感兴趣,要安装认识下。\n到官方下载 win 版 http://www.mongodb.org/display/DOCS/Downloads 目前最新稳定版是 1.2.4。解压到 f:/sofr/mongodb-win32-i386-1.2.4。\n1.启动 mongod 服务端\nF:\\soft\\mongodb\u0026gt;bin\\mongod.exe –dbpath=f:/mongodb Mon Mar 08 11:13:17 Mongo DB : starting : pid = 0 port = 27017 dbpath = f:/mongodb master = 0 slave = 0 32-bit\n** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data ** see http://blog.mongodb.org/post/137788967/32-bit-limitations for more\nMon Mar …"
September 26, 2010
NoSQL数据库探讨之一 - 为什么要用非关系数据库?
"随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:\n1、High performance – 对数据库高并发读写的需求 web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存在对高并发写请求的需求,例如像JavaEye网站的实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需求。\n2、Huge Storage – 对海量数据的高效率存储和访问的需求 类似Facebook,twitter,Friendfeed这样的SNS网站,每天用户产生海量的用户动态,以Friendfeed为例,一个月就达到了2.5亿条用户 …"
August 14, 2010
NoSQL总结分类
"NoSQL数据库异军突起,随着Digg和 sf.net大型应用不断采取NoSQL,NoSQL运动已经蓬勃发展,NoSQL数据库很多,如何对他们分类,以便方便地根据自己应用特色选择不同的NoSQL数据库呢?\nNoSQL = HVSP 无(传统关系数据库的)join或明显事务的高容量简单处理。\n按照数据模型保存性质将当前NoSQL分为四种:\n1.Key-value stores键值存储, 保存keys+BLOBs (二进制大对象Binary Large OBjects)\n2.Table-oriented 面向表, 主要有Google的BigTable和Cassandra.\n3.Document-oriented面向文本, 文本是一种类似XML文档,MongoDB 和 CouchDB\n4.Graph-oriented 面向图论. 如Neo4J.\nNoSQL一般都是分布式数据库,高性能是其特点,因此,数据是如何被分布、复制/碎片以及合成就成为关键,这其中涉及你的应用对数据一致性的要求,见CAP原理,不同一致性处理方式决定不同类型:\n1.基本上基于Dynamo. 核心思想就是在多个节点之间获得最 …"
August 14, 2010
Cassandra数据模型
"提起NoSQL这个话题,仿佛不应该是DBA要关注的事,而是架构师应该关心的。但是作为一名DBA,在使用传统的关系型思想建模时,应该有必要了解NoSQL的建模方法。\n各种NoSQL数据库有很多,我最关注的还是BigTable类型,因为它是一个高可用可扩展的分布式计算平台,用来处理海量的结构化数据,而数据库同样也是处理结构化数据,所以除了没有SQL,在数据模型方面有相似之处。Cassandra是facebook开源出来的一个版本,可以认为是BigTable的一个开源版本,目前twitter和digg.com在使用。我们尝试从DBA的角度出发去理解Cassandra的数据模型。\nNoSQL并不能简单的理解为No SQL,其本质应该是No Relational,也就是说它不是基于关系型的理论基础,而我们所有传统的数据库都是基于这套理论而发展起来的,所以SQL并不是问题的关键所在,比如有些NoSQL数据库可以提供SQL类型的接口,允许你通过类SQL的语法去访问数据。而Friendfeed则是反其道而行之,利用关系型数据库MySQL,采用了去关系化的设计方法,去实现自己的KeyValue存储。所 …"