[产品设计]电商设计知乎总结

2024-03-17 21:38

本文主要是介绍[产品设计]电商设计知乎总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

想做一个B2B2C的电商平台,在后台数据统计搭建的时候需要注意哪些问题?如何设计具体的统计模块?

 

王于萍:

我认为在建数据库前,需要设计好的,是需求和流程,有了这一步的需求,你就知道了在这里你需要什么数据;有了流程,你就知道了你能得到什么数据,甚至于数据类型。

比如供应商管理,你会得到供应商的公司地区、电话、类目等,在数据统计中,你可以对地区、类目统计,再根据C的对应需求推荐等

 

 

PalmWong

建议先从业务理解开始:

BBC平台,首先分成三个后台

商家门户+平台运营门户+买家个人门户

 

要做统计的部分同样是三块:

1、消费者个人视角出发:个人的消费统计

2、平台运营的视角出发:整个平台的运营情况统计,针对商家的运营情况统计

3、商家视角出发的统计

 

BBC商城其实是非常复杂的业务系统,因为角色和功能的变化,导致其中数据交互其实非常多。且对账、统计、权限管理异常情况很多。

 

不是看着天猫的模式,就闭着眼睛可以做的。

 

PHP+MySql 架构用户数和访问量为千万级别的类似淘宝商城那样的 B2C 网站,如何?

 

Dion

系统架构很重要!

 

语言:

主流语言都没什么问题。PHPJava什么的都行。

 

前端服务器:

如果有条件CDN,最好。没有的话,一定要保证前端的负载性能。一般推荐Nginx

 

应用服务器:

集群呗。前端负责负载均衡。集群的话,Session的问题注意下就行。别的没什么。

 

数据存储:

如果数据量比较大的话(百万级),用MySQL + Memcached做集群没问题。

如果数据量再大的话,考虑NoSQL吧。比如FacebookCassandraAmazonDynamo

 

socici

你可以简单点,从用户访问的数据角度看

静态文件,包括图片、HTM JScss 这些不经常变的数据。 单独给个域 http://static.xxxx.com nginx管理

通过前后台发布的动态数据,分以下几种:

读的数据:

1.需要用户查询的大数据,如订单之类的,可以去查slaver的数据库

2.系统公共页面显示的数据,如部分商品信息、排行榜之类的可以去缓存里取

写的数据:

要求即时生效的,如修改用户信息,直接同步写到master数据库

即时要求不高或者有并发限制的,如发微博、发私信之类的 先写到队列,异步读取保存到数据库

 

电商平台中商品规格设计的问题,抛出,求吐槽?

 

商品表(商品名称、价格、上下架等一些商品基本的信息)

例如:1 手机、100

规格表(主键、商品ID、规格名称

例如:1 1、运营商

商品规格值表(主键、规格ID、商品ID、规格值ID、规格值NAME

例如:1110、电信版

2111、移动版    

规格库存表(商品ID、规格值ID组合、规格值NAME组合、库存量、价格)

例如:11/0(运营商、电信版)、运营商/电信版、100个、100

 

问题描述:

 

以上方式可实现多规格多库存但是采用一种约定的规格顺序,感觉在编写程序时,系统在后期统计不同规格相关的数据就会很痛苦。

并且在实现商品创建时,要先把商品创建好后,才能创建规格,个人参考一些大的电商平台方式,发现都是一个提交完成商品创建。

 

需要的帮助:

 

需要结合我的问题描述,给一个合理的商品多规格、多价格、多库存的设计方案,来解决我编程上的复杂度,同时保证我可以在商品创建的交互设计中简单。

 

socici

商品分类 (类型id,类型名称,父ID

商品表(商品名称、价格、上下架等一些商品基本的信息、商品分类)

 

规格表(主键、规格名称

规格值表(规格值ID、规格id、规则值类型、规格默认值)

规格-分类关联表(商品分类id,规格id)

 

商品-规格关联表(商品id,规格id,规格值ID,规格实际值)

 

库存表(商品id,数量,价格)

 

类似淘宝关于产品详情页的数据库存储是怎么存储的呢?

 

1,每个产品的 图片数和介绍的段落数都是不固定的,是采用编辑器编辑好之后生成html整个存储到数据库么?不现实吧?

2. 要是以数据库字段存储到话,每个产品的 图片数和介绍的段落数是不固定的,就算设置一个上限,那也会浪费很多字段啊

3.在查询的时候,如果图片和介绍文字是分开存储的,那么在查询之后页面展示的时候是怎么 将某一图片和关于介绍他的问题相匹配的呢

 

刘传双:

总体来说

1、商品的结构化信息保存在数据库,名称、价格、库存、属性等,当然不是简单的一张表。

2、商品的非结构化信息保存成小文件,存储在自主开发的海量小文件系统中,图片和商品描述信息。

3、商品的图片文件id需要存储在数据库或者其他类型的存储的,不一定非要多个字段,这是水平方式,一般把商品的一个图片存储为一条记录,纵向扩展。

4、文档在存储之前,先保存图片,并把文档中<img>的图片src地址替换为小文件系统中的图片路径,就可以了

 

补充一句,不能把存储理解成只有数据库和文件系统,存储有各种类型的,不同的文件系统、各种RDBMSNoSql存储……

 

子柳:

其实几位同事已经回答了,我再从历史的角度做个补充

最早这个字段确实是放在数据库里面的,是一个clob字段,存放的就是html的片段。而且当时这个字段跟商品的标题、价格、卖家ID等等是在一个表里面的,性能会受到多大影响是可以想象的。

所以这种方式是注定长久不了的,我在2005年,把这个字段单独分离出来一张表来存放了,这没多少技术含量,当时却给数据库减轻了很大压力,DBA们很感谢我。

2006年以后,淘宝开始大规模的采用缓存,这个字段也放进了缓存里面,于是这又给数据库减轻了很大压力(只有不在缓存里的数据,才去数据库里面读取,读出来就放入缓存了)。

到了2007年,淘宝开发了分布式文件存储系统TFS,于是就彻底的把这个字段请出了数据库,一同请出的还有交易快照这样的大字段信息。

 

这篇关于[产品设计]电商设计知乎总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/820247

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel