Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Aerospike:有点像Relation_Database_Relational_Aerospike - Fatal编程技术网

Database Aerospike:有点像Relation

Database Aerospike:有点像Relation,database,relational,aerospike,Database,Relational,Aerospike,我应该在纯aerospike中做一个站点价格比较,然后:产品、组合产品(与某些主板相关的cpu)和商店。ù 产品应与商店相关,例如,一个产品与三个商店相关,每个商店有不同的价格 Aerospike可以帮我吗 我想我可以制作关系箱,但我不知道这是否是解决问题的好主意?您可以建模多对一关系,否则将使用复杂类型列表和映射分布在单个aerospike集中的两个表上。因此,组合产品可以有一个“组件”箱,它是一个地图对象列表,每个对象都是一个产品。或者,您可以让“组件”成为产品ID列表,然后根据列表中的ID

我应该在纯aerospike中做一个站点价格比较,然后:产品、组合产品(与某些主板相关的cpu)和商店。ù 产品应与商店相关,例如,一个产品与三个商店相关,每个商店有不同的价格

Aerospike可以帮我吗


我想我可以制作关系箱,但我不知道这是否是解决问题的好主意?

您可以建模多对一关系,否则将使用复杂类型列表和映射分布在单个aerospike集中的两个表上。因此,组合产品可以有一个“组件”箱,它是一个地图对象列表,每个对象都是一个产品。或者,您可以让“组件”成为产品ID列表,然后根据列表中的ID批量读取这些产品

但是,您也可以用与RDBMS类似的方式,使用交集表对多对多关系进行建模。您没有JOIN,但您可以执行单独的查询,并依赖于aerospike键值和批处理操作比RDBMS快得多的事实

例如,您可以有一个store_products交叉表,您可以在其中保存商店和产品的ID。您可以在商店ID和产品ID上建立一个二级索引,这允许您进行查询。如果要查找带有特定产品的所有门店,请执行查询,然后从门店表中获取门店对象。如果要查找某个商店中的所有产品,请使用where store_id=x查询,然后批量读取这些产品


我希望这能回答你的问题。

我想请你帮个忙,你能给我举个golang的例子让我更好地理解吗?我试过了,但aerospike中的一些内容不幸我无法理解:(你可以在Go论坛()上问这个问题,或者查看GitHub()上的文档或我们网站()上的Go客户端手册。可能重复