Skip to content
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

Docs: where are the mentioned components/entities located in the architecture? #30

Open
PedrobyJoao opened this issue May 3, 2024 · 0 comments

Comments

@PedrobyJoao
Copy link

Hello!

I created this issue to ask some questions that I had while reading the docs and naturally after understading the system's goal itself.

The functionalities of DAS are clear to me. However, there are still some white spots that I want to clarify.

Regarding Architectural

Is DAS a standalone component? Or is it the system as a whole? I'm wondering that because I'm not sure where the Query-Engine, AtomDB and Cache are standing.

Based on https://github.com/singnet/das/blob/master/docs/das-users-guide.md#starting-a-das-server , am I correct to conclude that there are basically three components which together form the DAS system?

  1. Redis cluster (is it for cache?)
  2. MongoDB cluster (DBMS for persistent store)
  3. OpenFaaS gateway

If that is correct, then things like Query-Engine, Cache, AtomDB... are all operating under OpenFaaS gateway?
Meaning, OpenFaaS when receiving a query will deploy a certain function which contains all these functionalities.

Also... Custom indexes: where are they stored? Within the DBMS or AtomDB?

Cache

Is the cache stored in-memory (RAM) or on a persistent storage (e.g.: Redis)? Or both?

In the following diagram https://github.com/singnet/das/blob/master/docs/das-overview.md#das-server-deployment-and-architecture , it seems the DAS cache is being represented as a function. Does that mean the cache operates with in-memory data as a function, or the diagram's cache is an interface to the where cache data is stored?

Architectural questions summary

I basically want to understand where the following entities/components are located within the architecture:

  • Cache
  • Query-Engine (and any other responsible for handling the queries)
  • AtomDB

Extra (just out of curiosity): regarding implementation

  1. Are atoms/links garbage collected as human memory? Or it's up to the caller to remove atoms/links?

  2. As a client connected to multiple DAS servers, will queries be done in parallel?

  3. Do atoms on different remote DAS servers can have links with each other? If yes,
    how is that synchronized?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant