Будучи новичком в 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 - это база данных с плоскими файлами, но в ней будет буквально миллионы документов с метками времени / значениями. Может быть, я просто привередлива, но мне это кажется немного дезорганизованным.
Спасибо!