Очень быстрый кэш / доступ к индексируемым по времени данным в c # - PullRequest
4 голосов
/ 18 декабря 2009

Я пишу приложение с интенсивным использованием данных в c #. В настоящее время приложение загружает множество временных рядов с удаленного сервера sql, выполняет много вычислений для создания других временных рядов, и я хотел бы получить быстрый доступ к этим временным рядам.

Каждая временная серия имеет уникальный идентификатор и должна сопоставлять DateTime с чем угодно (в основном с плавающей точкой, но иногда со строками, stringarray и т. Д.).

Вы знаете какую-нибудь библиотеку, которую я мог бы использовать для этого, давая мне:

  • быстрый и параллельный доступ к этим временным сериям?
  • доступ к "древовидной" версии этих временных рядов, поиск последней даты, последней предыдущей даты и т. Д.

Я выглядел крупным параллельным кешем, таким как memcached, tokyo-tyrant или redis, но мне пришлось хранить каким-то образом сериализованную версию каждой временной серии, чтобы решить мою проблему.

Ура!

Ответы [ 2 ]

1 голос
/ 15 мая 2011

Извините, если я неправильно понял что-то важное, но разве не будет очевидным решением Dictionary<DateTime, object>()?

E: Если в памяти не может быть и речи, игнорируйте это, конечно. Локальная база данных для хранения информации представляется наиболее приемлемой альтернативой, если у вас ограниченная память.

0 голосов
/ 03 ноября 2010

Если вы используете базу данных документов (например, RavenDB ) или хранилище ключей-значений, вы сможете сделать это.

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