如何来合理解决电商系统数据承载过大的问题呢?

原文地址:http://whosmall.com/?post=431

初创企业在发展过程中,一般不会遇到类似问题,但是随着业务量的增加,特别是电商系统,由于每日的订单数量过多,导致数据库的承载量过大,更换服务器的成本很大,所以如何来合理解决电商系统数据承载过大的问题呢?

1、从初始阶段,这应该是属于系统架构师应该考虑进去的事情,所以这项工作应该由架构师来完成;

2、如果没有合理的架构,那么在需要解决这个问题的时候,可以通过数据库分库,分表、切片的方式来进行。(再次强调这是个技术问题,产品不背锅)

数据库为什么要分库分表

顾名思义,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。

在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。

分库分表一般有垂直切分和水平切分两种方法

1、垂直切分,即将表按照功能模块、关系密切程度划分出来,部署到不同的库上。例如,我们会建立定义数据库workDB、商品数据库payDB、用户数据库userDB、日志数据库logDB等,分别用于存储项目数据定义表、商品定义表、用户数据表、日志数据表等。

2、水平切分,当一个表中的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同的库上。例如,我们的userDB中的用户数据表中,每一个表的数据量都很大,就可以把userDB切分为结构相同的多个userDB:part0DB、part1DB等,再将userDB上的用户数据表userTable,切分为很多userTable:userTable0、userTable1等,然后将这些表按照一定的规则存储到多个userDB上。

如何合理选择切分的方式,应该通过具体业务类型进行考虑。

如果数据库是因为表太多而造成海量数据,并且项目的各项业务逻辑划分清晰、低耦合,那么规则简单明了、容易实施的垂直切分必是首选。

而如果数据库中的表并不多,但单表的数据量很大、或数据热度很高,这种情况之下就应该选择水平切分,水平切分比垂直切分要复杂一些,它将原本逻辑上属于一体的数据进行了物理分割,除了在分割时要对分割的粒度做好评估,考虑数据平均和负载平均,后期也将对项目人员及应用程序产生额外的数据管理负担。

写在最后:FOR Freedom 看看外边的世界,以及IT这一行,少不了去Google查资料,最后,安利一些速器代理。

加速器推荐 免费方案 付费方案 官方网站
一枝红杏加速器 免费方案暂无,稳定高速 输入8折优惠码wh80,年付只需80元/年 官网直达
安云加速器 最好用的外贸VPN 最低¥30/月 官网直达
LoCo加速器 每天免费2小时 最低¥15/月 官网直达

本文标签: 电商系统 数据承载

转自 SUN‘S BLOG - 专注互联网知识,分享互联网精神!

原文地址 如何解决电商系统数据承载过大?

相关阅读Chrome 扩展 Stylish :给不喜欢某个网站一键「换肤」

相关阅读将 QQ 音乐、网易云音乐和虾米音乐资源「整合」一起的Chrome 扩展Listen 1

相关阅读8 个「新标签页」Chrome 扩展: 教你把 New Tab 页面玩的溜溜溜

相关阅读7 款实用 Chrome 扩展推荐:帮你提升 Chrome 使用体验

相关阅读无扩展就不是 Chrome 了:15 款优质的Chrome 扩展推荐给大家

相关阅读12 款不能少的使网页浏览获得的最佳体验Chrome 扩展

相关阅读5 款可以带来幸福感的 Chrome 扩展

相关阅读 关于 Android 中的 Palette 类的使用案例:色彩自适应的 Toolbar

相关阅读:GIT能做什么、它和SVN在深层次上究竟有什么不同

相关阅读:分享一些对开发者最有用的、用户友好和功能丰富的Google Chrome扩展工具

相关阅读:分享一些实际Android开发过程中很多相见恨晚的工具或网站

相关阅读:我是 G 粉,一直关注 Google,最近 Google 有一些小动作,可能很多人不太了解

相关阅读:机器学习引领认知领域的技术创新,那么SaaS行业会被机器学习如何改变?

相关阅读:VPS 教程系列:Dnsmasq + DNSCrypt + SNI Proxy 顺畅访问 Google 配置教程

相关阅读: 最有用:2017最新能上Google、Facebook的方法

相关BLOG:SUN’S BLOG - 专注互联网知识,分享互联网精神!去看看:www.whosmall.com

原文地址:http://whosmall.com/?post=431

时间: 2024-10-21 18:43:55

如何来合理解决电商系统数据承载过大的问题呢?的相关文章

直播电商系统源码两大重要模块讲解

一对一直播源码的火热程度,相信不用小编说大家都应该有所耳闻,不少的开发者也希望有一套属于自己的直播源码. 今天这篇文章主要是为大家讲解一下有关一对一直播源码开发系统语言和媒体处理模块这两方面的内容. 首先是系统开发语言 一对一直播源码后台PHP语言 Android是Java语言 IOS是 obje-ctive-c. 直播系统前端APP是分成安卓端和苹果端.后端是PC端,控制前端的(说的接口和后台).APP是原生开发的. PHP 视频互动系统由 WEB 系统.REDIS 服务.MYSQL 服务.视

