廊坊网站建设_吉林网站建设_购物网站建设_中小企业网站建设

商业网站建设案例课程

网站制作东莞、网站建设维护、永久使用、不限域名、济南网站设计

做网站企业?

廊坊网站建设_吉林网站建设_购物网站建设_中小企业网站建设

  第二个方面是数据库的读操作,第三个方面是数据库的写操作,虽然把读和写分成两个方面,但是这两个方面在我们做垂直拆分时候要结合起来考虑。首先我们要分析下数据库的写操作,单独的写操作效率都是很高的,不管我们的写是单条记录的写操作,还是批量的写操作,这些写操作的数据量就是我们要去写的数据的大小,因此控制写的数据量的大小是一件很容易很天然的操作,所以这些操作不会造成数据库太大负担,详细点的话,对于数据库而言,新增操作无非是在原来数据后面追加些记录,而修改操作或者删除操作一般都是通过建立了高效索引的字段来定位数据后再进行的操作,因此它的性能也是非常高的。而读操作看起来比写操作简单(例如:读操作不存在像事务这些乌七八糟因素的干扰),但是当读操作面对海量数据时候就严重挑战着数据库和硬盘的极限能力,因此读操作很容易产生瓶颈问题,而且这个瓶颈不管问题表是否读写失衡都会面临的。前文里我详细列举了一个交易表设计的案例,其中我们可以看到数据库垂直拆分在实际应用里的运用,在例子里我们首先根据业务特点将交易表分成了实时交易表和历史交易表,这个做法其实就是将原交易表的读和写进行分离,但是这种分离和纯粹的读写分离相比会更加有深意,这个深意就是拆分实时和历史交易表也就是在分拆原表的读写操作的关联性,换句话说,如果我们不这么做的话,那么交易表的每次写和每次读几乎等价,这样我们没法单独解决读的性能问题,分出了历史交易表后我们再对历史交易表来做读的优化,那么这也不会影响到写操作,这样把问题的复杂度给降低了。在案例里我们对历史交易表进行了业务级别的水平拆分,但是这个拆分是以如何提升读的效率进行的,因此前文讲到的水平拆分里主键设计方案基本上派不上用场,因为这两种水平拆分的出发点是不同的,那么使用的手段和达到效果也将不一样。

学校网站模板南京网站建设做网站公司医院网站建设网站建设软件合肥网站建设南充网站建设app开发软件高端网站建设公司app开发软件寿光网站建设c2c网站建设东莞营销型网站建设信阳网站建设仙桃网站建设小程序定制开发佛山小程序开发东莞网站建设企业网站制作北京微信小程序开发杭州网站建设太原网站制作成都微信功能开发西安企业网站建设南宁网站建设安康网站建设公司网站建设方案北京微信小程序开发企业设计网站公司肇庆网站建设随州网站建设

猜你喜欢