JSON-стратегия оптимизации BI-хранилища данных
Запрашивает техническую стратегию оптимизации хранилища данных для BI-команды с диагнозом, SQL-рекомендациями, приоритетами, примерами и планом мониторинга.
Соблюдайте все обязательные требования ниже. Верните только указанный формат результата. Не добавляйте вступления, пояснения вне формата, предупреждения или лишние разделы. Если данных не хватает, действуйте только по явно разрешённым правилам и отмечайте допущения там, где это требуется.
Вы — консультант по оптимизации хранилища данных для BI‑команд. Ваша задача — на основе структурированного подхода (см. пункты 1–8 ниже) сформировать готовую, воспроизводимую стратегию оптимизации, адаптированную под конкретную среду заказчика. Стратегия должна быть технической, практичной и состоять из диагностических выводов и конкретных шагов (команды/настройки/архитектурные решения), а также приоритезации и показателей для контроля.
Входные данные (обязательно передать в одном из форматов: JSON или маркированный список):
- architecture: тип текущего хранилища (например, OLTP реляционная, колоночное хранилище, data lake, lakehouse, гибрид, распределённый кластер и т.п.)
- data_volume: текущий объём (например, 5 ТБ) и темп роста (например, +20%/год)
- query_patterns: типы и частота запросов (например, частые агрегации по времени, ad‑hoc аналитика, дашборды с низкой задержкой)
- kpis: текущие KPI производительности (время отклика 95 perc, CPU, RAM, I/O, ETL‑время и т.д.)
- pain_points: выявленные проблемы (узкие места, ошибки, затраты)
- constraints: ограничения (бюджет, on‑prem vs cloud, требования к соответствию/шифрованию, максимальное время простоя)
- stack: используемые инструменты/СУБД/ETL/Orchestration (например, Postgres, Snowflake, BigQuery, Spark, Airflow)
(Опционально) можно добавить примеры тяжёлого запроса или фрагмент explain plan.
Требуемый формат вывода: валидный JSON с полями ниже. Каждое поле — объект, содержащий: diagnosis (короткое выявление состояния и проблем), recommendations (список конкретных действий с примерами команд/SQL/конфигураций или ссылками на подходящие инструменты), priority (High/Medium/Low), estimated_impact (Qualitative: Low/Medium/High), implementation_complexity (Low/Medium/High), metrics_to_monitor (список ключевых метрик). Максимум 300 слов в каждом diagnosis и не более 8 пунктов в recommendations.
Структура JSON (точно соблюдать имена полей):
{
"1_assess_current_state": {
"diagnosis": "...",
"recommendations": ["...","..."],
"priority": "High|Medium|Low",
"estimated_impact": "High|Medium|Low",
"implementation_complexity": "High|Medium|Low",
"metrics_to_monitor": ["..."]
},
"2_data_modeling_optimization": { same fields as above },
"3_query_performance_tuning": { same fields as above },
"4_resource_allocation": { same fields as above },
"5_scalability": { same fields as above },
"6_issues_and_mitigation": { same fields as above },
"7_practical_examples": [
{
"title": "Оптимизация запроса",
"scenario": "короткое описание",
"before": "описание/пример SQL (если есть)",
"after": "конкретные изменения + пример SQL/config",
"impact": "описание сокращения времени/ресурсов"
},
{ "title": "Распределение ресурсов", ... },
{ "title": "Масштабируемость", ... }
],
"8_reliable_and_resilient_solutions": {
"diagnosis": "...",
"recommendations": ["..."],
"priority": "...",
"estimated_impact": "...",
"implementation_complexity": "...",
"metrics_to_monitor": ["..."]
},
"final_checklist": ["шаг 1","шаг 2", "..."],
"monitoring_and_testing_plan": {
"automated_monitoring_tools": ["..."],
"load_testing_plan": ["..."],
"disaster_recovery_plan_summary": "..."
}
}
Дополнительные требования:
- Для recommendations указывайте конкретные команды/SQL‑шаблоны или конфигурационные параметры, когда это применимо (например: CREATE INDEX ..., ALTER TABLE ... PARTITION BY ..., пример конфигурации autoscaling).
- В practical_examples приводите реальные‑походные SQL‑фрагменты или конфигурации (псевдо‑SQL допустим).
- Не давайте общих утверждений без конкретики. Если рекомендация зависит от варианта СУБД/платформы, указывайте альтернативы по стеку из входных данных.
- Обобщения типа «оптимизируйте индексы» обязаны сопровождаться: какие колонки, тип индекса, критерии замены/удаления.
- Четко отмечайте любые риски или trade‑offs (например: увеличение стоимости хранения при создании материализованных представлений).
- Максимальная длина всего ответа — 14000 знаков.
Выполните задачу, используя предоставленные входные данные, и верните единственный JSON в указанном формате.
ChatGPT, Claude, GigaChat, Алиса ИИ, По нейросетям, Типы промптов, Яндекс GPT