品众微信平台电商系统操作指南

品众微信平台电商系统操作指南一.系统入口:在"品众网"微信公众号(gzpinzhongwang)中新增栏目--我要开店. 二.系统功能和优势:(一)系统功能展示:在品众微信平台直销系统的个人账户管理里,我们为您提供完善的平台账户管理操作系统.账户系统界面由订单管理.销售管理.我的收入以及我的维权四大模块构成,为您解决售前.售后的一切难题.主要为:1.订单管理:该界面能够全程监控您店铺的所有订单,对待处理.未付款以及已发货的订单进行实时监控,让您轻轻点开便能对店铺的各类订单一目了然,随时

互联网电商系统数据库分库本表带来问题

随着互联网电商系统订单量爆发式增长,原有一个库一个订单表无法满足公司业务,需要重新考虑记录订单数据问题. 现在公司订单数据情况: 前端一套订单库放在IDC机房(通过VPN连接到公司局域网服务器) 后端两套订单库(放在公司机房),一套是写的库,一套是只读数据库,两套库以写的库为主库进行同步到从库只读库 现有订单库包含:订单及订单相关的表:优惠券表,促销表,商品表,地区等基础数据表,财务表,仓库系统表,运输物流系统,表用户系统表 1.简单办法:初步讨论需要对订单历史数据进行归档 2.最终办法:实现订

幂等和高并发在电商系统中的使用

在Java web项目开发中,经常会听到在做订单系统中生成订单的时候,要做幂等性控制和并发控制,特对此部分内容作出总结,在高并发场景下,代码层面需要实现并发控制:但是幂等性,其实更多的是系统的接口对外的一种承诺,承诺一次请求和多次请求会返回同样的数据.关于幂等性将分别从高等代数中的幂等性.HTTP中的幂等性和订单生成系统中的幂等性阐述:并发性控制则提供了分布式锁等方式来对并发场景进行代码实现. 一.幂等性 idempotence  ['a?d?mpo?t?ns] 1.高等代数中关于幂等idemp

属性 每秒10万吞吐 并发 架构 设计 58最核心的帖子中心服务IMC 类目服务 入口层是Java研发的,聚合层与检索层都是C语言研发的 电商系统里的SKU扩展服务

小结: 1. 海量异构数据的存储问题 如何将不同品类,异构的数据统一存储起来呢? (1)全品类通用属性统一存储: (2)单品类特有属性,品类类型与通用属性json来进行存储: 2. 入口层是Java研发的,聚合层与检索层都是C语言研发的 3. (1)数据库提供“帖子id”的正排查询需求: (2)所有非“帖子id”的个性化检索需求,统一走外置索引: 4. 定期全量重建索引 5. 为应对100亿级别数据量.几十万级别的吞吐量,业务线各种复杂的复杂检索查询,扩展性是设计重点: (1)统一的代理层,作为

程序员如何开发独立电商系统?

当社会发展进入"互联网+"时代,传统的PC电商已经不能满足电商运营者的需求,打造独立的移动电商系统是必然的趋势. 随着移动电商热度的不断增加,许多的商家是开始慢慢的加入到移动电商的行列当中,那么你们知道设计开发移动电商系统的吗?延誉电商为您答疑解惑! 1.规划阶段 前规划阶段的主要任务是进行建立数据库的必要性及可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系.规划工作完成后应写出详尽的可行性分析报告和数据库系统规划纲要.可行性分析报告的主要内容包括信息范围

电商系统架构——系统鸟瞰图

在看到图(一)这样的图,我们是否有一种探究系统的冲动?这样一个花花绿绿的界面,背后隐藏着什么样的奥秘!用户输入某个域名的时候,比如www.taobao.com的时候,页面是如何展示的,用户在搜索框搜宝贝的时候,系统又是如何处理的,用户在参加秒杀活动的时候,系统又是如何处理的.经过两年多的互联网从业经验,以及自己的思考,在这里我就抛砖引玉对电商系统架构进行探究,探究系统是如何设计的,以及设计这个系统的各种权衡. 图(一) 隐藏在花花绿绿的界面之后,是一个庞大复杂的系统,图(二)是这个系统的鸟瞰图.

“大型票务系统”和“实物电商系统”的数据库选型

讨论请移步至:http://www.zhiliaotech.com/ideajam/idea/detail/423 相关文章: <今天你买到票了吗?--从铁道部12306.cn站点漫谈电子商务站点的"海量事务快速处理"系统> 不能简单套用"实物电商系统"对"大型票务系统"做需求分析 "大型票务系统"和"实物电商系统"在不能提供商品(服务)时给消费者带来的影响有巨大差异 "大型票务系统&

电商系统中的商品模型的分析与设计&mdash;续

前言     在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介绍. 从SPU.SKU开始     首先我们需要澄清上篇中的这两个概念,在上篇文章中"货品"是指一种概念物品,这种物品并不是一个具体的实物,当它具备具体的属性.价格时,才是一种实物,也就是商品."商品"就是库存中一个具体的实物.例如:iphone6,就是一种货品,但用户