Структура базы данных CouchDB - лучшие практики

Будучи новичком в CouchDB, просто хотел обсудить передовой метод структурирования базы данных и документов. Мой опыт работы с MySQL, поэтому я все еще пытаюсь разобраться с базами данных, управляемыми документами.

Чтобы описать систему, у нас есть несколько клиентов, каждый из которых обращается к отдельному веб-сайту с отдельными данными. Данные каждого клиента будут разделены в отдельную базу данных. В каждую базу данных будут постоянно вставляться данные (каждые 5 минут в течение как минимум года) для регистрации событий. Новый документ создается каждые 5 минут с меткой времени и значением. Нам также необходимо сохранить некоторую информацию о клиенте, которая представляет собой отдельный документ, который никогда не обновляется (если это так, то очень редко).

Ниже приведен пример того, как выглядит одна клиентская база данных ...

{
    "_id": "client_info",
    "name": "Client Name",
    "role": "admin",
    ....
},
{
    "_id": "1199145600",
    "alert_1_value": 0.150
    "alert_2_value": 1.030
    "alert_3_value": 12.500
    ...
    ...
},
{
    "_id": "1199145900",
    "alert_1_value": 0.150
    "alert_2_value": 1.030
    "alert_3_value": 12.500
    ...
    ...
},
{
    "_id": "1199146200",
    "alert_1_value": 0.150
    "alert_2_value": 1.030
    "alert_3_value": 12.500
    ...
    ...
},
etc...literally millions more of these every 5 minutes...

Мой вопрос: верна ли такая структура? Я понимаю, что CouchDB - это база данных с плоскими файлами, но в базе данных будут буквально миллионы документов с отметками времени / значений. Я могу быть разборчивым, но мне это кажется немного неорганизованным.

Спасибо!

5
задан crawf 29 June 2011 в 01:39
поделиться