Домен
Базы данных
Профиль навыка
Нормализация, денормализация, Star/Snowflake schema, entity modeling
Ролей
17
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
74
ещё 11 — необязательные
Базы данных
Моделирование данных
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Понимает основы модели данных 1С:Предприятие: регистры, документы, справочники и их связи. Следует установленным паттернам схем для учётных и ERP-структур данных. Использует метаданные платформы для навигации по существующим моделям данных. | |
| Analytics Engineer | Обязателен | Понимает базовые концепции моделирования данных: таблицы фактов и измерений, star schema. Создаёт простые dbt staging-модели по шаблонам команды. Документирует модели в YAML-файлах с описаниями колонок. |
| Backend Developer (C#/.NET) | Обязателен | Проектирует схемы через EF Core: Entity classes, связи Navigation Properties, owned types для value objects. Понимает нормализацию. Использует Fluent API для конфигурации. |
| Backend Developer (Elixir) | Обязателен | Создаёт базовые Ecto-схемы с типами полей и валидациями через changeset в Elixir-проектах. Определяет ассоциации has_many, belongs_to и many_to_many. Использует embedded_schema для вложенных структур и cast_assoc для валидации связанных данных. |
| Backend Developer (Go) | Обязателен | Проектирует простые схемы данных для Go-сервисов: таблицы с корректными типами, внешние ключи, базовая нормализация до 3NF. Описывает модели через GORM-теги или SQL-файлы golang-migrate, понимает связи one-to-many и many-to-many. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует простые схемы данных с JPA: Entity, связи @OneToMany/@ManyToMany, embedded types. Понимает нормализацию. Использует @Enumerated, @Temporal для типизации колонок. |
| Backend Developer (Node.js) | Обязателен | Проектирует модели через Prisma schema: модели, связи (1:1, 1:N, M:N), enums. Понимает нормализацию. Использует Prisma relations для type-safe data access. |
| Backend Developer (PHP) | Обязателен | Проектирует простые схемы: таблицы, связи один-к-одному, один-ко-многим, многие-ко-многим. Нормализует до 3NF. Выбирает правильные типы данных. Понимает, когда нужен soft delete. |
| Backend Developer (Python) | Обязателен | Создаёт базовые схемы с таблицами и связями. Понимает 1:1, 1:N, N:M отношения. Применяет нормализацию до 3NF. Использует правильные типы данных. |
| Backend Developer (Rust) | Обязателен | Проектирует простые модели данных для Rust-приложений, создавая struct-определения с derive(sqlx::FromRow) или Diesel-схемами. Понимает маппинг между Rust-типами и PostgreSQL, использует Option<T> для nullable-полей и enum-типы через sqlx::Type. |
| Backend Developer (Scala) | Обязателен | Создаёт базовые модели данных для Scala-приложений: определяет case class-ы для доменных сущностей, маппит их на таблицы PostgreSQL через Doobie или Slick. Понимает нормализацию до 3NF, проектирует простые связи между таблицами и использует типы Scala для выражения ограничений модели. |
| BI Analyst | Обязателен | Понимает основы моделирования данных: схемы звезда и снежинка, таблицы фактов и измерений. Следует командным конвенциям для построения BI-оптимизированных моделей данных. Использует существующие размерные модели для построения точных отчётов и дашбордов. |
| Data Analyst | Обязателен | Понимает основы реляционного моделирования данных: нормализация, первичные/внешние ключи и связи сущностей. Следует командным паттернам для структурирования аналитических таблиц. Использует ER-диаграммы для понимания зависимостей данных для точного анализа. |
| Data Engineer | Обязателен | Проектирует таблицы data warehouse: star schema (fact + dimension), типы SCD (Type 1, 2). Создаёт staging, intermediate и mart слои. Понимает нормализацию и денормализацию для аналитики. |
| Database Engineer / DBA | Проектирует простые схемы: нормализация до 3NF, выбор типов данных, constraints (NOT NULL, UNIQUE, FK). Создаёт ER-диаграммы для небольших модулей. Понимает разницу между OLTP и OLAP моделирование. | |
| Fullstack Developer | Создаёт базовые модели данных для fullstack-фич: таблицы с правильными типами, внешние ключи, NOT NULL ограничения. Понимает связь между схемой БД, типами на бэкенде (TypeScript-интерфейсы) и структурой данных на фронтенде. | |
| ML Engineer | Понимает базовые принципы моделирования данных: сущности, отношения и нормализация. Знает структуры данных для хранения ML-метаданных: эксперименты, модели, датасеты и метрики. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует ORM эффективно. | |
| Analytics Engineer | Обязателен | Проектирует dbt-модели по слоям: staging для очистки сырых данных, intermediate для бизнес-логики, marts для потребителей. Применяет dimensional modeling (Kimball) для аналитических витрин. Реализует SCD Type 2 для исторических измерений. |
| Backend Developer (C#/.NET) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Entity Framework Core эффективно. |
| Backend Developer (Elixir) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Ecto эффективно. |
| Backend Developer (Go) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует sqlx/GORM эффективно. |
| Backend Developer (Java/Kotlin) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Hibernate/JPA эффективно. |
| Backend Developer (Node.js) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Prisma/TypeORM эффективно. |
| Backend Developer (PHP) | Обязателен | Проектирует схемы данных для бизнес-доменов: нормализация до 3NF, денормализация для производительности, полиморфные связи. Моделирует soft deletes, версионирование записей, аудит-логи. Выбирает между EAV и JSON-колонками для гибких атрибутов. |
| Backend Developer (Python) | Обязателен | Проектирует схемы для микросервисов. Применяет денормализацию для performance. Моделирует полиморфные связи (STI, MTI). Проектирует audit trails и soft deletes. Использует JSONB для flexible data. |
| Backend Developer (Rust) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует diesel/sea-orm эффективно. |
| Backend Developer (Scala) | Обязателен | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Slick/Doobie эффективно. |
| BI Analyst | Обязателен | Самостоятельно проектирует размерные модели для BI-отчётности. Реализует медленно меняющиеся измерения (SCD Type 1/2), согласованные измерения и агрегатные таблицы. Оптимизирует модели данных для производительности запросов дашбордов с правильной индексацией и партиционированием. |
| Data Analyst | Обязателен | Самостоятельно проектирует аналитические модели данных с подходящими уровнями нормализации. Реализует материализованные представления и сводные таблицы для повторяющихся паттернов анализа. Понимает компромиссы между нормализованными и денормализованными схемами для аналитических нагрузок. |
| Data Engineer | Обязателен | Проектирует dimensional модели: Kimball methodology (conformed dimensions, bus matrix), Data Vault (hubs, links, satellites). Применяет SCD Type 2 с effective dates. Моделирует semi-structured данные. |
| Database Engineer / DBA | Проектирует схемы для production: выбор между нормализацией и денормализацией по workload, partitioning strategy, архивирование данных. Учитывает growth patterns при выборе типов данных и partition keys. | |
| Fullstack Developer | Самостоятельно проектирует схемы и оптимизирует запросы с Проектирование схем данных. Понимает индексирование и планы выполнения запросов. Использует Prisma/SQLAlchemy эффективно. | |
| ML Engineer | Проектирует схемы данных для ML-платформы: feature store schema, experiment metadata, model registry и prediction logs. Применяет паттерны для версионирования данных и моделей с lineage tracking. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Проектирует database-архитектуру с Проектирование схем данных для высоконагруженных систем. Оптимизирует производительность, настраивает репликацию и шардирование. |
| Analytics Engineer | Обязателен | Проектирует сложные аналитические модели: wide tables для BI-инструментов, activity schema для event-аналитики, bridge-таблицы для many-to-many связей. Оптимизирует dbt DAG: устраняет circular dependencies, минимизирует compute через правильную слоёность. |
| Backend Developer (C#/.NET) | Обязателен | Проектирует доменные модели: DDD Aggregates через EF Core, Value Objects через Owned Types, soft deletes через query filters. Выбирает между EF Core и документной БД по контексту. |
| Backend Developer (Elixir) | Обязателен | Проектирует сложные модели данных с Ecto для PostgreSQL: полиморфные ассоциации, STI через поле type, JSONB-колонки с Ecto.Type. Реализует кастомные Ecto.Type для domain-specific типов, применяет Ecto.Changeset для сложной бизнес-валидации с контекстами. |
| Backend Developer (Go) | Обязателен | Проектирует оптимальные схемы данных для Go-микросервисов: стратегии денормализации для read-heavy нагрузок, JSON-столбцы в PostgreSQL, партиционирование. Разрабатывает domain-модели через чистую архитектуру с разделением на entities и value objects. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует доменные модели для Java-сервисов: Aggregates в JPA, Value Objects через @Embeddable, soft deletes через @Where, audit через @EntityListeners. Выбирает между JPA и документами (MongoDB) по контексту. |
| Backend Developer (Node.js) | Обязателен | Проектирует доменные модели: DDD aggregates через Prisma, value objects через embedded types, soft deletes через middleware. Выбирает relational vs document model по контексту. |
| Backend Developer (PHP) | Обязателен | Проектирует схемы для сложных доменов: полиморфные связи, EAV для гибких атрибутов, temporal data, audit trails. Применяет денормализацию для production. Моделирует bounded contexts. |
| Backend Developer (Python) | Обязателен | Проектирует domain models для сложных бизнес-доменов. Применяет DDD при моделировании. Проектирует event-sourced хранилище. Оптимизирует схему для read-heavy и write-heavy нагрузок. |
| Backend Developer (Rust) | Обязателен | Разрабатывает доменные модели данных для Rust-сервисов с разделением на persistence и domain layers. Применяет newtype-паттерны для ID-типов (UserId(Uuid)), JSONB для гибких атрибутов через serde, и проектирует нормализованные схемы с учётом query-паттернов. |
| Backend Developer (Scala) | Обязателен | Проектирует доменные модели данных для Scala-сервисов: применяет DDD-подход с sealed trait ADT для состояний, JSONB для гибких структур, temporal-таблицы для аудита. Оптимизирует схемы с учётом паттернов доступа, реализует эффективную сериализацию через Circe и кодеки для Doobie. |
| BI Analyst | Обязателен | Проектирует размерные модели корпоративного уровня, охватывающие несколько бизнес-доменов. Внедряет паттерны Data Vault 2.0 для исторического трекинга и аудируемости. Архитектурирует семантические слои, связывающие физические модели данных с бизнес-понятными абстракциями. |
| Data Analyst | Обязателен | Проектирует сложные аналитические модели данных для кросс-доменного анализа с оптимизированными паттернами запросов. Внедряет продвинутые техники моделирования: bridge-таблицы, безфактовые факты и накопительные снэпшоты. Менторит аналитиков по лучшим практикам моделирования и эволюции схем. |
| Data Engineer | Обязателен | Проектирует enterprise data модели: Data Vault 2.0 для гибкости, Anchor Modeling для high-change environments, wide tables для ClickHouse. Определяет layered architecture: raw → staging → curated → mart. |
| Database Engineer / DBA | Обязателен | Проектирует data models для highload систем: шардирование с учётом data distribution, temporal tables, polymorphic associations. Определяет стратегию schema evolution: backward compatible changes, expand-and-contract pattern. |
| Fullstack Developer | Обязателен | Проектирует модели данных fullstack-приложений сквозь весь стек: нормализованная схема БД, DTO-трансформация на бэкенде, нормализованный стор на фронтенде. Применяет DDD-подход, разделяет read/write модели и оптимизирует под паттерны использования UI. |
| ML Engineer | Разрабатывает комплексную модель данных ML-платформы с поддержкой multi-tenant, schema evolution и time-travel queries. Проектирует data contracts между producers и consumers в ML-пайплайнах. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Определяет стратегию работы с данными на уровне продукта. Формирует стандарты Проектирование схем данных. Проводит review схем данных и стратегий масштабирования. |
| Analytics Engineer | Обязателен | Определяет стандарты моделирования данных для организации: naming conventions, слоёность dbt-проекта (staging/intermediate/marts), обязательные тесты и документация. Внедряет data mesh подходы с domain-ориентированными моделями. |
| Backend Developer (C#/.NET) | Обязателен | Определяет стандарты моделирования: EF Core conventions, naming strategy, documentation. Ревьюит модели на DDD compliance и performance. |
| Backend Developer (Elixir) | Обязателен | Определяет архитектуру моделей данных для Elixir-платформы. Проектирует bounded contexts через отдельные Ecto-схемы и контексты Phoenix. Внедряет event sourcing с Commanded/EventStore, определяет стандарты моделирования агрегатов и value objects через embedded_schema. |
| Backend Developer (Go) | Обязателен | Определяет стандарты моделирования данных для Go-платформы: конвенции именования, политики партиционирования, стратегии работы с multi-tenant данными. Ревьюит архитектуру данных команды, обеспечивая согласованность между микросервисами. |
| Backend Developer (Java/Kotlin) | Обязателен | Определяет стандарты моделирования данных: JPA conventions, naming strategy, schema documentation. Ревьюит модели на предмет DDD compliance и performance implications. |
| Backend Developer (Node.js) | Обязателен | Определяет стандарты моделирования: naming conventions, Prisma schema conventions, documentation. Ревьюит модели на DDD compliance и performance impact. |
| Backend Developer (PHP) | Обязателен | Определяет стандарты моделирования данных: naming conventions, обязательные поля (timestamps, soft deletes), подход к версионированию схем. Ревьюит модели новых модулей. |
| Backend Developer (Python) | Обязателен | Определяет data modeling standards для организации. Проектирует cross-service data architecture. Внедряет data governance. Обучает команду. |
| Backend Developer (Rust) | Обязателен | Проектирует модели данных для Rust-микросервисной платформы: bounded contexts с отдельными схемами, event-sourcing через append-only таблицы. Разрабатывает shared-библиотеки доменных типов (domain-primitives крейт) и стандарты сериализации через serde для межсервисного обмена. |
| Backend Developer (Scala) | Обязателен | Определяет стандарты моделирования данных в Scala-команде: правила проектирования схем, именования таблиц, использования JSONB vs нормализации. Ревьюит доменные модели на соответствие bounded context, внедряет Event Sourcing модели с Akka Persistence для критичных агрегатов. |
| BI Analyst | Обязателен | Определяет стандарты моделирования данных для BI-организации. Устанавливает конвенции именования, гайдлайны моделирования и процессы ревью. Координирует управление размерными моделями между командами с правилами соответствия и управлением общими измерениями. |
| Data Analyst | Обязателен | Определяет стандарты моделирования данных среди аналитических команд. Устанавливает процессы ревью проектирования схем, гайдлайны миграции и правила обратной совместимости. Продвигает adoption консистентных паттернов моделирования и общих аналитических витрин. |
| Data Engineer | Обязателен | Определяет стандарты data modeling: naming conventions, documentation requirements, review процесс. Выбирает подход (Kimball vs Inmon vs Data Vault) по контексту. Обучает команду modeling best practices. |
| Database Engineer / DBA | Обязателен | Определяет стандарты data modeling: naming conventions, типы данных по СУБД, partitioning guidelines. Проводит design review для критичных схем. Координирует data modeling practices между product и DBA командами. |
| Fullstack Developer | Обязателен | Определяет архитектуру моделирования данных fullstack-платформы: единый источник истины в схеме БД, автогенерация типов для бэкенда и фронтенда через Prisma/GraphQL codegen. Устанавливает стандарты именования и эволюции моделей для команды. |
| ML Engineer | Определяет стандарты моделирования данных для ML-экосистемы организации: feature schemas, model signatures, dataset catalogs. Проектирует unified data model для связи экспериментов, моделей и production метрик. |
| Роль | Обязательность | Описание |
|---|---|---|
| 1С Developer | Обязателен | Определяет стратегию моделирования данных на уровне организации для экосистемы платформы 1С:Предприятие. Проектирует архитектуры межсистемного обмена данными и паттерны управления мастер-данными. Формирует организационные стандарты управления метаданными платформы и эволюции схем. |
| Analytics Engineer | Обязателен | Проектирует архитектуру моделирования данных предприятия: единый semantic layer через dbt metrics/MetricFlow, data vault для исторического хранения, domain-driven модели. Определяет баланс между нормализацией и денормализацией для разных потребителей. |
| Backend Developer (C#/.NET) | Обязателен | Проектирует data-модель платформы: bounded context → database mapping, shared entities через domain events, data mesh. Определяет стратегию schema evolution. |
| Backend Developer (Elixir) | Обязателен | Разрабатывает стратегию моделирования данных на уровне всей организации. Определяет стандарты DDD с Ecto-контекстами и bounded contexts, проектирует интеграцию между доменами через события. Внедряет CQRS с Commanded для сложных бизнес-доменов в Elixir-экосистеме. |
| Backend Developer (Go) | Обязателен | Формирует организационную стратегию моделирования данных: стандарты проектирования схем для OLTP и OLAP, data governance политики, мастер-данные. Разрабатывает платформенные инструменты для визуализации и валидации схем данных всех Go-сервисов. |
| Backend Developer (Java/Kotlin) | Обязателен | Проектирует data-модель платформы: bounded context → database mapping, shared entities через domain events, data mesh principles. Определяет стратегию эволюции схемы без breaking changes. |
| Backend Developer (Node.js) | Обязателен | Проектирует data модель платформы: bounded context → database mapping, shared types через npm packages, event-driven data sync между сервисами. |
| Backend Developer (PHP) | Обязателен | Проектирует data model на уровне платформы: shared vs isolated databases, data mesh, cross-service data contracts. Определяет стратегию эволюции модели данных организации. |
| Backend Developer (Python) | Обязателен | Формирует data architecture strategy. Проектирует enterprise data model. Определяет data mesh principles. |
| Backend Developer (Rust) | Обязателен | Определяет стратегию моделирования данных организации: DDD-подходы с aggregate roots как Rust-структурами, CQRS с projection-таблицами, multi-model хранилища. Формирует стандарты data governance, schema registry для событий и архитектуру master data management. |
| Backend Developer (Scala) | Обязателен | Принимает стратегические решения по архитектуре данных платформы: выбор между реляционной и событийной моделью, стандарты Schema Registry для межсервисного взаимодействия. Определяет Data Mesh подход для Scala-микросервисов, проектирует модели данных с учётом масштабирования, compliance и аналитических потребностей. |
| BI Analyst | Обязателен | Определяет стратегию моделирования данных на уровне организации, охватывающую операционные и аналитические системы. Оценивает методологии моделирования (Kimball, Inmon, Data Vault) и формирует организационные стандарты. Продвигает фреймворк управления моделями данных в соответствии с data mesh. |
| Data Analyst | Обязателен | Формирует видение моделирования аналитических данных и стандарты кросс-доменных схем на уровне организации. Продвигает организационное adoption современных практик моделирования (Activity Schema, One Big Table). Определяет долгосрочную дорожную карту архитектуры данных с выбором методологий моделирования. |
| Data Engineer | Обязателен | Проектирует data modeling стратегию организации: domain-driven data models, canonical data model, data mesh domain boundaries. Определяет governance для entity resolution и master data management. |
| Database Engineer / DBA | Обязателен | Формирует data modeling стратегию организации: domain-driven data design, data mesh principles, enterprise data model. Определяет стандарты моделирования для разных СУБД и use cases, включая multi-model approaches. |
| Fullstack Developer | Обязателен | Формирует стратегию моделирования данных организации: domain-driven design в fullstack-контексте, версионирование моделей, эволюция схемы без breaking changes. Проектирует платформу для управления моделями данных в масштабе множества продуктов. |
| ML Engineer | Формирует стратегию управления данными ML-платформы с data mesh подходом и domain-driven design. Определяет архитектуру data governance для ML: data quality, privacy, lineage и compliance на масштабе организации. |