随笔分类 -  数据库MongoDb

摘要:关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意。下面是关于它的优势和劣势的一个概述。二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是一个占统治地位的数据库模型。AD:51CTO学院:IT精品课程在线看!关系数据库模型已经流行了几十年了,但是一种新类型的数据库——被称为NoSQL,正在引起企业的注意。下面是关于它的优势和劣势的一个概述。二十多年以来,对数据库管理来说,关系数据库(RDBMS)模型一直是一个占统治地位的数据库模型。但是,今天,非关系数据库,“云”数据库,或“NoSQL”数据库作为关系数据库以外的一些选择,正在引起大 阅读全文
posted @ 2014-04-08 14:50 郑文亮 阅读(936) 评论(0) 推荐(0) 编辑
摘要:原始网址:http://hi.baidu.com/i1see1you/item/783a701f39a87549e75e06ea1.Mongodb bson文档型数据库,整个数据都存在磁盘中,hbase是列式数据库,集群部署时每个familycolumn保存在单独的hdfs文件中。2.Mongodb 主键是“_id”,主键上面可以不建索引,记录插入的顺序和存放的顺序一样,hbase的主键就是row key,可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,row key保存为字节数组。存储时,数据按照Row key的字典序(byte or 阅读全文
posted @ 2014-04-08 14:48 郑文亮 阅读(12583) 评论(0) 推荐(2) 编辑
摘要:转载:http://leongfans.iteye.com/blog/1019383昨天搜一下mongodb的资料,介绍应用的比较多,原理介绍的不多。粗略得看了一下,总体来说两者的设计思路差不多,主要就是通过划区间去分布数据,后台进程进行数据分裂两者的区别主要在于:1、HBase依赖于HDFS;MongoDB直接存储在本地磁盘中2、HBase按照列族将数据存储在不同的文件中;MongoDB不分列,整个文档都存储在一个(或者说一组)文件中,通过一个有一个通用的.ns文件保存名称空间(Column-based和Document-Based之间的区别应该是指这个地方吧)3、HBase一个region 阅读全文
posted @ 2014-04-08 14:42 郑文亮 阅读(1080) 评论(0) 推荐(0) 编辑
摘要:聚合操作过程中的数据记录和计算结果返回。聚合操作分组值从多个文档,并可以执行各种操作,分组数据返回单个结果。在SQL COUNT(*)和group by 相当于MongoDB的聚集。aggregate() 方法对于在MongoDB中聚集,应该使用aggregate()方法。语法:aggregate()方法的基本语法如下>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)例子:在集合中,有以下的数据:{ _id:ObjectId(7df78ad8902c) title:'MongoDB Overview', descripti 阅读全文
posted @ 2014-01-17 09:01 郑文亮 阅读(6468) 评论(0) 推荐(0) 编辑
摘要:NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题?这个疑惑非常大,为此我看了很多分析文章,但却总感觉是隔靴搔痒。为了一探究竟,半年前我决定用Mongodb这个著名的NoSql数据库做个产品试试。只有在真实的使用环境中才能得到最贴切的感受。一晃眼,半年过去了,现在我能用亲身的体会来谈谈NoSql数据库存在的理由和试图解决的问题了。就像所有的哲学思考都来源于对日常活动的观察一样,我们也从最基本的东西说起吧。来看这样一个业务要求,用户可以为一本书打分,并且写评论。熟悉数据库结构设计的人看到这一 阅读全文
posted @ 2014-01-14 11:45 郑文亮 阅读(1109) 评论(1) 推荐(0) 编辑
摘要:在开发之前,选择MongoDb驱动是件很重要的事情。如果选择不好,在后期的开发的是件很费力的事情,因为我就遇到这样的问题。MongoDb驱动有几种比较流行驱动,官方驱动和samus是两种使用比较多的。 好了,接着说今天的内容了。 首先从MongoDb的官方网站上下载CSharp驱动(https://github.com/mongodb/mongo-csharp-driver/downloads)。我使用的是CSharpDriver-1.1.0.4184,里面还包含一个CSharpDriverDocs.chm的文档。MongoDb插入原理:使用驱动程序进行插入的时候,会将数据转换成BSON格式。 阅读全文
posted @ 2014-01-07 09:10 郑文亮 阅读(2516) 评论(3) 推荐(0) 编辑
摘要:var query1 = Query.EQ(q => q.sGuidBaseCompany, sGuidBaseCompany); var query2 = Query.Matches(m => m.sName, name); var query3 = Query.Matches(m => m.sName, name); var cursor = this.GetCollection().Find(Query.Or(Query.And(query1, query2), query3)); 阅读全文
posted @ 2013-12-28 16:44 郑文亮 阅读(2384) 评论(0) 推荐(0) 编辑
摘要:【IT168专稿】在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作。 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。 首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。 新建立一个Java工程,将下载的驱动程序放在库文件路径下,程序代码如下:packagecom.mkyong.core; importjava.net.UnknownHostException;... 阅读全文
posted @ 2013-12-25 18:14 郑文亮 阅读(14066) 评论(0) 推荐(1) 编辑
摘要:我在百X知道上回答问题时经常遇到类似与这样的问题:MongoDB有没有像MySQL一样的ODBC驱动?MongoDB能不能像MySQL一样获取字段名称或类型。我的回答是:不行,因为MongoDB不是MySQL。这个回答显得MongoDB太弱了,我的原意是你不能要求一个物理优秀教师帮你辅导数学,也许他能做到基本的教学,但他很难做到优秀数学教师那么全面。今天讨论的问题是:批量插入和批量查询昨天在百X知道上有人问起MongoDB的批量插入如何写,这个我还真没用过,一方面MongoDB的速度足够快让我从来没有想过去找这种方法,另一方面MongoDB的官网以及API里也找不到这种方法。那就带来两个问题。 阅读全文
posted @ 2013-12-25 16:39 郑文亮 阅读(4403) 评论(0) 推荐(0) 编辑
摘要:var query= db.GetCollection("merchant").Find(Query.EQ(m => m.Id, id)) .SetFields(Fields.Include(m => m.Address).Include(m => m.Name)); 阅读全文
posted @ 2013-12-23 11:37 郑文亮 阅读(619) 评论(0) 推荐(0) 编辑
摘要:例子:public static void getUserRFM(DateTime beginTime, DateTime endTime) { MongoDatabase mongoDB = getConnection(); //会员消费明细的实体类 List shopplist = new List(); //获得Ky_shopplist集合 MongoCollection col = mongoDB.GetCollection("Ky_Shopplist"); //获得Ky_UserRFM的集合 MongoCollection colRFM = mongoDB.Get 阅读全文
posted @ 2013-12-19 14:23 郑文亮 阅读(2970) 评论(0) 推荐(0) 编辑
摘要:MongoDB基本使用成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表 show collections:显示当前数据库中的集合(类似关系数据库中的表) show users:显示用户use :切换当前数据库,这和MS-SQL里面的意思一样 db.help():显示数据库操作命令,里面有很多的命令 db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 db.foo.find():对于当前数据库中的foo集合进行 阅读全文
posted @ 2013-11-13 11:38 郑文亮 阅读(4946) 评论(1) 推荐(0) 编辑
摘要:烟波钓徒MongoDB C#驱动http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial笔记首先下载驱动。驱动有两个文件MongoDB.Bson.dllMongoDB.Driver.dll可以直接下载这两个驱动,或者按照下载源码进行编译生成。下载的源码可以看些test例子。在新建的c#工程中添加这两个dll文件,并且使用如下命名空间至少要引用如下命名空间using MongoDB.Bson; using MongoDB.Driver; 另外使用比较多的命名空间是using MongoDB.Driver.Builders;using M 阅读全文
posted @ 2013-11-13 11:25 郑文亮 阅读(5121) 评论(0) 推荐(0) 编辑
摘要:8.1)下载安装想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动。C#版的驱动有很多种,如官方提供的,samus。 实现思路大都类似。这里我们先用官方提供的mongo-csharp-driver ,当前版本为1.4.1下载地址:http://github.com/mongodb/mongo-csharp-driver/downloads编译之后得到两个dllMongoDB.Driver.dll:顾名思义,驱动程序MongoDB.Bson.dll:序列化、Json相关然后在我们的程序中引用这两个dll。下面的部分简单演示了怎样使用C#对MongoDB进行增删改查操作。 阅读全文
posted @ 2013-11-13 10:28 郑文亮 阅读(1123) 评论(0) 推荐(0) 编辑
摘要:阅读目录开始下载MongoDB,并启动它在C#使用MongoDB重构(简化)代码使用MongoDB的客户端查看数据使用MongoDB的客户端维护数据MongoDB提供的C#驱动MongoDB不支持在查询数据库时使用Join操作获取MongoDB服务端状态【目标】:本文将以实战的形式,向您展示如何用C#访问MongoDB,完成常见的数据库操作任务, 同时,也将介绍MongoDB的客户端(命令行工作模式)以及一些基础的命令。【说明】:MongoDB是什么?有什么用?如果不清楚这些问题的,请自己google一下吧。【适合对象】:完全没有接触MongoDB或对MongoDB有一点了解的C#开发人员。因 阅读全文
posted @ 2013-11-11 14:37 郑文亮 阅读(511) 评论(0) 推荐(0) 编辑
摘要:安装MongoDB可以参照我的C#操作MongoDB那篇文章。php的话首先从网上下载MongoDB的扩展包,https://github.com/mongodb/mongo-php-driver/downloads,选择对应的扩展包。这是我下的,然后解压,VC6适合apache,VC9适合IIS,ts(thread safe)指PHP以模块形式运行的。然后把其中的php_mongo.dll放在PHP中的ext文件夹中,然后在PHP.INI里面加入extension=php_mongo.dll,重启apache。至此PHP扩展MongoDB的包安装完毕。关于查询MongoDB一些使用函数可以查 阅读全文
posted @ 2013-09-28 08:19 郑文亮 阅读(962) 评论(0) 推荐(0) 编辑
摘要:引言 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:面向集合存储,易存储对象类型的数据。模式自由。支持动态查询。支持完全索引,包含内部对象。支持查询。支持复制和故障恢复。使用高效的二进制数据存储,包括大型对象(如视频等) 阅读全文
posted @ 2013-08-27 16:44 郑文亮 阅读(1153) 评论(2) 推荐(0) 编辑