Sistemas de bases de datos: ¿Qué formatos de datos se utilizan para almacenar series de tiempo?

Depende de tus casos de uso.

Si su caso de uso principal es buscar eventos particulares (“encontrar una aguja en un pajar”), puede usar bases de datos SQL o NoSQL con un buen rendimiento de búsqueda basado en una clave de tiempo. Cualquier RDBMS y bases de datos NoSQL como HBase y Cassandra funcionan.

Si su caso de uso principal es el análisis y la computación en un rango de datos (“¿Cuál es la correlación de movimiento diario de AAPL y GOOG?”), Entonces desea usar bases de datos OLAP. Algunas bases de datos OLAP están diseñadas específicamente para datos de series temporales, mientras que otras son más genéricas. Vertica, KDB +, Redshift, BigQuery y Teradata vienen inmediatamente a mi mente.

Si su caso de uso principal es la supervisión (“¿Qué está pasando con mis sistemas ahora?”), Desea utilizar bases de datos y sistemas similares a las bases de datos que se destacan en esta área. InfluxDB, Elasticsearch, Splunk, OpenTSDB vienen inmediatamente a mi mente.

Si tiene curiosidad acerca de OLAP v. OLTP, lea ¿Cuál es la diferencia entre OLAP y OLTP?

Los datos relacionales manejan los datos de punto en el tiempo bastante bien y hay varios tipos de datos de resolución de tiempo (desde el día hasta los microsegundos).

Relacional estandarizado (por ejemplo, el estándar SQL) se vuelve limitado y doloroso cuando se trata de manipular intervalos de tiempo.

Existen varias extensiones específicas del proveedor (de Oracle e IBM en Leadt). No anunciaré ninguno aquí.

Si está interesado en series de tiempo y especialmente con INTERVALOS de tiempo, le aconsejaría una lectura sólida:

http://www.amazon.com/Time-Relat

Nota: sí, los moderadores de Quora nuevamente me abofetearán por publicar un enlace de Amazon. NO estoy afiliado a Amazon: siéntase libre de comprar este libro en cualquier tienda.
Tampoco soy un gran admirador de CJ Date. Esta vez (!) Debo admitir que él (y sus escritores asociados) han hecho un gran trabajo.

F.

CSV trabaja para jugar con los datos. Una vez que cree un sistema de producción, recomendaría usar un RDBMS o una base de datos más especializada.

También puede almacenar datos en Parquet, que es un formato de columnas altamente optimizado.

Yo también uso archivos CSV.

Mi objetivo es tener primero la primera columna como marca de tiempo para el marco de datos. Intento usar un formato de hora simple / universal, generalmente tiempo de época (segundos desde 1970), por lo que se requiere poca lógica de análisis.

No hay otros consejos realmente. CSV se puede importar / exportar fácilmente desde la mayoría de los sistemas, y es legible para los humanos.

Hago archivos .csv porque son fáciles.

Para mantener los datos de series de tiempo, necesitaría sus variables y fecha (u hora u objetos de fecha y hora) en varias columnas.

More Interesting

Aprendizaje profundo: ¿Una versión suave de unidades lineales rectificadas funciona mejor o peor que una no lineal?

¿Cuál es el valor de un curso de Coursera sobre aprendizaje automático por Andrew Ng para solicitar una maestría en Estados Unidos en las 20 mejores universidades?

¿Cuáles son los lenguajes de programación básicos para aprendizaje automático, inteligencia artificial y big data?

¿Qué significan las redes bayesianas en Machine Learning?

Cómo desarrollar software que se afinará

¿Cuál ha sido la experiencia de la gente con RapidMiner?

¿Cuáles son los posibles remedios si está atascado en la comprensión de la parte técnica de un trabajo de investigación de STEM?

¿Cuáles son algunos desarrollos interesantes pero pasados ​​por alto en la investigación de ML?

¿Podrían las entradas del algoritmo de entrenamiento Perceptron tener diferentes tipos?

¿Cuál es la forma más rápida de aprender matemáticas para el aprendizaje automático y el aprendizaje profundo?

Cómo estructurar sus proyectos de aprendizaje automático

¿Tener un conocimiento profundo del aprendizaje por refuerzo cambia su perspectiva hacia la vida? ¿Cómo?

¿Qué significa el siguiente pasaje de un documento de aprendizaje profundo sobre aprendizaje automático sobre representaciones distribuidas frente a representaciones no distribuidas?

¿Por qué es mejor usar la función Softmax que la función sigmoidea?

¿Se puede solicitar un doctorado en aprendizaje automático sin conocimientos y habilidades de CompSci? ¿Se puede aprender en el trabajo?