确定操作需求
确定要存储的数据的类型(结构化、半结构化或非结构化)后,下一步是确定如何使用该数据。 例如,在线零售商知道客户需要快速访问产品数据,商业用户需要运行复杂的分析查询。 研究这些需求并将数据分类考虑进去以后,即可开始计划数据存储解决方案。
在这里,你将回答一些可帮助你确定如何处理数据的问题。
操作和延迟
将针对每种数据类型完成哪些主要操作以及数据的性能要求是什么?
询问以下有关数据的问题:
- 是否使用 ID 字段进行简单查找?
- 是否需要在数据库中查询一个或多个字段?
- 预期运行多少创建、更新和删除操作?
- 是否需要运行复杂的分析查询?
- 处理这些操作需要多快?
这些问题的答案可帮助你确定数据的最佳存储解决方案。
操作和延迟:评估数据类型
让我们带着这些问题了解了解每个数据集并探讨相关需求。
产品目录数据
就在线零售方案中的产品目录数据来说,客户需求具有最高优先级。 客户需要查询产品目录以找到他们想要的物品或类别。 例如,客户可能会依次查询所有网球鞋、在售网球鞋和特定尺码的在售网球鞋。 客户需求可能需要许多读取操作,并且他们必须能够查询特定字段。
当客户下订单时,应用程序必须更新产品数量。 更新操作的执行速度必须与读取操作的速度一样快,这样才能避免出现用户在商品刚售罄后将该商品放入购物车的情况。应用程序不仅必须支持大量的读取操作,而且还需要增加产品目录数据的写入操作。 务必为数据库的所有用户确定优先级,而不仅仅是主要用户。
照片和视频
产品页面上显示的照片和视频有不同的要求。 它们需要进行快速检索,这样就能跟产品目录数据同时显示在站点上,但不需要进行独立查询。 你可以依赖产品查询的结果,将视频 ID 或 URL 作为产品数据的属性。 只需使用其 ID 即可检索照片和视频。
客户不会更新现有照片或视频,但可以为产品评论添加新照片。 例如,客户可能会上传一张他们穿着新鞋的照片。
作为员工,你还将上传和删除产品供应商提供的产品照片。 但是,这些更新不需要像其他产品数据更新那样迅速执行。
总之,你可以按 ID 查询照片和视频以返回整个文件。 但创建和更新操作的频率较低,且优先级较低。
业务数据
对于数据分析,公司仅使用历史数据。 无法根据分析对原始数据进行更新,因此业务数据为只读数据。 用户并不需要立即运行复杂分析,因此结果存在一定延迟也是可以接受的。
业务数据存储在多个数据集中。 并非所有业务分析师都需要对所有数据集的写权限,但所有业务分析师都可以从所有数据集读取数据。