Skip to content

docs: translate architecture docs to russian#123

Merged
ssnd merged 3 commits intomainfrom
0-docs-architecture-ru
Sep 10, 2025
Merged

docs: translate architecture docs to russian#123
ssnd merged 3 commits intomainfrom
0-docs-architecture-ru

Conversation

@eguguchkin
Copy link
Contributor

@eguguchkin eguguchkin commented Sep 9, 2025

Description

Translation of the Cluster-Mode Architecture documentation


  • I have read and followed all requirements in CONTRIBUTING.md;
  • I used LLM/AI assistance to make this pull request;

Summary by CodeRabbit

  • Documentation
    • Clarified replication/consistency note in the Architecture guide: potential inconsistencies now explicitly scoped to histogram and aggregation queries.
    • Added full Russian localization of the Architecture (cluster-mode) guide, including components overview, seq-db store/proxy, durability, read/write paths, replication/consistency notes, and localized diagrams/examples.
    • Formatting and language-style tweaks; content-only updates, no code or behavior changes.

@coderabbitai
Copy link

coderabbitai bot commented Sep 9, 2025

📝 Walkthrough

Walkthrough

Updated documentation only: a minor English wording change narrowing "inconsistencies" to histogram and aggregation queries, plus a full Russian localization of the architecture document (translated headings, sections, examples, and diagrams). No code or behavioral changes.

Changes

Cohort / File(s) Summary
EN architecture doc tweak
docs/en/13-architecture.md
Updated replication/consistency note to specify inconsistencies may occur for histogram and aggregation queries; textual change only.
RU architecture localization
docs/ru/13-architecture.md
Full Russian localization of the architecture document: translated headings, sections, examples, and Mermaid diagrams; terminology and formatting adapted; no semantic or functional changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

documentation

Suggested reviewers

  • forshev
  • ssnd
  • vano144

Pre-merge checks (3 passed)

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly describes the primary change of translating the architecture documentation into Russian, aligns with the modified files, and follows the conventional “docs:” prefix without extraneous detail.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d1b5c27 and f5547cb.

