随笔分类 -  数据库

摘要:分表是分散数据库压力的好方法。 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库。 当然,首先要知道什么情况下,才需要分表。个人觉得单表记录条数达到百万到千万级别时就要使用分表了。 1,分表的分类 1>纵向分表 将本来可以在同一个表的内容,人为划分为多个表。 阅读全文
posted @ 2017-01-05 10:26 爱畔畔真是太好了 阅读(1886) 评论(0) 推荐(0)
摘要:单库单表 单库单表是最常见的数据库设计,例如,有一张用户(user)表放在数据库db中,所有的用户都可以在db库中的user表中查到。 单库多表 随着用户数量的增加,user表的数据量会越来越大,当数据量达到一定程度的时候对user表的查询会渐渐的变慢,从而影响整个DB的性能。如果使用mysql, 阅读全文
posted @ 2017-01-05 10:25 爱畔畔真是太好了 阅读(258) 评论(0) 推荐(0)
摘要:第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。 水平切分数据库:可以降 阅读全文
posted @ 2017-01-04 17:31 爱畔畔真是太好了 阅读(362) 评论(0) 推荐(0)
摘要:第一部分:实施策略 数据库分库分表(sharding)实施策略图解 1. 垂直切分垂直切分的依据原则是:将业务紧密,表间关联密切的表划分在一起,例如同一模块的表。结合已经准备好的数据库ER图或领域模型图,仿照活动图中的泳道概念,一个泳道代表一个shard,把所有表格划分到不同的泳道中。 2. 水平切 阅读全文
posted @ 2017-01-04 17:27 爱畔畔真是太好了 阅读(3882) 评论(0) 推荐(0)
摘要:一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但 阅读全文
posted @ 2017-01-04 14:50 爱畔畔真是太好了 阅读(242) 评论(0) 推荐(0)
摘要:数据库为什么要分库分表 基本思想之为什么要分库分表?数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO 阅读全文
posted @ 2016-12-28 17:11 爱畔畔真是太好了 阅读(191) 评论(0) 推荐(0)