Аз съм начинаещ в хранилището на данни. използвайки го за приложение, което не е GAE.
Приближавам се за по-добър дизайн за моя случай на употреба.
Съхраняване под вложени обобщени данни чрез изравняване и съхраняване в множество видове за по-добра поддръжка на заявки.
"DateTime": "2015-10-21 12:10:50",
"Domain": "abc.com",
"Events": [
{
"EventName": "visit",
"EventCount": "188",
"Attributes_Aggregations": [
{
"Name": "color",
"Value_Aggregations": [
{
"Value": "red",
"Count": "188",
"Unique_Users": [
{
"ID": "user1",
"Count": "38"
},
]
},
]
},
]
},
]
Съхранявам го в 5 вида. Всеки вид се свързва с друг вид като ключ на предшественика.
Тип: Домейн
domain_name - abc.com
Вид: Събитие
evt_name - visit
evt_count - 188
evt_datetime - 2015-10-21 12:10:50
ancestor_key - Domain abc.com
Вид: Атрибут
att_name - color
evt_datetime - 2015-10-21 12:10:50
ancestor_key - Domain abc.com Event visit
Тип: AttributeValue
att_value - red
att_value_count - 108
evt_datetime - 2015-10-21 12:10:50
ancestor_key - Domain abc.com Event visit Attribute color
Вид: потребители
user_id - user1
count - 38
evt_datetime - 2015-10-21 12:10:50
ancestor_key - Domain abc.com Event visit Attribute color AttributeValue red
Добавих свойството „evt_datetime“ във всички видове, тъй като това ще бъде основният филтърен ключ.
Зададох индекс за всички свойства, за да активирам всеки филтър за свойства, но поради един филтър за неравенство на едно ограничение за свойство ме накараха да направя пауза.
Както можете да видите, не мога да филтрирам както по evt_datetime, така и по evt_count с някой от (>,‹,>=,‹=).
Има ли по-добър начин да се проектират тези схеми за използване на множество филтри или заявка без вид?