Ответ 1
1. База данных с круговой разверткой (wikipedia)
RRDtool (аббревиатура для инструмента round-robin database) предназначен для обработки данные временных рядов, такие как пропускная способность сети, температура, загрузка процессора и т.д. Данные хранятся в базе данных с циклическим циклом (круговой буфер), таким образом площадь системного хранилища остается постоянной с течением времени.
Этот подход/формат БД широко используется, достаточно стабилен и достаточно прост. Из коробки он позволяет создавать приятные графики:
Существует реализация Java - RRD4J:
RRD4J - это высокопроизводительная система регистрации данных и графики для времени последовательные данные, реализующие функциональные возможности RRDTool в Java. Следует большая часть той же логики и использует одни и те же источники данных, типы архивов и определения как RRDTool. Открытый исходный код под лицензией Apache 2.0.
Обновление
Забудьте о том, что существует Clojure API RRD (examples).
2. Для некоторых экспериментов с данными в реальном времени я бы предложил рассмотреть Perst
Он маленький, быстрый и надежный, но распределенный под GPLv3. Perst предоставляет несколько алгоритмов индексирования:
- B-Tree
- T-Tree (оптимизировано для базы данных в памяти)
- R-Tree (пространственный индекс)
- Patricia Trie (префиксный поиск)
- KD-Tree (многомерный индекс)
- Временной ряд (большое количество объектов фиксированного размера с меткой времени)
Последний подходит вам очень хорошо.
3. Neo4J с Отношения индексов
Хороший пример, когда этот подход выплачивает дивиденды, - это временные ряды данных, где у нас есть показания, представленные как отношения за появление.
4. Oracle Berkeley DB Java Edition
Oracle Berkeley DB Java Edition является открытым исходным кодом, встраиваемым, механизм транзакционного хранения, полностью написанный на Java. Требуется полный преимущества среды Java для упрощения разработки и развертывание. Архитектура Oracle Berkeley DB Java Edition поддерживает очень высокую производительность и concurrency для интенсивного чтения и интенсивность работы с записью.
Предложение
Попробуйте RRD4J:
- Это достаточно просто
- Доза дает неплохие сюжеты
- Он имеет Clojure API
- Он поддерживает несколько back-end, включая Oracle Berkeley DB Java Edition
- Он может хранить/визуализировать подробные наборы данных.