第一部分
大家好,我是一名就读于数据科学与大数据技术的一名大四学生,由于需要模拟实现大量数据分布式存储功能,一般的个人电脑无法满足业务需求。在老师的建议下,使用云服务器可完整的进行整个实验过程。首先就选择的阿里云服务器选项。并且同学们都向我推荐 “飞天加速计划·高校学生在家实践”活动。所以本次使用阿里云ECS完成实验。
首先,通过测试和学习拥有ECS的使用权限,十五天内可依据自己的需求搭建所需要的环境,ECS的性能十分良好,程序运行时,不会出现卡顿等情况。传统使用的虚拟机需要耗费大量的内存空间,并且时常出现死机现象,与物理机内存大大相关,ECS则在网页上运行,与个人物理机内存消耗较小,方便使用。操作较为简单,并且提供了与个人物理机良好的交互,不在使用第三方工具连接。
本次实验体验使我收获颇丰, 通过“飞天加速计划·高校学生在家实践”活动“活动,进一步体验了云服务带来的好处,突破了原始实验操作的界限,丰富了我的知识见识。并且提高了对数据操作实验的操作技能,为以后的学习积累了丰富经验。
成果展示
启动docker服务后,使用docker ps可以验证使用dacker工具在 MongDB数据库上大按键容器的情况。如图3-1,看到每个容器的专属ID,MongoDB版本信息,容器的创建时间,运行状态,容器NAME等信息.意味着每个容器搭建成功。
MongDB数据库负载均衡验证
为验证 MongDB数据库负载均衡情况,避免原有数据造成均衡情况判断分析。处理方法为新建一个test数据库。首先查询test数据库里每个集群服务器里的存储数据,如图3-2,图3-3可以看出每个rs_shardsvr显示的objects均为0,由此可见数据库存储数据为空。
图rs_shardsvr1存储数据图
![(NNI5J]L{CU7396G2N51Y8J.png](https://ucc.alicdn.com/pic/developer-ecology/9a39e95f5de14dfdb4d48c3fce8bc267.png)
rs_shardsvr 2、 rs_shardsvr 3存储数据图
然后向test数据库中插入50万条数据,从每个rs_shardsvr存储的数据验证MongoDB数据库的负载均衡能力。由图3-2-3与图3-2-4可知,插入50万行数据时, 耗时3045736微秒、50.7622667 分钟;rs_shardsvr1存储了166736数据,rs_shardsvr2存储了166280条数据,rs_shardsvr3存储了166984条数据。由此可见数据库对操作存入的数据进行分布存储,几位讲数据分片处理,实现了分布式分而置之的思想。并且从分布情况可看出,每个rs_shardsvr存储数据量比较接近,实现了将数据均衡负载。
数据在rs_shardsvr3上的存储情况
![7{Y~]36WPWDO~568)}EEI7D.png](https://ucc.alicdn.com/pic/developer-ecology/6fd25313dbbb4f5a86b5f94c7bd2ab15.png)