aboutsummaryrefslogtreecommitdiffstats
path: root/docs/system-overview.puml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2025-12-01 18:34:31 -0300
committerGitHub <noreply@github.com>2025-12-01 18:34:31 -0300
commit8c8b32d59acc78c7c3e1e8ecae8492a1b728b482 (patch)
treeb218e550b2b09e4920af6e12db531bfd65f65929 /docs/system-overview.puml
parente03b7c75be589d12ddc97d074abd2e3a5c6b7cdf (diff)
downloadSakura-8c8b32d59acc78c7c3e1e8ecae8492a1b728b482.tar.gz
Sakura-8c8b32d59acc78c7c3e1e8ecae8492a1b728b482.zip
Diagrams (#18)
Diffstat (limited to 'docs/system-overview.puml')
-rw-r--r--docs/system-overview.puml81
1 files changed, 81 insertions, 0 deletions
diff --git a/docs/system-overview.puml b/docs/system-overview.puml
new file mode 100644
index 0000000..8d76fc5
--- /dev/null
+++ b/docs/system-overview.puml
@@ -0,0 +1,81 @@
+@startuml system-overview
+!theme plain
+title Domino System Overview
+
+package "Client Interfaces" {
+ [XML Server\n(TCP/IP Port 8080)] as XML
+ [REPL\n(Interactive Shell)] as REPL
+ [Direct API\n(Erlang Apps)] as API
+}
+
+package "Query Processing Layer" {
+ package "Query Planner" {
+ [DSL Parser] as Parser
+ [Plan Validation\n& Compilation] as Validator
+ }
+
+ package "Volcano Iterator Model" {
+ [Scan Iterator] as Scan
+ [Select Iterator] as Select
+ [Project Iterator] as Project
+ [Sort Iterator] as Sort
+ [Take Iterator] as Take
+ [Join Iterators] as Join
+ }
+}
+
+package "Operations Layer (API)" {
+ [Database Management] as DBMgmt
+ [Relation Operations] as RelOps
+ [Tuple Operations] as TupleOps
+ [Iterator Management] as IterMgmt
+}
+
+package "Data Model Layer" {
+ [Core Abstractions\nattribute, tuple,\nrelation, database_state] as CoreAbs
+ [Finite Relations\n(Merkle Trees)] as Finite
+ [Infinite Relations\n(Generators)] as Infinite
+}
+
+package "Content-Addressed Storage" {
+ database "Mnesia" {
+ [attribute table] as AttrTable
+ [tuple table] as TupleTable
+ [relation table] as RelTable
+ [database_state table] as DBTable
+ }
+}
+
+XML --> Parser
+REPL --> Parser
+API --> Parser
+
+Parser --> Validator
+Validator --> Scan
+
+Scan --> Select
+Select --> Project
+Project --> Sort
+Sort --> Take
+Join --> Take
+
+Scan --> TupleOps
+Select --> IterMgmt
+Project --> IterMgmt
+
+DBMgmt --> CoreAbs
+RelOps --> CoreAbs
+TupleOps --> CoreAbs
+IterMgmt --> CoreAbs
+
+CoreAbs --> Finite
+CoreAbs --> Infinite
+
+Finite --> AttrTable
+Finite --> TupleTable
+Finite --> RelTable
+Finite --> DBTable
+
+Infinite --> AttrTable
+
+@enduml