Как хранить данные в реальном времени - PullRequest
1 голос
/ 18 марта 2011

Я ищу способ (база данных? Файл данных?) Для хранения большого количества данных в реальном времени. Каждую секунду может быть 20000 точек (время + 32-битные данные). Чтобы избежать 20 тыс. Выборок в секунду, я могу буферизовать его (из-за 32-битной памяти не будет слишком много памяти для буферизации).

Затем я должен быть в состоянии прочитать его, продолжая записывать данные. Я видел, что kdb + подойдет, но решение должно быть с открытым исходным кодом, работать с C # и работать в ОС Windows.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 18 марта 2011

Вы мертвы. Точка. Нет открытого решения, которое делает то, что вы хотите. Требования open source + c # в основном убивают все доступные решения.

MySQL имеет НЕКОТОРЫЕ базы данных, которые хороши для временных рядов, вроде (системы хранения). Ты можешь попробовать это.

Тем не менее, настройка SQL Server для приема 200 000 вставок не так сложна. Сейчас у меня 80 000, и я знаю, что у меня есть проблемы со временем процессора (виртуальная машина), которые я скоро решу, мои диски не заняты, а также процессор.

2 голосов
/ 18 марта 2011

Посмотрите на системы CEP (обработка сложных событий), такие как Microsoft StreamInsight . Здесь - руководство разработчика.

0 голосов
/ 15 мая 2011

Каждый раз, когда вы нажимаете на диск, вам будет трудно следить за таким количеством событий.Как сказал один из предыдущих авторов, вам следует взглянуть на систему CEP, такую ​​как StreamInsight.Если вы разработчик на C #, SI подойдет вам.

...