| ... | ... | @@ -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 |