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

博客园 首页 新随笔 联系 订阅 管理

2012年12月23日 #

摘要: 转载自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 刺猬的温驯 阅读(247) 评论(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 刺猬的温驯 阅读(650) 评论(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 刺猬的温驯 阅读(210) 评论(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 刺猬的温驯 阅读(187) 评论(0) 推荐(0) 编辑

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

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

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

摘要: Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。无论是哪种持久化存储, 数据访问对象(或称作为DAO,即Data Access Objects)通常都会提供对单一域对象的CRUD (创建、读取、更新、删除)操作、查询方法、排序和分页方法等。Spring Data则提供了基于这些层面的统一接口(CrudRepository,PagingAndSortingRepository)以及对持久化存储的实现。你可能接触过某一种Spring 模型对象——比如JdbcTemplate——来编写访问对象的实现。基于 阅读全文
posted @ 2012-12-23 02:06 刺猬的温驯 阅读(451) 评论(0) 推荐(0) 编辑

摘要: 从一个简单的 JPA 示例开始本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分不会涉及过多的篇幅,如果希望能够深入学习 Spring 和 JPA,可以根据本文最后提供的参考资料进一步学习。自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择。它一改之前 EJB 2.x 中实体 Bean 笨重且难以使用的形象,充分吸收了在 阅读全文
posted @ 2012-12-23 02:03 刺猬的温驯 阅读(491) 评论(0) 推荐(0) 编辑