# Data Storage

Data Storage within the Agentic Data Coordination Service (ADCS) is designed to support a wide variety of data formats, including structured, unstructured, and semi-structured data. ADCS offers a range of storage systems to accommodate these diverse formats, ensuring scalability, security, and compatibility with AI applications. The comprehensive data storage solutions include traditional databases and advanced distributed databases tailored for modern AI and machine learning needs.

* **Structured data** refers to information that is organized in a format that is easily understandable by both humans and machines. In structured data, the elements or fields are clearly defined, and there is a well-defined schema or model that governs the relationships and properties of these elements. This organization allows for efficient storage, retrieval, and analysis of data.

  Structured data is typically found in **relational databases**, **spreadsheets**, and other **tabular formats**. Each piece of data is assigned to a specific category or field, and relationships between different pieces of data are explicitly defined. The use of **schemas** ensures that the data adheres to a specific structure, which simplifies operations like querying, filtering, and aggregating data.

  Examples of structured data include tables with rows and columns, where:

  1. Each **column** represents a specific attribute or property (e.g., "Name" "Age", "Salary").
  2. Each **row** corresponds to a unique record or entry (e.g., an employee's details in a company's database).

  Structured data is commonly used in a variety of applications, including **business databases**, **financial systems**, and **information management systems**, where organization and consistency are critical. This format allows for easy reporting, automation, and analysis through tools like SQL, ensuring data integrity and seamless interaction between systems.

***

* **Unstructured data** refers to information that does not have a predefined schema or structure, making it more difficult to organize, search, and analyze compared to structured data. Common examples include **text files, PDFs, images, videos, audio files**, and other media types. Unlike structured data, unstructured data doesn’t fit neatly into a traditional row-and-column database model.

  Although unstructured data can technically be stored in relational databases as **Binary Large Objects (BLOBs)**, it is generally more suitable for **file systems** or **object storage** systems, especially due to its large size and unique requirements for **backup** and **compliance**.

  However, **metadata** and **vector embeddings** associated with unstructured data still need to be stored in databases to make this data discoverable and usable.

  1. **Metadata** typically includes information such as **file name**, **URI**, **size**, **type**, **owner**, and **creation date**. It may also contain deeper details like **extracted text**, **object boundaries**, and other context-relevant data.
  2. This metadata can be stored in either a **structured** or **semi-structured** format, such as a **JSON column** or a combination of both.

  To further enhance the usability of unstructured data, machine learning models can be employed to generate **metadata** or **vector embeddings**. These embeddings are useful for **searching**, **analyzing**, and building **real-time AI applications**.

***

* **Semi-structured** data exists in the gray area between structured and unstructured data. It has some organizational structure but leaves room for flexibility and undefined elements. Common formats for semi-structured data include **XML**, **JSON**, **Avro**, and **Parquet**. Data from sources like sensors and server logs can easily fall into this category, as it often appears in or can be converted to formats like JSON or CSV.

  Some data vendors even classify **HTML code** and **emails** as semi-structured. For example, an email can be represented as a JSON object with fields like sender, recipient, subject, and timestamp. However, if the email includes attachments such as media files or PDFs, it may also be considered unstructured data.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rivalz.ai/adcs-ai-oracles/design-components/off-chain-components/adcs-nodes/data-storage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
