首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MongoDB实战-分片概念和原理

到目前为止,你都是把MongoDB当做一台服务器在用,每个mongod实例都包含应用程序数据的完整副本。就算使用了复制,每个副本也都是完整克隆了其他副本的数据。对于大多数应用程序而言,在一台服务器上保存完整数据集是完全可以接受的。但随着数据量的增长,以及应用程序对读写吞吐量的要求越来越高,普通服务器渐渐显得捉襟见肘了。尤其是这些服务器可能无法分配足够的内存,或者没有足够的CPU核数来有效处理工作负荷。除此之外,随着数据量的增长,要在一块磁盘或者一组RAID阵列上保存和管理备份如此大规模的数据集也变得不太现实。如果还想继续使用普通硬件或者虚拟硬件来托管数据库,那么这对这类问题的解决方案就是将数据库分布到多台服务器上,这种方法称之为分片。

02

MongoDB——基本使用及集群搭建

MongoDB是一种支持多语言面向文档的NOSql数据库,它不支持事务操作(4.2版本开始支持跨文档分布式事务)。什么是面向文档?简单说就是使用类JSON的数据结构——BSON(Binary JSON)来存储数据。使用这种数据结构的好处显而易见,关联信息可以直接内嵌在同一个文档中,不必像关系型数据库那样还需要建立多张表,并建立外键关联,因此大大提升了我们写入数据的效率(前端传回的JSON数据可以直接存入,不必转换为对象),也能灵活的增减字段。如论坛文章,如果用关系型数据库存储,我们需要建立文章表和评论表等,而MongoDB直接存到一个文档里去就可以了,查询也非常方便。

01
领券