Моделирование данных Couchbase - Ориентировано на документы

Этот вопрос не обязательно связан с предварительным просмотром разработки Couchbase 2.0, однако я думаю, что он может помочь людям в исследовании нового продукта Couchbase.

Мне нужен совет по моделированию данных. Мы изучаем Couchbase на предмет возможного использования его для аналитики в реальном времени.

Однако я не могу найти никакой документации о том, как лучше всего моделировать данные реального мира.

Я предложу сценарий, и если бы сообщество могло помочь мне или обсудить некоторые идеи о том, как это можно смоделировать, это было бы очень полезно?

Обратите внимание, что это не репрезентативно для нашего продукта, и я не прошу людей решать наше моделирование для нас этот вопрос больше предназначен для обсуждения

Предположим, что клиенты совершают покупки продуктов в определенную дату / время, у продуктов есть информация о них, такая как идентификатор, имя, описание и цена, покупка совершается на Дата.

Первоначальное требование - уметь подсчитывать все покупки между двумя датами. За любой день может быть совершено более 100 000 покупок - это довольно большой бизнес;)

Если какой-либо синтаксис неверен, пожалуйста, дайте мне знать - любые советы / помощь приветствуются.

Если бы мы смоделировали данные примерно так (что, возможно, совершенно неверно):

Покупки с продуктами

{
    "_id" : "purchase_1",
    "_rev" : "1-1212afdd126126128ae",
    "products" :  [
        "prod_1" : {
            "name" : "Milk",
            "desc" : "Semi-skimmed 1ltr",
            "price" : "0.89"
        },
        "prod_7568" : {
            "name" : "Crisps", 
            "desc" : "Salt and Vinegar",
            "price: "0.85"
        }
    ]
    "date" : "2012-01-14 14:24:33"
}

{
    "_id" : "purchase_2",
    "_rev" : "1-1212afdd126126128ae",
    "products" :  [
        "prod_89001" : {
            "name" : "Bread", 
            "desc" : "White thick sliced",
            "price: "1.20"
        }
    ]
    "date" : "2012-01-14 15:35:59"
}

Таким образом, учитывая этот макет документа, мы можем видеть каждую покупку, и мы можем видеть продукты, которые были в этой покупке - однако как мы можем подсчитать все покупки между двумя датами? Также как можно увидеть журнал всех покупок между двумя датами в порядке убывания даты?

Подходит ли для этого Couchbase?

Между двумя датами могут быть сотни тысяч покупок, а покупатель этого не делает. хотелось бы дождаться отчетов… как я уверен, что все испытали;)

Было бы лучше использовать функции incr, и если да, то как бы вы подойти к моделированию данных?

Большое спасибо всем, кто читает это - я надеюсь подробнее рассказать об этом, приведя больше примеров проблем моделирования реального мира, если это возможно.

Джеймс

7
задан eggsy84 14 January 2012 в 17:15
поделиться