Дизайн базы данных Aerospike

Я хотел бы создать базу данных aerospike, которая будет содержать следующую структуру:

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

имя схемы и поля схемы относятся к разным уровням. Но aerospike не поддерживает операции UNION/JOIN. Как я могу спроектировать свою БД?


person Taller    schedule 01.04.2015    source источник


Ответы (3)


Aerospike поддерживает вложенные списки и карты. См. пример Java< /а>.

person sunil    schedule 03.04.2015

Эй, это очень просто, вам не нужно беспокоиться о соединениях в aerospike, потому что это база данных без схемы.

если ваш объект похож на приведенный ниже:

// JSON-объект

{ "имя": "имя", "версия": "версия",

// Это снова список json-объектов

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

}

Вы можете использовать большой список заказов, который может решить этот тип сценария.

ссылка :: https://www.aerospike.com/docs/guide/llist.html< /а>

person user1788811    schedule 05.05.2015

Евгений,

Приведенную вами схему можно легко сохранить в аэроспайке. Поля будут иметь список типов данных, и любая коллекция может храниться внутри списка. В вашем случае это карта. Один момент, который я не могу понять, - это зачем вам нужно UNION или JOIN для хранения этой схемы.

Вам нужно понять одну вещь: Aerospike — это хранилище ключей и значений, и вы можете создавать вторичные индексы для необходимых столбцов. В последнем выпуске вы также можете создавать вторичные индексы для коллекций. Обратите внимание на вторичные индексы, хранящиеся в оперативной памяти.

Вы не можете ПРИСОЕДИНЯТЬСЯ к корзинам (столбцам) от набора к набору.

Надеюсь это поможет.

person Carbonrock    schedule 10.04.2015