Microsoft Open Sources Drasi
Written by Kay Ewbank   
Friday, 18 October 2024

Microsoft has announced the open source availability of Drasi, a data processing system designed to simplify the detection of and reaction to critical events within complex event-driven infrastructures.

Drasi is designed for use in event-driven systems such as Internet of Things (IoT) integrations or complex applications. The software has been developed so far by the Microsoft Azure Incubations team.

drasilogo

Drasi can be used to build solutions that detect and react to data changes that occur in existing databases and software systems. This includes existing systems as well as new systems built using Drasi. The developers say Drasi's change detection capabilities go beyond simply reporting add, update, and delete operations, as you would typically get from database transaction and change logs and message-based change notification solutions.

Drasi's query-based approach can be used to write rich graph queries that contain rules describing the types of changes you want to detect and the data you want to distribute about those changes. The Drasi team says some example uses might be observing data from building sensors and automatically adjusting HVAC settings to maintain a comfortable environment for building occupants; or optimizing the delivery of orders to customers when they arrive in a curbside pickup zone. Another example given would be infrastructure threat detection, where the Drasi system could raise an alerts when a container with known security threats is deployed to a Kubernetes Cluster.

drasicomp

Drasi is built around simple components: Sources, Continuous Queries, and Reactions. Data starts from a source and flows through queries to reactions. A single Drasi environment can host many sources, continuous queries, and reactions.

Sources are often relational or graph databases, but can be any system that provides a low-level change feed and a way to query the current data in the system. Drasi's Source input schema is modeled the Debezium open-source change data capture platform.

Continuous queries are queries that run continuously. 'Normal' one-off queries provide a result based on a database at a point in time, essentially a snapshot. Continuous queries, once started, continue to run until they are stopped, and results remain accurate by incorporating any changes made to the source database as they occur. As changes occur, the  continuous query determines which result elements have been added, updated, and deleted, and distributes a precise description of the changes to all reactions that have subscribed to the query. The queries are implemented as graph queries written in the Cypher query language.

Reactions receive a stream of query result changes generated by one or more continuous queries and take actions based on the result. Drasi provides standard reactions that carry out actions including forwarding the query result changes to Azure Event Grid or SignalR so they can be processed by solution specific code in applications, services, and functions. The query result changes can also be sent as input to configurable Stored Procedures or Gremlin commands to update databases without the need to integrate additional intermediary software services.

Drasi comes with support for multiple source systems including Azure Cosmos Gremlin API, PostgreSQL, and Kubernetes. Drasi is available now on GitHub and the Drasi website.

drasilogo

More Information

Drasi On GitHub

Drasi Website

Related Articles

Azure Data Box Improves Offline Data Migration

Microsoft Releases Azure AI Inference SDK For .NET

Debezium 1.0 Increases Database Support

Graph Query Language Gets Official Adoption

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Copilot Improves Code Quality
27/11/2024

Findings from GitHub show that code authored with Copilot has increased functionality and improved readability, is of better quality, and receives higher approval rates than code authored without it.

 [ ... ]



Ruby On Rails Adds Kamal And Thruster Support
17/12/2024

Ruby on Rails 8 has been released. The new version comes preconfigured with Kamal 2 for application deployment, a new proxy called Thruster, and a trio of SQLite database-backed adapters named Solid C [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Friday, 18 October 2024 )