Этот вопрос не обязательно разрабатывается специально для предварительного просмотра 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, и если да, то как бы вы занялись моделированием данных?
Большое спасибо всем, кто читает это - я надеюсь рассказать об этом дальше, приведя больше примеров реальных проблем моделирования, если это возможно.
Джеймс