# Architecture

<figure><img src="https://553765333-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAc3OVVu2Uawc7Gv5AhPR%2Fuploads%2FtHpGEZly7Do2hfAAD1ik%2Fsorada-architecture.png?alt=media&#x26;token=cda44a97-1691-4fa8-8a46-713961a90d36" alt=""><figcaption><p>Sorada Architecture Diagram</p></figcaption></figure>

## Services

Sorada is composed of multiple services that enable Sonic to optimize read requests

<figure><img src="https://553765333-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAc3OVVu2Uawc7Gv5AhPR%2Fuploads%2Fx6jSfb3E9Er8Z72Fe5mZ%2Fsorada-services.png?alt=media&#x26;token=71b1fe41-475a-4808-ae78-d27e9f9c80ca" alt=""><figcaption><p>Sorada Services</p></figcaption></figure>

### Lite RPC

The Lite RPC service is an optimized Solana RPC service stripped away from a Solana full node only maintaining data retrieval endpoints such as `getBlock` and `getTransaction`.

### Ingestor

The Ingestor service pulls real-time data from the Sonic Hypergrid and persists data on the big table storage.

### Replicator

The Replicator service replicates the indexed data from the big table storage to a distributed filesystem for more resilient data preservation.

## Data Repositories

Sorada utilizes three (3) different data repository types for a robust data preservation infrastructure.

<figure><img src="https://553765333-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAc3OVVu2Uawc7Gv5AhPR%2Fuploads%2FKH6t2TpzTiaC6X90y6s1%2Fsorada-data-stores.png?alt=media&#x26;token=66607209-7f9d-44a6-a070-fbf8e28cfa7e" alt=""><figcaption><p>Sorada Data Repositories</p></figcaption></figure>

### Cache

Sorada utilizes a cache for an efficient retrieval of repetitive requests.

### Big Table

Sorada utilizes a big table database as its primary data store.

### Distributed Filesystem

Sorada utilizes a self-replicating distributed filesystem to ensure data is safely persisted across multiple data nodes.
