OT Module

OT was designed to create applications for collaborative editing based on principles, which conceptually resemble Git but with added support of arbitrary user-defined data types and automatic conflict resolution using operational transformations (OT). Unlike traditional databases, data is represented as a commit graph. This approach revolutionizes the concept and provides truly distributed and asynchronous online/offline data processing.

You can add the OT module to your project by inserting a dependency in pom.xml:

<dependency>
    <groupId>io.datakernel</groupId>
    <artifactId>datakernel-ot</artifactId>
    <version>3.0.0</version>
</dependency>

The core features of OT are:

  • Organizing data as commit graph.
  • Efficient algorithms for managing the graph of commits and automatic conflict resolution while merging.
  • Ability to save/load snapshots and create backups.
  • Working with arbitrary user-defined data structures.
  • State manager allows to monitor the current state of an OT system.

Note that OT is suitable for private cloud solutions and is not optimised for working with non-trusted servers. If you are looking for a global internet-wide cloud storage solution, please consider Global-OT module.

This module on GitHub repository