Aerospike:类似关系的东西
Aerospike: Something like relatation
我应该在纯 aerospike 中进行站点价格比较,然后:产品、组合产品(与某些主板相关的 cpu)和商店。 ù
产品要和店铺相关,比如一个产品关联三个店铺,每个店铺价格不一样。
Aerospike 可以帮助我吗?
我想我可能会制作关系箱,但我不知道这是否是解决问题的好主意?
您可以使用复杂类型列表和映射对多对一关系建模,否则这些关系将分布在单个 aerospike 集中的两个 table 上。因此,组合产品可以有一个 'components' bin,它是地图对象的列表,每个对象都是一个产品。或者您可以让 'components' 成为产品 ID 列表,然后根据列表中的 ID 批量读取这些产品。
但是,您也可以使用与 RDBMS 类似的方式为多对多关系建模,并带有交集 table。您没有 JOIN,但您可以执行单独的查询并依赖于 aerospike 键值和批处理操作比 RDBMS 快得多的事实。
例如,您可以有一个 store_products 交集 table,您可以在其中保留商店和产品的 ID。您在商店 ID 和产品 ID 上构建二级索引,这使您可以进行查询。如果您要查找所有销售某种产品的商店,您可以进行查询,然后从商店 table 中获取商店对象。如果您要查找商店中的所有产品,您可以使用 where store_id=x 进行查询,然后对这些产品进行批量读取。
我希望这能回答你的问题。
我应该在纯 aerospike 中进行站点价格比较,然后:产品、组合产品(与某些主板相关的 cpu)和商店。 ù 产品要和店铺相关,比如一个产品关联三个店铺,每个店铺价格不一样。
Aerospike 可以帮助我吗?
我想我可能会制作关系箱,但我不知道这是否是解决问题的好主意?
您可以使用复杂类型列表和映射对多对一关系建模,否则这些关系将分布在单个 aerospike 集中的两个 table 上。因此,组合产品可以有一个 'components' bin,它是地图对象的列表,每个对象都是一个产品。或者您可以让 'components' 成为产品 ID 列表,然后根据列表中的 ID 批量读取这些产品。
但是,您也可以使用与 RDBMS 类似的方式为多对多关系建模,并带有交集 table。您没有 JOIN,但您可以执行单独的查询并依赖于 aerospike 键值和批处理操作比 RDBMS 快得多的事实。
例如,您可以有一个 store_products 交集 table,您可以在其中保留商店和产品的 ID。您在商店 ID 和产品 ID 上构建二级索引,这使您可以进行查询。如果您要查找所有销售某种产品的商店,您可以进行查询,然后从商店 table 中获取商店对象。如果您要查找商店中的所有产品,您可以使用 where store_id=x 进行查询,然后对这些产品进行批量读取。
我希望这能回答你的问题。