Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • O OLD Documentation
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Departamento de Informática
  • Research
  • TaRDISTaRDIS
  • ToolkitToolkit
  • OLD Documentation
  • Wiki
  • Tardis apis
  • Data management and distribution primitives
  • Decentralised Data Management and Replication APIs

Decentralised Data Management and Replication APIs · Changes

Page history
Update Decentralised Data Management and Replication APIs authored Oct 22, 2024 by Diogo Alexandre Matos de Jesus's avatar Diogo Alexandre Matos de Jesus
Hide whitespace changes
Inline Side-by-side
TaRDIS-APIs/Data-Management-and-Distribution-Primitives/Decentralised-Data-Management-and-Replication-APIs.md
View page @ f70049dc
......@@ -3,13 +3,16 @@ Different storage solutions support the operation of the TaRDIS toolbox. These s
### Architectural Patterns
#### Independent Subsystem
A data management subsystem exists independently of the application, usually running on dedicated infrastructure. Examples include:
- **Centralised Databases:** Such as MySQL.
- **Distributed but Logically Centralised Databases:** Such as Cassandra, DynamoDB, or CosmosDB.
This pattern leverages highly distributed data storage systems with components both in the cloud and at edge locations, potentially extending to client applications.
#### Integrated Component
A fully decentralized data management system emerges from interactions between different application components of a distributed system. Each application process runs a local component of the data management system, interacting with similar components in other processes to maintain the data system collaboratively. Replication is used for data availability and locality, especially in network partition scenarios.
### Provided Guarantees
......@@ -25,42 +28,35 @@ Each data management solution in the TaRDIS toolbox provides a set of well-defin
### Proposed APIs
- **Create a Data Space**
```typescript
create(dataSpace, properties)
```
- **Create a Table/Keyspace in a Data Space**
```typescript
create(dataSpace, tableID/keyspace, properties)
```
- **Execute an Operation on a Data Space**
```typescript
execute(dataSpace, tableID/keyspaceID, condition over objects, operation) -> result
```
- **Delete a Table/Keyspace in a Data Space**
```typescript
delete(dataSpace, tableID/keyspace)
```
- **Delete a Data Space**
```typescript
delete(dataSpace)
```
```
- **Create a Table/Keyspace in a Data Space**
### Existing and Available Solutions
```typescript
create(dataSpace, tableID/keyspace, properties)
```
- **Execute an Operation on a Data Space**
The TaRDIS consortium has extensive experience in designing and implementing large-scale distributed storage systems, including:
```typescript
execute(dataSpace, tableID/keyspaceID, condition over objects, operation) -> result
```
- **Delete a Table/Keyspace in a Data Space**
- **Geo-Replicated Data Storage Systems:** Offering causal+ consistency, such as ChainReaction and C3.
- **Edge Systems Providing Configurable Consistency Guarantees:** Such as the Engage system.
- **Decentralized Storage Systems:** Such as Legion and the Inter-Planetary File System (IPFS).
```typescript
delete(dataSpace, tableID/keyspace)
```
- **Delete a Data Space**
```typescript
delete(dataSpace)
```
## 3. Decentralised Monitoring and Reconfiguration APIs
### Existing and Available Solutions
The TaRDIS toolbox provides primitives to support the reconfiguration of application components at runtime and acquire decentralized telemetry information from the deployed system. This includes information about the load and health conditions of different components. The toolbox will also export fine-grained stored metrics to other parts of the toolbox, such as machine learning components that require time series of the stored metrics over some period.
The TaRDIS consortium has extensive experience in designing and implementing large-scale distributed storage systems, including:
This part of the toolbox leverages the cloud-edge continuum and relies on open-source solutions as part of its core.
- **Geo-Replicated Data Storage Systems:** Offering causal+ consistency, such as ChainReaction and C3.
- **Edge Systems Providing Configurable Consistency Guarantees:** Such as the Engage system.
- **Decentralized Storage Systems:** Such as Legion and the Inter-Planetary File System (IPFS).
\ No newline at end of file
Clone repository
  • (Sec)Regrada
  • CryptoChoreo
  • DCR Choreographies
  • IFChannel
  • JoinActors
  • PSPSP
  • Scribble
  • TaRDIS APIs
    • Analysis and Verification Facilities
    • Artificial Intelligence and Machine Learning APIs
    • Core TaRDIS APIs
    • Data Management and Distribution Primitives
      • Decentralised Data Management and Replication APIs
      • Decentralised Membership and Communication APIs
      • Decentralised Monitoring and Reconfiguration APIs
View All Pages