Skip to content

Update Accio Readme #357

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jul 18, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 60 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,70 @@
# Accio
<p align="center">
<img src="https://imgur.com/xUamgKl.png" width="1000" >
</p>

This project is a metric layer framework which follow Postgres Wire Protocol to communicate with its client.
Its codebase is based on [Trino](https://github.com/trinodb/trino) project and the part of
Postgres Wire Protocol in [CrateDB](https://github.com/crate/crate) project.
<p align="center">
<a aria-label="Canner" href="https://cannerdata.com/">
<img src="https://img.shields.io/badge/%F0%9F%A7%A1-Made%20by%20Canner-orange?style=for-the-badge">
</a>
<a aria-label="License" href="https://github.com/Canner/vulcan-sql/blob/develop/LICENSE">
<img alt="" src="https://img.shields.io/github/license/canner/vulcan-sql?color=orange&style=for-the-badge">
</a>
<a aria-label="Join the community on GitHub" href="https://discord.gg/ztDz8DCmG4">
<img alt="" src="https://img.shields.io/badge/-JOIN%20THE%20COMMUNITY-orange?style=for-the-badge&logo=discord&logoColor=white&labelColor=grey&logoWidth=20">
</a>
</p>

# How to build
## What is Accio

```shell
mvn clean install -DskipTests
```
Define relationships, metrics, and expressions consistently with [Accio](https://www.getaccio.ai/). Experience a unified data view and let us generate on-demand SQL for a
composable, reusable approach.

# How to Run
Accio unites your data in one expansive view, putting an end to scattered metrics and inconsistent queries. We enable the definition of relationships and easy computation of
metrics. By generating SQL on-demand, we ensure a consistent, composable, and reusable approach, making data analytics smoother and more efficient.

## Required Configuration
![overview of Accio](https://imgur.com/o8sdYRC.png)

- `etc/config.properties`
## Examples

for bigquery settings
Need Inspiration?! Discover a [selected compilation of examples](https://www.getaccio.ai/docs/example/tpch) showcasing the use of Accio!

```
node.environment=
bigquery.project-id= # The target BigQuery project
bigquery.credentials-key= # based 64 credentials key
bigquery.location= # BigQuery execution region
bigquery.bucket-name= # GCS bucket name
duckdb.storage.access-key= # GCS storage access key
duckdb.storage.secret-key= # GCS storage secret key
accio.file= # accio mdl json file path
```
## Installation

- VM options
Please visit [the installation guide](https://www.getaccio.ai/docs/get-started/installation).

```
-Dconfig=etc/config.properties # the path of config file
```
## How Accio works?

💻 **Modeling**

Accio introduces a powerful Model Definition Language (MDL) enabling you to shape your data effortlessly. Transform your tables into `Models` and establish connections
using `Relations`. Unlock the true potential of Business Intelligence (BI) by formulating impactful `Metrics` with Accio's intuitive MDL.

🚀 **Access**

Accio offers a join-free SQL solution that allows users to query models as if accessing one expensive view. Focuses on enabling users to effortlessly perform BI-style queries.
Traditional SQL users can easily write readable and semantically rich SQL queries that are also easy to maintain.

🔥 **Deliver**

Accio implements the PostgreSQL Wire Protocol for easy integration, enabling users to effortlessly deliver data to existing systems and various tools, such as BI tools and Database
IDEs.

## Documentation

More details, please see our [documentation](https://www.getaccio.ai/docs/get-started/intro)!

## Community

- Welcome to our [Discord server](https://discord.gg/ztDz8DCmG4) to give us feedback!
- If there is any issues, please visit [Github Issues](https://github.com/Canner/accio/issues).

## Special Thanks

- [Trino](https://github.com/trinodb/trino)

Accio's SQL analysis layer is fundamentally based on a modified version of Trino's SQL analysis engine. Trino's clean, readable, and maintainable SQL analysis layer served as a
significant inspiration, allowing us to focus more on researching and exploring Accio's syntax and models.
- [CrateDB](https://github.com/crate/crate)

Accio's PostgreSQL Wire Protocol is inspired by CrateDB. CrateDB's implementation of the PostgreSQL Wire Protocol is very clear and easy to maintain, which significantly helped
us clarify the focus and architecture during the early development stages. This allowed us to concentrate on researching and exploring Accio's syntax and models.