239
社区成员




这个作业属于哪个课程 | FZU_SE_teacherW_4 |
---|---|
这个作业要求在哪里 | 团队作业 概要设计和数据库设计 |
团队名称 | fulifuli |
其他参考文献 | fulifuli团队作业 概要设计和数据库设计 、Gorse 在不同数据库后端的性能对比 |
A1:Gorse是基于MySQL进行对数据流的分析,比如说对相似视频进行访问的相似用户,其用处更倾向于这种分析,对我们项目中的推荐视频功能起到很大的作用,节约了我们开发推荐算法的时间成本。
A2:真正的实际业务逻辑不只有一个,每个交互流程都有其特定的逻辑。比如“用户模块——用户注册”有其特定的注册新用户的处理逻辑。
A3:项目中Gorse推荐的实现流程:
首先,把用户访问的数据储存在数据库中。
然后,Gorse再将数据库中的存放数据进行分析。
最后,Gorse再将推荐的视频列表返回。
这样的推荐列表其实并没有必要放在数据库中。
A4:Gorse采用的推荐算法非常的快,并不会给用户等很久。下面是Gorse不同数据库后端的性能表现,在这个表格中可以看到响应速度非常的快,按照我们需求在“获取100条基于相似物品推荐”这个反应速度也是在 0到20毫秒左右,并不会影响用户的使用体验。
基准测试结果如下(以毫秒为单位):
数据库选型[^1] | |||||||
---|---|---|---|---|---|---|---|
插入用户信息 | 1.39 | 2.60 | 1.33 | 0.45 | 17.97 | 4.03 | 0.41 |
修改用户信息 | 1.43 | 0.67 | 10.56 | 0.44 | 19.55 | 4.49 | 0.41 |
获取用户信息 | 0.28 | 0.28 | 2.21 | 0.30 | 0.30 | 0.30 | 0.20 |
批量插入10条用户信息 | 1.48 | 2.21 | 1.47 | 1.00 | 21.59 | 4.51 | 0.92 |
批量插入100条用户信息 | 2.26 | 3.85 | 2.48 | 5.01 | 17.97 | 7.52 | 4.95 |
批量插入1000条用户信息 | 17.55 | 18.97 | 9.41 | 51.13 | 52.84 | 40.60 | 46.63 |
批量获取10条用户信息 | 0.42 | 0.34 | 2.72 | 0.37 | 0.44 | 0.35 | 0.27 |
批量获取100条用户信息 | 0.81 | 0.61 | 3.02 | 0.83 | 0.90 | 0.69 | 0.63 |
批量获取1000条用户信息 | 3.57 | 2.89 | 6.28 | 5.20 | 4.81 | 10.23 | 3.85 |
删除用户信息 | 11.76 | 2.26 | 31.15 | 0.45 | 12.27 | 2.40 | 0.37 |
插入物品信息 | 13.30 | 2.64 | 4.61 | 0.89 | 38.12 | 8.70 | 1.22 |
修改物品信息 | 12.47 | 3.18 | 24.69 | 1.30 | 41.50 | 9.47 | 1.80 |
获取物品信息 | 0.29 | 0.30 | 3.15 | 0.21 | 0.37 | 0.37 | 0.26 |
批量插入10条物品信息 | 10.72 | 2.98 | 5.02 | 1.09 | 18.32 | 7.57 | 2.70 |
批量插入100条物品信息 | 11.42 | 5.19 | 6.83 | 4.50 | 46.67 | 15.04 | 13.01 |
批量插入1000条物品信息 | 38.76 | 29.40 | 20.56 | 39.57 | 454.27 | 91.44 | 101.66 |
批量获取10条物品信息 | 0.39 | 0.40 | 3.64 | 0.32 | 0.49 | 0.48 | 0.31 |
批量获取100条物品信息 | 0.92 | 0.95 | 4.10 | 0.85 | 1.22 | 1.15 | 0.87 |
批量获取1000条物品信息 | 5.84 | 13.93 | 10.57 | 6.65 | 7.71 | 5.85 | 6.42 |
删除物品信息 | 10.42 | 3.39 | 27.15 | 1.06 | 25.00 | 6.15 | 1.73 |
插入物品类别 | 11.23 | 2.34 | 4.81 | 0.57 | 21.02 | 4.92 | 0.71 |
删除物品类别 | 0.65 | 2.47 | 4.78 | 0.60 | 1.03 | 2.87 | 0.64 |
批量插入10条反馈(覆盖写) | 10.09 | 3.08 | 5.67 | 2.28 | 31.26 | 8.33 | 2.65 |
批量插入100条反馈(覆盖写) | 16.62 | 8.59 | 8.19 | 14.43 | 53.50 | 20.48 | 17.79 |
批量插入1000条反馈(覆盖写) | 56.39 | 57.64 | 21.36 | 105.29 | 185.60 | 102.84 | 148.21 |
批量插入10条反馈 | 11.25 | 3.62 | 4.68 | 1.93 | 32.90 | 7.96 | 2.63 |
批量插入100条反馈 | 15.03 | 8.54 | 7.50 | 11.43 | 56.50 | 16.54 | 17.32 |
批量插入1000条反馈 | 62.52 | 58.02 | 23.98 | 103.05 | 152.69 | 121.93 | 153.70 |
批量获取10条反馈 | 0.35 | 0.49 | 3.19 | 0.29 | 0.43 | 0.45 | 0.28 |
批量获取100条反馈 | 0.63 | 0.88 | 3.56 | 0.70 | 0.85 | 0.82 | 0.70 |
批量获取1000条反馈 | 3.11 | 2.98 | 9.79 | 4.56 | 4.26 | 2.97 | 4.78 |
获取用户项目反馈 | 0.31 | 0.33 | 2.63 | 0.23 | 0.39 | 0.37 | 0.23 |
删除用户项反馈 | 10.10 | 2.00 | 12.80 | 0.24 | 10.93 | 2.25 | 0.28 |
获取用户反馈 | 0.32 | 0.31 | 2.68 | 0.26 | 0.38 | 0.34 | 0.23 |
获取物品反馈 | 0.31 | 0.31 | 2.50 | 0.22 | 0.38 | 0.35 | 0.22 |
获取10条推荐缓存 | 0.26 | 0.29 | 0.31 | 0.27 | 0.68 | 0.63 | 0.44 |
获取100条推荐缓存 | 0.50 | 0.48 | 0.60 | 0.49 | 3.05 | 1.30 | 1.25 |
获取1000条推荐缓存 | 2.48 | 2.48 | 3.20 | 2.67 | 119.33 | 13.80 | 8.25 |
获取10条离线推荐 | 0.35 | 0.38 | 0.39 | 0.34 | 0.93 | 0.76 | 0.58 |
获取100条离线推荐 | 0.59 | 0.60 | 0.73 | 0.58 | 1.98 | 1.49 | 1.43 |
获取1000条离线推荐 | 2.83 | 2.84 | 3.73 | 2.87 | 14.69 | 5.11 | 7.89 |
获取10条最新推荐 | 0.69 | 0.71 | 3.20 | 0.61 | 1.47 | 1.23 | 0.91 |
获取100条最新推荐 | 1.04 | 0.93 | 3.89 | 1.13 | 2.82 | 1.69 | 2.21 |
获取1000条最新推荐 | 4.61 | 3.53 | 10.45 | 5.14 | 20.44 | 5.45 | 9.37 |
获取10条基于相似物品推荐 | 2.21 | 2.21 | 5.86 | 1.94 | 6.75 | 5.10 | 3.79 |
获取100条基于相似物品推荐 | 4.35 | 3.86 | 9.75 | 3.87 | 21.53 | 10.08 | 10.81 |
获取1000条基于相似物品推荐 | 23.65 | 21.59 | 36.04 | 22.25 | 183.78 | 57.02 | 59.73 |
A5:这是一个在GitHub上的开源的作图工具,叫excalidraw,链接就放在下面。
excalidraw