君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
  1057 随笔 :: 381 文章 :: 141 评论 :: 169万 阅读

随笔分类 -  nosql(MongoDB)

1 2 下一页

摘要:和所有事物一样,NoSQL的兴起也是由许多理论支撑作为前提的,正是由下面一些理论的支撑,NoSQL的方向才能如此明朗。1.CAP理论CAP理论无疑是导致技术趋势由关系数据库系统向NoSQL系统转变的最重要原因。CAP(Consistency,Availability,Patition toleran... 阅读全文
posted @ 2015-04-08 00:22 刺猬的温驯 阅读(338) 评论(0) 推荐(0) 编辑

摘要:本文译自Distributed Algorithms in NoSQL Databases系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性。这么讲使得NoSQL听起来像是一个大筐,什么都能塞进去。尽管NoSQL运动并没有给分布式数据处理带来根... 阅读全文
posted @ 2015-04-01 01:58 刺猬的温驯 阅读(282) 评论(0) 推荐(0) 编辑

摘要:CAP理论被很多人拿来作为分布式系统设计的金律,然而感觉大家对CAP这三个属性的认识却存在不少误区。从CAP的证明中可以看出来,这个理论的成立是需要很明确的对C、A、P三个概念进行界定的前提下的。在本文中笔者希望可以对论文和一些参考资料进行总结并附带一些思考。一、什么是CAP理论CAP原本是一个猜想... 阅读全文
posted @ 2015-04-01 01:27 刺猬的温驯 阅读(293) 评论(0) 推荐(0) 编辑

摘要:Replica Set 节点类型分为三种:standard:常规节点,它存储一份完整的数据副本,参与选举投票,有可能成为primary节点;passive:存储了完整的数据副本,参与投票,不能成为primary节点;arbiter:仲裁节点,只参与投票,不接收复制的数据,也不能成为primary节点。本文配置使用2个常规节点和一个arbiter节点,arbiter节点由于不同步数据,所以负载会很小,部署对硬件没有太大的要求。假设192.168.1.211、192.168.1.212为常规节点,192.168.1.68为arbiter节点。三个节点上的mongodb都是用下面的配置文件,文件存放 阅读全文
posted @ 2012-12-24 14:45 刺猬的温驯 阅读(298) 评论(0) 推荐(0) 编辑

摘要:转载自http://my.oschina.net/zhzhenqin/blog/97268现在网上很多教程都在讲MongoDB分片配置,但大多都没有经过实战,胡乱转载。而且用的MongoDB版本不同各种配置眼花寮乱,让入门者莫衷一是。最近我也做了MongoDB分片,贴出自己的配置。并且把需要注意的问题和大伙聊聊,不恰当的地方希望大家指正。 也同时希望让后来者能绕过这些问题。正式环境为了保证数据安全都要进行备份的,关于分片复制请见alibaba教程:http://www.taobaodba.com/html/525_525.html我配置的集群是测试用的,没有复制。只是简单的分片存储数据进行测试 阅读全文
posted @ 2012-12-23 22:44 刺猬的温驯 阅读(249) 评论(0) 推荐(0) 编辑

摘要:转载自http://www.cnblogs.com/spnt/当MongoDB整个架构已经部署好以后,真正考验架构者能力的时候就到了:该如何选择片键。如果选择了一个不恰当的片键,他可能会在访问量变大的时候,使你的整个应用系统崩溃,同样好的片键可以构成一个良性的生态系统,根据需要增删服务器,MongoDB会确保系统一直正确的运行下去。咱们先看看几种不恰当的片键1,小基数片键 假设我们有一个存储用户信息的应用程序,每个文档有一个continent的字段,存储用户所在地区,其值有:africa,antarctica,asia,australia,europe,north america,south 阅读全文
posted @ 2012-12-23 22:33 刺猬的温驯 阅读(655) 评论(0) 推荐(0) 编辑

摘要:转载自http://www.cnblogs.com/spnt/MongoDB的Sharding机制解决了海量存储和动态扩容的问题,但离生产环境的高可靠,高可用还有距离,Sharding在单点出现故障时就无能为力了。但是MongoDB的副本集却可以很轻松的处理单点故障,所以就有了Replica Sets + Sharding的高可用,高安全的架构。 架构如下: 1,shard服务器:使用Replica Sets确保每个数据节点都具有备份、自动容错转移、自动恢复的能力。 2,配置服务器:使用使用3个配置服务器确保元数据完整性 3,路由进程:使用3个路由进程实现平衡,提高客户端接入性能,架构如下3个 阅读全文
posted @ 2012-12-23 22:22 刺猬的温驯 阅读(212) 评论(0) 推荐(0) 编辑

摘要:转载自http://www.cnblogs.com/spnt/Mongodb的Sharding维护也是就那几个命令,相对来说都很简单,结合实例做下演示。1,列出所有的Shard Server注意一点是:需要连接到路由的admin下。listshards的参数1是一个固定的默认值,没有特殊的意义。2,查看Sharding的信息切换到Friends数据库,使用printShardingStatus(),可以看到当前Sharding的信息。3,对现有的表执行Sharding。 上面我们对FriendUserAttach表执行了分片,下面我们在对另外一个表FriendUser进行分片。 首先我们查看下 阅读全文
posted @ 2012-12-23 22:09 刺猬的温驯 阅读(191) 评论(0) 推荐(0) 编辑

摘要:转载自http://www.cnblogs.com/spnt/副本集实现了网站的安全备份和故障的无缝转移,但是并不能实现数据的大容量存储,毕竟物理硬件是有极限的,这个时候就需要做分布式部署,把数据保存到其他机器上。Mongodb的分片技术就很完美的实现了这个需求。理解Mongodb的分片技术即Sharding架构 什么是Sharding?说白了就是把海量数据水平扩展的集群系统,数据分表存储在Sharding的各个节点上。 Mongodb的数据分开分为chunk,每个chunk都是collection中的一段连续的数据记录,一般为200MB,超出则生成新的数据块。 构建Sharding需要三种角 阅读全文
posted @ 2012-12-23 22:07 刺猬的温驯 阅读(329) 评论(0) 推荐(0) 编辑

摘要:转载自http://www.cnblogs.com/spnt/Mongodb副本集配置好以后,少不了维护,维护内容也不是很多,主要是现在状态和增删节点等。在说维护之前,得先说说Mongodb副本集的同步机制。数据复制的目的是使数据得到最大的可用性,避免单点故障引起的整站不能访问的情况的发生,Mongodb的副本集在同一时刻只有一台服务器是可以写的,副本集的主从复制也是一个异步同步的过程,是slave端从primary端获取日志,然后在自己身上完全顺序的执行日志所记录的各种操作(该日志是不记录查询操作的),这个日志就是local数据库中的oplog.rs表,默认在64位机器上这个表是比较大的,占 阅读全文
posted @ 2012-12-23 21:59 刺猬的温驯 阅读(175) 评论(0) 推荐(0) 编辑

摘要:转载自http://www.cnblogs.com/spnt/既然使用Mongodb,就不得不用他的安全备份机制:副本集。Mongodb副本集是什么东西? 通俗的讲就是用多台机器进行同一数据的异步同步,从而使多台机器拥有同一数据的多个副本,并且当主库当掉时在不需要用户干预的情况下自动切换其他备份服务器做主库。而且还可以利用副本服务器做只读服务器,实现读写分离,提高负载。需要指数的是:Mongodb的主从复制模式官方已经不在推荐使用了。那么该如何实现呢?我用一台的机器的不同文件夹来做下模拟(生产环境下最好用不同的服务器来做物理隔绝)。我的文件目录是:F:\mongodb1\F:\mongodb2 阅读全文
posted @ 2012-12-23 21:57 刺猬的温驯 阅读(182) 评论(0) 推荐(0) 编辑

该文被密码保护。
posted @ 2012-10-22 09:13 刺猬的温驯 阅读(17) 评论(0) 推荐(0) 编辑

该文被密码保护。
posted @ 2012-10-22 09:12 刺猬的温驯 阅读(21) 评论(0) 推荐(0) 编辑

摘要:上一篇文章讨论了Redis的常用数据类型与存储机制,本文会讨论一下Redis的复制功能以及Redis复制机制本身的优缺点以及集群搭建问题。 Redis复制流程概述Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题。Redis复制流程在Slave和Master端各自是一套状态机流转,涉及的状态信息是:Slave 端:REDIS_REPL_NONEREDIS_REPL_CONNECT 阅读全文
posted @ 2012-06-14 02:16 刺猬的温驯 阅读(1723) 评论(0) 推荐(0) 编辑

摘要:上一篇Redis文章对其适用场景与特点进行了一个概括的分析,本文将对Redis的常见数据类型的使用场景以及在内存优化方面和性能优化方面做一些详细的分析。 Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashListSetSorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型,encoding是不同数据类型在red 阅读全文
posted @ 2012-06-14 02:12 刺猬的温驯 阅读(653) 评论(1) 推荐(1) 编辑

摘要:传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 Memcached与MySQL数据库数据一致性问题。 Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。 跨机房cache同步问题。 众多NoSQL百花齐放,如何选择最近几年,业界不断... 阅读全文
posted @ 2012-06-14 02:09 刺猬的温驯 阅读(319) 评论(0) 推荐(0) 编辑

摘要:MongoDB简介目前有很多互相竞争的NoSQL产品,它们使用的方式不尽相同,但都能很好地解决大数据问题。MongoDB就是其中一款非常不错的产品。MongoDB是面向文档、无Schema的存储解决方案,它用JSON风格的文档展现、查询、修改数据。MongoDB有很丰富的文档,安装和设置都很简单,而且易于扩展。它支持大家熟知的复制、分片、索引和Map/Reduce等概念。MongoDB开源社区的规模很大,也很活跃。让MongoDB引以为豪的是,包括Disney、Craigslist、Foursquare、Github和SourceForge在内的大型、高流量生产环境都已经部署了MongoDB。 阅读全文
posted @ 2012-06-03 10:36 刺猬的温驯 阅读(611) 评论(0) 推荐(0) 编辑

摘要:在上一篇教程中,我们学习了如何使用Mongodb 的JAVA API对Mongodb进行相关的数据库操作,在本文中,将学习使用Spring for Mongodb去简化对Mongodb的操作。 安装Spring for Mongodb Spring项目为方便对Mongodb的操作,建立了spring-data的子项目,地址在: http://www.springsource.org/spring-data/mongodb,目前版本是1.0.0M2阶段,已支持对Mongodb的一系列基本操作。我们先从http://www.springsource.org/spring-data/mongo... 阅读全文
posted @ 2012-06-01 04:03 刺猬的温驯 阅读(9826) 评论(0) 推荐(0) 编辑

摘要:在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作。 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序。 首先,要通过Java操作Mongodb,必须先下载Mongodb的Java驱动程序,可以在这里下载。 新建立一个Java工程,将下载的驱动程序放在库文件路径下,程序代码如下:packagecom.mkyong.core;importjava.net.UnknownHostException;importcom.... 阅读全文
posted @ 2012-06-01 04:01 刺猬的温驯 阅读(767) 评论(0) 推荐(0) 编辑

摘要:目前,NOSQL在业界正发展的如火如荼,其中Mongodb是其中十分优秀的一员,MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。在本系列教程中,将分三部分指导对Mongodb的学习,在第一部分中,将简单介绍Mongodb的安装和基本使用方法,在第二部分中,将介绍Java对Mongodb的编程操作,在第三部分中,将介绍Spring对Mongodb的编程操作。 Mongodb在Windows上的安装 首先,我们到Mongodb的官方网站http://www.mongodb.org/downloads下载,下载的版本目前是1... 阅读全文
posted @ 2012-06-01 03:58 刺猬的温驯 阅读(408) 评论(0) 推荐(0) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示