2011-02-10 3 views
0

Данные завода - это данные в реальном времени от процесса установки, такие как прессование, температура, расход газа и т. Д. Модель данных этих данных обычно такова:
(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?

Спасибо!

ответ

0

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

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

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

+0

Спасибо за ваш ответ. Это полезно. –

Смежные вопросы