Как хранить данные о заводе и где хранить? - PullRequest
0 голосов
/ 10 февраля 2011

Данные завода - это данные в реальном времени от процесса завода, такие как давление, температура, расход газа и так далее.Модель данных этих данных, как правило, выглядит следующим образом:
(Point Name, Time stamps, value(float or integer), state(int))

У нас есть тысячи точек и долгое время для хранения.И что важно, мы хотим, чтобы их было легко и быстро найти, когда нам это нужно.

Обычно поисковый запрос выглядит следующим образом:

get data order by time stamp 
    from database 
    where Point name is P001_Press 
    between 2010-01-01 and 2010-01-02

База данных, подобная MySql, нам не подходит, поскольку записей слишком много, а запрос выполняется слишком медленно.

Итак, как хранить данные (как выше) и где их хранить?Какие-нибудь базы данных NOSQL ??

Спасибо!

1 Ответ

0 голосов
/ 11 февраля 2011

Этот шаблон данных и запросов фактически очень хорошо вписывается в плоскую таблицу в базе данных SQL, что означает, что его реализация с NoSQL будет значительно более трудоемкой, чем исправление производительности ваших запросов в SQL.

Если ваши данныевставленный в режиме реального времени, вы можете удалить заказ по предложению, так как дата уже будет отсортирована по отметке времени, и нет необходимости тратить время на ее преобразование.Индекс имени точки и метки времени должен обеспечить хорошую производительность для остальной части запроса.

Если вы действительно достигли пределов того, что может содержать таблица SQL (многие миллионы записей), у вас есть опция шардинга - таблица для каждой точки данных может работать довольно хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...