¿Conoce alguien el estado de la técnica de estructuras de datos no SQL para la contabilidad de alta frecuencia, ya sea del lado del cliente, del corredor o de la bolsa? Estoy pensando específicamente en el problema de registrar los datos de las operaciones individuales en transacciones adecuadas, con débitos y créditos equilibrados. En mi caso, lo haré en un libro de órdenes de límite rápido o directamente junto a él, pero puedo ver otras razones para que exista esta bestia. Y sí, estoy de acuerdo en que ninguno de los actuales motores nosql populares no-ACID son en absoluto adecuados para este trabajo. Estoy asumiendo que voy a tener que escribir esto.
Una respuesta útil a esta pregunta podría ser tan simple como un enlace a un documento sobre el tema de la contabilidad no SQL o nosql en un contexto de comercio de alto volumen -- obviamente estoy usando las combinaciones equivocadas de términos de búsqueda, porque no estoy encontrando mucho todavía.
En lo que estoy trabajando es en un proyecto que incluye un libro de órdenes de límite y una contabilidad en cada nodo de una red o tejido distribuido. En mi caso, los instrumentos negociados podrían describirse mejor como opciones reales o derivados reales, incluyendo algunos exóticos leves. La gran mayoría de las órdenes serían iniciadas por máquinas, y la tasa de datos parece que podría alcanzar fácilmente los 60.000 intercambios/segundo en cada nodo. (Sin entrar en una disertación más larga, podría ayudar a explicar que estoy en Silicon Valley estos días; esto es obviamente para un nuevo mercado, no para uno existente). Véase http://en.wikipedia.org/wiki/Real_options_valuation si no te has encontrado con opciones reales antes.
Respuestas parciales, basadas en parte en las respuestas a esta pregunta hasta ahora:
-
Un mecanismo de contabilidad creado a tal efecto sería probablemente estructurado en forma de registro, sólo en forma de apéndice, probablemente utilizando una API no SQL para la velocidad de inserción. El propio motor podría ser una base de datos hipergráfica. Si se ejecuta en múltiples nodos, necesitaría una forma de proporcionar transacciones resumidas a los otros nodos de forma peer-to-peer. Cuanto más indago en esto, más empieza a parecerse a un hipergrafo distribuido.
-
En el mundo de la HFT, parece que el procedimiento estándar sigue siendo: Registrar pero no indexar las operaciones, hacer aritmética simple ignorando los débitos y créditos, y luego sintetizar periódicamente las transacciones resumidas y equilibradas al RDBMS contable. Ejecutar MTM en lote. ¿Hay algo que alguien pueda decir sobre cómo que se hacen "simples matemáticas y registros locales"? Sé cómo lo hacíamos en el mundo de los derivados hace 15 años, pero francamente tanto éste como MTM eran lentos y feos, e implicaban servidores NFS, archivos planos y scripts de shell. Tiene nada ¿cambió? ;-)
-
De acuerdo, al eliminar "contabilidad" de los términos de búsqueda acabo de encontrar esto - una pregunta diferente a primera vista, que cubre tanto los datos financieros como los de las garrapatas, pero vale la pena leerlo - parece que tenía algunas de las mismas ideas: Uso del almacenamiento NoSQL en finanzas
- Parece que valdría la pena repetir mis búsquedas en google, citeseer, etc., sustituyendo "finanzas" por "contabilidad".
-
El Procesamiento de Eventos Complejos (CEP) trata de resolver algunos de los mismos problemas -- se me ocurrió que incluir el CEP en las mismas búsquedas podría ser fructífero. Lo primero que encontré fue este artículo (escéptico, pero con humor) en el que se habla de la lentitud con la que se ha adoptado el CEP y de la exageración del nosql: http://www.hftreview.com/pg/blog/darkstar/read/32333/whats-wrong-with-complex-event-processing