分布式存储
2016-04-03 15:49
204 查看
单台计算机的存储和硬件是有限制的,可以利用多台机器的硬盘来存储数据,可以利用多台计算机的cpu或其他的一些硬件资源去读写数据,这样就可以提升一些性能。
分片分布式存储:
分片是指将数据才分,将其分散存储在不同的机器上的过程。有事也用分区来表示这个概念。将数据分散到不同的机器上,不需要概念强大的大型计算机可以存储更多的数据,处理更多的负载。
MongoDB分片的基本思想就是将集合拆分成小块,这些小块分散在若干片里面,内个片负责总数据的一部分,应用程序不必知道那片对于那些数据,甚至不需要知道数据已经被拆分,所以在分片之前要运行一个路由进程,该进程名是mongos,这个路由器知道所有数据的存放位置,所有应用可以连接它正常发送请求,对应用来说,它仅知道连接了一个普通的mongod。路由器知道数据和片的对应关系,能够转发请求到正确的片上。如果请求有了回应,路由器将其收集起来会送给应用。
在客户端连接mongos,并且初始化:
db.runCommand({"addshard":"ip1:4444",allowlocal:true}).{"shardAdded":"shard0000","ok":1}
db.runCommand({"addshard":"ip1:5555",allowlocal:true}).{"shardAdded":"shard0001","ok":1}
db.runCommand({"addshard":"ip1:6666",allowlocal:true}).{"shardAdded":"shard0002","ok":1}
allowlocal:true:可以直接连接到分片节点上来
开启数据库分片功能,命令很简单enablesharding()
db.runCommand({"enablesharding":" 数据库名称"});
指定片键,进行拆分:
db.runCommand({“shardcollection":"数据库名称.集合名称","key":{age:1}});
分片分布式存储:
分片是指将数据才分,将其分散存储在不同的机器上的过程。有事也用分区来表示这个概念。将数据分散到不同的机器上,不需要概念强大的大型计算机可以存储更多的数据,处理更多的负载。
MongoDB分片的基本思想就是将集合拆分成小块,这些小块分散在若干片里面,内个片负责总数据的一部分,应用程序不必知道那片对于那些数据,甚至不需要知道数据已经被拆分,所以在分片之前要运行一个路由进程,该进程名是mongos,这个路由器知道所有数据的存放位置,所有应用可以连接它正常发送请求,对应用来说,它仅知道连接了一个普通的mongod。路由器知道数据和片的对应关系,能够转发请求到正确的片上。如果请求有了回应,路由器将其收集起来会送给应用。
在客户端连接mongos,并且初始化:
db.runCommand({"addshard":"ip1:4444",allowlocal:true}).{"shardAdded":"shard0000","ok":1}
db.runCommand({"addshard":"ip1:5555",allowlocal:true}).{"shardAdded":"shard0001","ok":1}
db.runCommand({"addshard":"ip1:6666",allowlocal:true}).{"shardAdded":"shard0002","ok":1}
allowlocal:true:可以直接连接到分片节点上来
开启数据库分片功能,命令很简单enablesharding()
db.runCommand({"enablesharding":" 数据库名称"});
指定片键,进行拆分:
db.runCommand({“shardcollection":"数据库名称.集合名称","key":{age:1}});
相关文章推荐
- oracle ocp 学习day3总结(sql基础)
- 开放封闭原则在OC中的实现办法
- Struts2入门了解1
- 副本集
- 【汇编】三种方法实现装填中断子程序地址的代码
- js javascript:void(0) 真正含义
- 主从复制-集群
- codeforces 609D D. Gadgets for dollars and pounds(二分+贪心)
- 休假
- hikariCP连接池
- C++矩阵运算库
- 固定集合
- lintcode:二叉树的所有路径
- Xamarin studio for android 与 vs2013 配置android 环境
- Linux Barrier I/O 实现分析与barrier内存屏蔽 总结
- 安全和权限
- 数据分区
- 【汇编】从键盘输入字符串并输出该字符串(汇编程序)
- oracle ocp 学习day2总结(sql基础)
- Oracle数据库学习之安装SQL Developer on Mac