📒 Files selected for processing (2)
  • docs/en/13-architecture.md (1 hunks)
  • docs/ru/13-architecture.md (5 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/en/13-architecture.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/ru/13-architecture.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 0-docs-architecture-ru

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (8)
docs/en/13-architecture.md (5)

16-17: Fix Kubernetes term and wording.

  • Statefulset → StatefulSet
  • Share-nothing → Shared-nothing

Apply:

- - Deployed as k8s `Statefulset`
- - Share-nothing architecture: a seq-db store instance is unaware of any other stores.
+ - Deployed as k8s `StatefulSet`
+ - Shared-nothing architecture: a seq-db store instance is unaware of any other stores.

53-54: Typo: “maintans”.

Change to “maintains”.

- It maintans a user-defined cluster topology, and allows changes in read-write 
+ It maintains a user-defined cluster topology, and allows changes in read-write 

31-34: Add safety note for shard moves.

Copying live data dirs can corrupt shards. Mention stopping the pod or using FS snapshots.

- shard is straightforward: simply `cp` / `rsync` the directory
- to the target node and start the pod.
+ shard is straightforward: simply `cp` / `rsync` the directory
+ to the target node and start the pod. For safety, stop the store pod
+ (or use a filesystem snapshot) before copying.

40-43: Specify code fence language (MD040).

Mark this as text.

-```
+```text
 write, fsync   # .meta file
-write, fsync   # .data file
+write, fsync   # .docs file

---

`66-66`: **Consistent replication-factor notation.**

Use one style (RF). Header currently says rf.

```diff
-### Read-path & write-path (rf=2)
+### Read-path & write-path (RF=2)

Also applies to: 157-158

docs/ru/13-architecture.md (3)

14-16: Правки терминов: Kubernetes и shared-nothing.

  • Statefulset → StatefulSet
  • share-nothing → shared-nothing
-- Развертывается как k8s `Statefulset`
-— Архитектура без общего состояния (share-nothing): экземпляр seq-db store не знает о других store'ах.
+- Развертывается как k8s `StatefulSet`
+— Архитектура без общего состояния (shared-nothing): экземпляр seq-db store не знает о других store'ах.

34-37: Укажите язык блока кода (MD040).

Отметьте как text.

-```
+```text
 write, fsync   # файл .meta
-write, fsync   # файл .data
+write, fsync   # файл .docs

---

`53-55`: **Единообразие записи RF.**

В заголовке rf, ниже RF. Приведите к одному (RF).

```diff
-### Read-path & write-path (коэффициент репликации rf=2)
+### Read-path & write-path (коэффициент репликации RF=2)

Also applies to: 141-141

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a1939d1 and 041a197.

📒 Files selected for processing (2)
  • docs/en/13-architecture.md (1 hunks)
  • docs/ru/13-architecture.md (5 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
docs/ru/13-architecture.md

34-34: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
🔇 Additional comments (2)
docs/en/13-architecture.md (1)

22-29: .docs vs .data inconsistency.

The table lists .docs, but Durability shows .data. Align them; if .docs is canonical, fix Durability.

- write, fsync   # .data file
+ write, fsync   # .docs file

If .data is correct, please update the table accordingly instead.

Also applies to: 41-43

docs/ru/13-architecture.md (1)

21-26: Несоответствие: .docs vs .data.

В таблице — .docs, в Durability — .data. Приведите к одному. Если верно .docs, правка ниже.

-write, fsync   # файл .data
+write, fsync   # файл .docs

Если верно .data, обновите таблицу.

Also applies to: 35-37

@codecov-commenter
Copy link

codecov-commenter commented Sep 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.47%. Comparing base (f80709c) to head (4cdcd6d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #123      +/-   ##
==========================================
- Coverage   71.52%   71.47%   -0.05%     
==========================================
  Files         201      201              
  Lines       18167    18167              
==========================================
- Hits        12994    12985       -9     
- Misses       4453     4461       +8     
- Partials      720      721       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@eguguchkin eguguchkin force-pushed the 0-docs-architecture-ru branch from 041a197 to db0bd71 Compare September 9, 2025 11:24
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/ru/13-architecture.md (1)

138-140: Past suggestion applied — looks good.

“failed” replaced with «завершилась ошибкой». Thank you for fixing.

🧹 Nitpick comments (2)
docs/ru/13-architecture.md (2)

14-16: Terminology consistency: Kubernetes kind, architecture term, RF casing.

  • Kubernetes: “StatefulSet” (capital S) is the canonical kind.
  • Architecture: “shared-nothing” (not “share-nothing”).
  • Replication factor: use one casing consistently (“RF”), and avoid hyphen in “replication factor”.
- - Развертывается как k8s `Statefulset`
+ - Развертывается как k8s `StatefulSet`

- - Архитектура без общего состояния (share-nothing): экземпляр seq-db store не знает о других store'ах.
+ - Архитектура без общего состояния (shared-nothing): экземпляр seq-db store не знает о других store'ах.

- ### Read-path & write-path (коэффициент репликации rf=2)
+ ### Read-path & write-path (коэффициент репликации RF=2)

- Давайте рассмотрим пример архитектуры с 4 шардами seq-db и коэффициентом репликации (replication-factor)=2
+ Давайте рассмотрим пример архитектуры с 4 шардами seq-db и коэффициентом репликации (replication factor)=2

Also applies to: 53-55, 140-142


76-86: Confirm routing logic: “random shard” for writes.

For writes, shard selection is usually by sharding key; “выбирает случайный шард” might mislead. If randomness is intended only when no routing key is set, clarify it.

Possible rewording:

  • “seq-db proxy выбирает целевой шард в соответствии с ключом шардирования (или случайно при его отсутствии)”.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 041a197 and db0bd71.

📒 Files selected for processing (2)
  • docs/en/13-architecture.md (1 hunks)
  • docs/ru/13-architecture.md (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/en/13-architecture.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
docs/ru/13-architecture.md

34-34: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
🔇 Additional comments (1)
docs/ru/13-architecture.md (1)

29-30: Internal link valid and localized RU doc found.
The path internal/fractions.md resolves to docs/ru/internal/fractions.md, so no update needed.

@eguguchkin eguguchkin force-pushed the 0-docs-architecture-ru branch from db0bd71 to d1b5c27 Compare September 10, 2025 09:46
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

♻️ Duplicate comments (1)
docs/ru/13-architecture.md (1)

138-139: Resolved: “failed” localized to Russian.

Previous note addressed; wording now reads naturally.

🧹 Nitpick comments (5)
docs/ru/13-architecture.md (5)

34-37: Add language tag and fix file extension in durability snippet.

Brings markdownlint into compliance (MD040) and aligns with the file types table (.docs/.meta/.index).

-```
-write, fsync   # файл .meta
-write, fsync   # файл .data
-```
+```text
+write, fsync   # файл .meta
+write, fsync   # файл .docs
+```

14-16: Terminology fixes: Kubernetes kind and architecture name.

Proper casing and spelling: StatefulSet; shared-nothing.

-- Развертывается как k8s `Statefulset`
-— Архитектура без общего состояния (share-nothing): экземпляр seq-db store не знает о других store'ах.
+- Развертывается как k8s `StatefulSet`
+— Архитектура без общего состояния (shared-nothing): экземпляр seq-db store не знает о других store'ах.

27-27: Use Kubernetes resource name “Pod”.

-... и запустить под.
+... и запустить Pod.

53-55: Minor wording: replication-factor formatting and consistency.

-### Read-path & write-path (коэффициент репликации rf=2)
+### Read-path & write-path (коэффициент репликации, replication factor = 2)

-Давайте рассмотрим пример архитектуры с 4 шардами seq-db и коэффициентом репликации (replication-factor)=2 (каждый лог должен храниться в двух отдельных seq-db stores).
+Давайте рассмотрим пример архитектуры с 4 шардами seq-db и коэффициентом репликации (replication factor) = 2 (каждый лог должен храниться в двух отдельных seq-db store'ах).

58-59: Clarify RF acknowledgement phrasing for consistency.

Align “acks from all replicas” with the RF guarantee wording.

-Запись фиксируется (commit) только после того, как seq-db proxy получает подтверждение (ack) **от всех реплик целевого шарда**.
+Запись фиксируется (commit) только после того, как seq-db proxy получает подтверждение (ack) **от всех (RF) реплик целевого шарда**.

-... операция записи завершится успехом, только если как минимум RF реплик сохранили данные на диск.
+... операция записи завершится успехом, только если **все (RF) реплики** сохранили данные на диск.

Also applies to: 140-141

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between db0bd71 and d1b5c27.

📒 Files selected for processing (2)
  • docs/en/13-architecture.md (1 hunks)
  • docs/ru/13-architecture.md (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/en/13-architecture.md
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
docs/ru/13-architecture.md

34-34: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: test
🔇 Additional comments (1)
docs/ru/13-architecture.md (1)

29-29: Link target valid: The relative link internal/fractions.md in docs/ru/13-architecture.md resolves to docs/ru/internal/fractions.md, which exists; no change required.

@eguguchkin eguguchkin force-pushed the 0-docs-architecture-ru branch from d1b5c27 to f5547cb Compare September 10, 2025 11:16
@ssnd ssnd enabled auto-merge (squash) September 10, 2025 11:56
@ssnd ssnd merged commit 074b1f6 into main Sep 10, 2025
7 checks passed
@ssnd ssnd deleted the 0-docs-architecture-ru branch September 10, 2025 12:00
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

Successfully merging this pull request may close these issues.

4 participants