Articulo de referencia

DBOS

DBOS (anteriormente Sistema Operativo Orientado a Bases de Datos, ahora simplemente DBOS) es una biblioteca de software de código abierto para la ejecución de flujos de trabajo ...

DBOS (anteriormente Sistema Operativo Orientado a Bases de Datos, ahora simplemente DBOS) es una biblioteca de software de código abierto para la ejecución de flujos de trabajo duraderos, escrita para los lenguajes de programación Python , TypeScript , Java y Go .

DBOS surgió de un proyecto conjunto de código abierto del MIT y Stanford , tras una conversación entre Michael Stonebraker y Matei Zaharia sobre cómo escalar y mejorar la planificación y el rendimiento de millones de tareas de Apache Spark . [ 1 ] Hoy en día es una empresa comercial que ofrece un sistema de código abierto para añadir computación duradera a cualquier software, basado en conceptos derivados del proyecto de investigación conjunto.

Historia

2020: Proyecto de I+D académica

DBOS se originó en 2020 como un proyecto conjunto de código abierto entre el MIT, Stanford y Carnegie Mellon. El proyecto exploró la idea de servicios de sistema operativo construidos sobre una base de datos distribuida : un sistema operativo orientado a bases de datos diseñado para simplificar y mejorar la escalabilidad, la seguridad y la resiliencia de aplicaciones distribuidas a gran escala. [ 2 ]

El concepto básico consistía en ejecutar una base de datos distribuida, transaccional , de alta disponibilidad y con múltiples nodos y núcleos , como VoltDB , como única aplicación para un microkernel , y luego implementar la planificación, la mensajería, los sistemas de archivos y otros servicios del sistema operativo sobre la base de datos.

La filosofía arquitectónica se describe en esta cita del resumen de su preimpresión inicial:

Todo el estado del sistema operativo debe representarse de forma uniforme como tablas de base de datos, y las operaciones sobre este estado deben realizarse mediante consultas desde tareas que, de otro modo, no tendrían estado. Este diseño facilita la escalabilidad y evolución del sistema operativo sin una refactorización completa del sistema, la inspección y depuración del estado del sistema, la actualización de componentes sin tiempo de inactividad, la gestión de decisiones mediante aprendizaje automático y la implementación de funciones de seguridad sofisticadas. [ 2 ]

Se construyó un prototipo con un rendimiento competitivo respecto a los sistemas existentes. [ 3 ]

Véase también

  • PICK OS , otra implementación de un sistema operativo basado en una base de datos.

2023: DBOS, Inc.

DBOS, Inc. se constituyó en 2023 para comercializar las tecnologías desarrolladas a partir del proyecto de investigación DBOS. [ 1 ]

En marzo de 2024, la empresa lanzó la biblioteca de ejecución duradera de código abierto DBOS Transact, que permite que un programa reanude su ejecución tras un fallo del sistema, sin pérdida de datos ni necesidad de repetir el trabajo. [ 4 ] . La primera biblioteca DBOS proporcionada fue para TypeScript; posteriormente se desarrollaron bibliotecas para Python, Java y Go. La semántica de orquestación de flujos de trabajo y la depuración con viaje en el tiempo fueron otras capacidades heredadas del proyecto académico DBOS.

Ejecución duradera

La biblioteca de código abierto DBOS Transact proporciona un conjunto de componentes básicos que hacen que las aplicaciones sean resistentes a fallos. La funcionalidad de la biblioteca incluye flujos de trabajo persistentes, pasos de flujo de trabajo, transacciones de base de datos, colas persistentes, eliminación de rebotes, mensajería y programación cron. La biblioteca también incluye herramientas para la gestión de flujos de trabajo, control de versiones, aplicación de parches y funciones de observabilidad como registro, seguimiento y depuración con viaje en el tiempo. [ 5 ]

Ejemplos

Ejemplo 1: Flujos de trabajo duraderos

Los flujos de trabajo de las aplicaciones se vuelven persistentes mediante anotaciones que indican el inicio y el final del flujo de trabajo (@DBOS.workflow()) y los pasos ejecutados dentro del mismo (@DBOS.step()). A medida que el flujo de trabajo se ejecuta, la biblioteca DBOS guarda el estado en una base de datos PostgreSQL . Si un flujo de trabajo se interrumpe por cualquier motivo, DBOS retoma automáticamente su ejecución desde el último paso completado.

@DBOS . step () def step_one (): print ( "¡Paso uno completado!" )@DBOS . step () def step_two (): print ( "¡Paso dos completado!" )@DBOS . workflow () def workflow (): paso_uno () paso_dos ()

Ejemplo 2: Colas y concurrencia

Las colas de tareas permiten la ejecución simultánea de múltiples flujos de trabajo con concurrencia gestionada. La biblioteca DBOS garantiza la durabilidad de las colas para que puedan sobrevivir a fallos del sistema. El siguiente ejemplo muestra la creación de una cola de flujos de trabajo con una concurrencia de 5 trabajadores, de modo que cada proceso ejecutará como máximo 5 flujos de trabajo de esta cola simultáneamente:

DBOS.register_queue ( " example_queue " , worker_concurrency = 5 )@DBOS . workflow () def process_task ( task ): ...manejador = DBOS.enqueue_workflow ( " example_queue " , process_task , task )

Referencias

  1. 1 2 Clark, Lindsay. "El pionero de Postgres promete revolucionar la base de datos una vez más" . www.theregister.com . Consultado el 27 de diciembre de 2023 .
  2. 1 2 Cafarella, Michael; DeWitt, David; Gadepally, Vijay; Kepner, Jeremy; Kozyrakis, Christos; Kraska, Tim; Stonebraker, Michael; Zaharia, Matei (2020-07-21), DBOS: Una propuesta para un sistema operativo centrado en datos , arXiv : 2007.11112
  3. Skiadopoulos, Athinagoras; Li, Qian; Kraft, Peter; Kaffes, Kostis; Hong, Daniel; Mathew, Shana; Bestor, David; Cafarella, Michael; Gadepally, Vijay; Graefe, Goetz; Kepner, Jeremy; Kozyrakis, Christos; Kraska, Tim; Stonebraker, Michael; Suresh, Lalith (2021-09-01). "DBOS: un sistema operativo orientado a DBMS" . Actas de la Fundación VLDB . 15 (1): 21– 30. doi : 10.14778/3485450.3485454 . hdl : 1721.1/143731 . ISSN 2150-8097 . S2CID 245827586 .  
  4. Miller, Ron (12 de marzo de 2024). "Una nueva startup del creador de Postgres pone la base de datos en el centro de la pila de software" . TechCrunch .
  5. Li, Qian; Kraft, Peter; Stonebraker, Michael; Zhou, Xinjing (18 de enero de 2026). "Consistencia y corrección en sistemas de flujo de trabajo orientados a datos" (PDF) . Actas de CIDR 2026 .
  • Sitio web oficial