Aerospike中特殊电子商务网站的数据build模

你好,我刚开始使用Aerospike,所以我需要一些细节,我的电子商务平台的良好的数据模型,我无法为Aerospikedevise一个完美的数据模型。

以下是我的电子商务平台的一些基本要求:

1.>用户设置(用于login和注册用户的基本信息)

2.>产品组合(用于存储产品信息,如名称和图像以及选项和颜色选项等)

3.>订单集(跟踪用户订单的logging)

数据库所需的特殊Set的复杂要求如下:

1.对于每个产品,用户将会购买一个分享码,用户可以与他/她的朋友和家人分享以获得未来的利益。

2.用户使用某人的共享代码购买产品时,该用户购买“xyz”产品的详细信息必须转让给共享代码的所有者,同时也为该用户创build一个共享代码,她可以与他/她的朋友分享。

3.用户还必须能够知道有多less人分享他/她的代码,以及从第一级用户的共享代码的共享代码中购买产品的用户。

  1. 所以我想保留当前用户以下的用户2级的logging。

看起来你正在试图build立一个多层次的市场营销订单pipe理系统。

用户和产品是直接的。 loggingTTL =永远活着,永远不会删除所有集合。 user_info,product_info可能会被更新。

为了简单起见,每个产品的购买只是一个product_id。 由PK我的意思是logging的主键。

User Set: {PK:user_id, user_info:{.....}} Product Set: {PK:product_id, product_info:{.....}} Order Set: { PK: order_id, order_details:{buyer:user_id, item:product_id, qty:..., share_code: "order_id:xyz", parent_code:"parent_order_id:abc" }, level1_orders:[List of order_ids], level2_orders:[List of order_ids] } 

share_code是包含order_id:some_code的复合string。 对于第一组订单(0级订单),parent_code可能为零。

考虑order_id = 213,共享代码:“213:abc”,parent_code:“112:pqr”

如果任何用户使用共享代码“213:abc”购买,并且该1级购买order_id是310,则在{PK:310,… share_code:“310:cde”,parent_code:“213:abc “,…}然后更新order_id = 213-到它的level1_orders列表,附加310 order_id。如果order213有一个父代码,在这种情况下,它是”112:pqr“也在其Level2顺序列表中通过附加更新order_id 112这个order_id,310就可以了。

现在你有了你所需要的所有信息。

注意:这是一个多logging更新模型。 如果客户中途失败或其他不好的事情发生,请注意潜在的不一致。 有先进的技术来解决这种情况。

不过,这对你来说可能是一个很好的起点。 让我知道这是否有帮助。 如果它与你想要的不同(你的第三部分对我来说不是很清楚),你可能需要修改模型,但突出显示的技术可能会有所帮助。