Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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
Java Aerospike数据库设计_Java_Aerospike_Database_Nosql - Fatal编程技术网

Java Aerospike数据库设计

Java Aerospike数据库设计,java,aerospike,database,nosql,Java,Aerospike,Database,Nosql,我想建立aerospike数据库,该数据库将包含以下结构: scheme = { "name": "name", "version": "version", "fields": [ { "name": "clicks", "total_count": 67238882342, ... } ] } 方案名称和方案字段属于不同的级别。但aerospike不支持联

我想建立aerospike数据库,该数据库将包含以下结构:

scheme = {
    "name": "name",
    "version": "version", 
    "fields": [
        {   
            "name": "clicks",
            "total_count": 67238882342,
         ...
        }
    ]
}

方案名称和方案字段属于不同的级别。但aerospike不支持联合/加入行动。如何设计数据库?

Aerospike支持嵌套列表和地图。参见。

优生学

您给出的方案可以轻松地存储在aerospike中。字段将是数据类型列表,任何集合都可以存储在列表中。就你而言,这是一张地图。我无法理解的一点是,为什么需要UNION或JOIN来存储此模式

您需要了解的一件事是Aerospike是一个键/值存储,您可以在所需的列上创建二级索引。在最新版本中,还可以在集合上创建辅助索引。请注意存储在RAM中的二级索引

不能从一个集合到另一个集合连接存储箱(列)


希望这有帮助。

嘿,这很简单,您不必担心aerospike中的连接,因为它是无模式数据库

如果您的对象如下所示:

//Json对象

{ “名称”:“名称”, “版本”:“版本”

//这又是一个json对象列表

"fields": [
    {   
        "name": "clicks",
        "total_count": 67238882342,
     ...
    }
]
}

您可以使用大订单列表来解决这种情况

链接::