15. MongoDB系列之选择片键】的更多相关文章

1. 片键类型 1.1 升序片键 升序片键通常类似于date或ObjectId--随着时间稳步增长的字段. 这种模式通常会使MongoDB更难保持块的平衡,因为所有的块都是由一个分片创建的. 1.2 随机分发的片键 随机分发的键可以是用户名,电子邮件地址,UUID,MD5哈希值等 由于写操作是随机分发的,因此分片应该以大致相同的速度增长,从而减少需要进行的迁移操作数据. 1.3 基于位置的片键 基于位置的片键可以是用户的IP.经纬度或者地址. > sh.addShardToZone("sh…
分片 1. 分片(sharding)是指将数据拆分,将其分散存放在不同的机器上的过程.有时也用分区(partitioning)来表示这个概念.将数据分散到不同的机器上,不需要功能强大的大型计算机就可以 存储更多的数据,处理更大的负载. 2. MongoDB支持自动分片(autosharding),可以使数据库架构对应用程序不可见,也可以简化系统管理.对应用程序而言,好像始终在使用一个单机的MongoDB服务器一样.另一方面, mongoDB自动处理数据在分片上的分布,也更容易添加和删除分片技术.…
NoSQL系列:选择合适的数据库 为什么使用NoSQL数据库? 阻抗失衡 关系模型和内存中的数据结构不匹配 采用更为方便的数据交互方式提升开发效率 待处理的数据量很大 数据量超过关系型数据库的承载能力 大集群的出现 在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出: 横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现:而对于扩展到多个服务器, DBMS先天不足:(DBMS不是设计给集群使用的) 对数据的访问效率要求高 NoSQL数据库的分类 键值数据…
内容目录: 为什么使用NoSQL数据库? 键值数据库 文档数据库 列族数据库 图数据库 附思维导图 参考 NoSQL系列:选择合适的数据库 为什么使用NoSQL数据库? 阻抗失衡 关系模型和内存中的数据结构不匹配 采用更为方便的数据交互方式提升开发效率 待处理的数据量很大 数据量超过关系型数据库的承载能力 大集群的出现 在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出: 横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现:而对于扩展到多个服务器, D…
一.特点 学习一个东西,至少首先得知道它能做什么?适合做什么?有什么优缺点吧? 传统关系型数据库,遵循三大范式.即原子性.唯一性.每列与主键直接关联性.但是后来人们慢慢发现,不要把这些数据分散到多个表.节点或实体中,将这些信息收集到一个非规范化(也就是文档)的结构中会更有意义.尽管两个或两个以上的文档有可能会彼此产生关联,但是通常来讲,文档是独立的实体.能够按照这种方式优化并处理文档的数据库,我们称之为文档数据库. 设计MongoDB的初衷就是用作分布式数据库. MongoDB 的优点: 1.性…
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用的MongoDB版本是2.6,因为2.6是我最熟悉的版本,而且我使用的GUI工具Robomongo目前还不支持3.0版本. 添加官方驱动 官方驱动可以从Nuget上获取,但是这里我们不使用最新的驱动,而是使用1.9.2这个版本,个人认为该版本对MongoDB2.6的支持最好,而且目前的下载量也是最多.驱动地址…
原文链接:https://www.entityframeworktutorial.net/code-first/cascade-delete-in-code-first.aspx EF 6 Code-First系列文章目录: 1 翻译系列:什么是Code First(EF 6 Code First 系列) 2.翻译系列:为EF Code-First设置开发环境(EF 6 Code-First系列) 3.翻译系列:EF Code-First 示例(EF 6 Code-First系列) 4.翻译系列…
1. 启动服务器 1.1 启动配置服务器 配置服务器是集群的大脑,保存着关于每个服务器包含哪些数据的所有元数据,因此,必须首先创建配置服务器. 由于资源限制,在同一机器上启动三个进程 # mkdir /home/mongo/cs1 # mkdir /home/mongo/cs2 # mkdir /home/mongo/cs3 # mongod --configsvr --replSet configRS --bind_ip localhost --port 27038 --dbpath /hom…
目前我正在进行MongoDB的双机热备方面相关的工作.根据我目前看到的MongoDB方面的材料,MongoDB的实际部署有三种方式,分别是“主动复制”,“副本集”以及“分片副本集”. 首先我们从最简单的开始,也就是先来做“主从备份”. 首先明确我只是测试,测试觉得不错会部署在我们的项目的服务器上面.介绍一下我的testbed,三个虚拟机,安装的都是ubuntu12.10的x86_64的服务器版操作系统.分别叫“MongoDBMaster”“MongoDBSlave1”“MongoDBSlave2…
在配置副本集之前,我们先来了解一些关于副本集的知识. 1,副本集的原理 副本集的原理与主从很相似,唯一不同的是,在主节点出现故障的时候,主从配置的从服务器不会自动的变为主服务器,而是要通过手动修改配置.但是副表集就不用,它会自动选出一台服务器做为主节点,从而保障系统的稳定性. 2,副本集新的主节点是怎么选举出来的呢 是通过bully算法来的,也就是一致性协议.具体如下 1):当主节点挂了后,副本集会获得其他从节点的最后更新时间与主服务做对比 2):如果所有从节点的最后更新时间都是很旧,那就选举停…