Skip to content

Commit 8253fea

Browse files
committed
Correct definition of schemas in the Repository concept page.
1 parent f1fa410 commit 8253fea

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

docs/riddl/concepts/repository.md

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,22 @@ A RIDDL repository is an abstraction for anything that can retain
77
information (e.g. [messages](message.md)) for retrieval at a
88
later time. This might be a relational database, NoSQL database, a data lake,
99
an API, or something not yet invented. There is no specific technology implied
10-
other than the retention and retrieval of information. You should think of
11-
repositories more like a message-oriented version of the
12-
[Java Repository Pattern](https://java-design-patterns.com/patterns/repository/#explanation)
13-
than any particular kind of database.
10+
other than the retention and retrieval of information. Thinking of repositories
11+
only as a database is missing the mark.
1412

1513
## Schemas
16-
Repositories have traditionally had data schemas as part of their design
17-
definition; but RIDDL regards schemas as a technical detail of the
18-
implementation and leaves them unspecified. Repositories are only defined in
19-
terms of their message handling.
14+
As part of their intrinsic definition, repositories have schemas. Schemas in
15+
implementation and leaves them unspecified. Repository schemas in RIDDL have
16+
little relationship to SQL because they are not relational databases and indeed
17+
must support the schema for any kind of data storage. The schema is specified
18+
more like a graph database. A set of types defines what can be placed in
19+
the database, an optional set of links defines how the fields of those types
20+
are related, and a set of indices defines which fields the database indexes.
21+
22+
A repository may define multiple schemas, each with its own _kind_. The kind of
23+
schema may be: flat, relational, time-series, graphical, hierarchical, star,
24+
document, columnar, vector, or other. These are only suggestive of the kind of
25+
storage layout the repository uses.
2026

2127
## Handling Messages
2228
A repository has a [handler](handler.md) that processes

0 commit comments

Comments
 (0)