Entities
BE-сутності stack-golden. Основна частина — MongoDB колекції з префіксом golden_*. Окремо — ClickHouse таблиці для аналітики. Після назви — лінк на entity-сторінку (→ [[Name]]) або → — якщо окремої сторінки нема (лог / буфер / сміття або ще не написана).
DB-аудит (індекси / плани запитів)
Health-аудит колекцій по даних з DB Analytics (technical_department/db_analytics у stack) — індекси, плани, COLLSCAN, фрагментація. Метод і знімки фрагментації спільної бази — db-analysis.
Стан: 🔴 проблема · 🟡 дрібниця (зайвий/невикористаний індекс) · 🟢 ок · ✅ виправлено й підтверджено. Один рядок = один знімок (дата в «Знято»). Після фіксу додаємо НОВИЙ рядок з пізнішою датою — щоб порівняти було/стало: індекс з’явився, розмір виріс, COLLSCAN зник чи ні. Усі числа — з тулу (картки Docs / Indexes к-сть / Indexes MB / блок Profiler).
| Колекція | Знято | Docs | Idx | Idx, MB | Профайлер (COLLSCAN) | Стан | Фікс / зміна |
|---|---|---|---|---|---|---|---|
golden_extension_messages | 17.06 | 485K | 1 | 8.9 | 1891/1892 ops COLLSCAN · examined ~390K · max 7.2s | 🟢 | + { ladyId_api: 1, type: 1 } (0348d44). ✅ 18.06: index 1744 ops, lookups IXSCAN, COLLSCAN ~390K зник. Лишився окремий bulk-read getmore 65K (examined≈returned — не missing-index) |
golden_extension_mails | 17.06 | 230K | 1 | 4.1 | 1174/1174 ops COLLSCAN · examined ~221K · max 2.7s | 🟢 | + { ladyId_api: 1, type: 1, expired: 1 } (24820c2). ✅ 18.06: index 1941 ops, IXSCAN; bulk-read getmore 16K лишився (окремо) |
golden_electron_logs | 17.06 | 136K | 1 | 24.3 | 1050/1050 COLLSCAN ~135K · max 2s · FRAG 88% (94.6 MB reusable) | 🟢 | FRAG ✅ compact −128 MB + чистка (136K→4.3K). + index { ladyId_api: 1, type: 1 } + TTL createdDate 30д (8404967). ✅ 18.06: COLLSCAN→0, index 2056 ops, TTL тримає docs 4.1K, storage 0.9 MB. (тулів WARN хибний — TTL-індекс рахується як unused) |
golden_man_profiles | 17.06 | 125K | 1 | 21.1 | 94/94 COLLSCAN ~125K · max 2.3s · FRAG 90% (89.2 MB reusable) | 🟡 | + { manId_api: 1 } (bf1c9ca). ✅ 18.06: updates IXSCAN examined 125K→193. ⏳ FRAG 90% ще — compact pending (re-bloat від churn). getmore COLLSCAN 102K = cache-load find({}) на старті |
golden_task_archives | 17.06 | 1.07M | 1 | 11.3 | 0 slow ops (холодна) | 🟢 | Перевірено: запити по dateCreated лише рідкі (daily cleanup + dashboard) → COLLSCAN терпимий, індекс не вартий write-оверхеду на архів. Дія не потрібна |
golden_favorites | 17.06 | 152K | 3 | 5.1 | 181/226 COLLSCAN по contactDetails.email ~152K · max 803ms (core ladyId_api ✓ IXSCAN) | 🟢 | + { 'contactDetails.email': 1 } sparse, − зайвий { ladyId_api: 1 } (a7a5838). ✅ 18.06: email IXSCAN (examined 152K→~5K), зайвий dropped, lookups на compound-префіксі. Вердикт OK |
golden_history_sending_mails | 17.06 | 7.1M | 2 | 919.7 | 32 IXSCAN (examined 219K→11, max 7.7s) · FRAG 74% (564 MB reusable) · indexes>data | 🟡 | ✅ 18.06 storage: compact утримався (766→208, idx 919→243, reusable 2%). ❌ запит ще 13s (command IXSCAN examined 186K→10). TODO: retention — нащо тримаємо історію 7.1M так довго? + дубль даних із golden_send_mail_histories (пишемо в обидві). Опц. запит-фікс: {ladyId_api:1, type:1, timestamp:-1} + DISTINCT_SCAN |
MongoDB
Admin / Agency
golden_admins— Адмін-акаунт на партнерському API (id_api+password) для запитів до goldenbride.net → —golden_agensy_list— Список зовнішніх агенцій → —golden_actual_agency_man— RU що зараз у партнерських агенціях — для виключення з sender → —golden_keys— Cookie/token-кеш для авторизованих API сесій до goldenbride.net → —
Lady (TU)
golden_lady— TU, центральна сутність (прив’язка до операторів / тімлідів / клієнт-менеджера) → —golden_lady_event_logs— Журнал подій по TU (зміни рівня, переходи між операторами) → —
Man (RU)
golden_man_profile— Кеш профілів RU (з поляризацією заlastOnline) → —golden_global_mans— Global RU registry (RU з якими хтось переписувався) → —
Operator activity
golden_action_operators— Денні дії оператора (новий формат,yearMonthDay+operatorFamilyId) → —golden_operators_activity— Інтервали активності оператора у грі/sender (з 2026-06 сесія несеsleepModetrue/false; старі сесії — без поля) → —golden_temp_automatic_operator_actions— Буфер сирих авто-actions з electron до агрегації → —golden_temp_manual_operator_actions— Буфер сирих manual-actions з electron → —
Tasks
golden_task— Активні таски (ChatActive, UnansweredMail, NeedToWriteMessage, Like тощо) → —golden_task_archive— Закриті/відповіджені таски — для статистики → —golden_task_dashboards— Кешовані dashboard-агрегати тасків → —
Statistics
golden_statistic— Денний бонус-запис (ladyId_api×manId_api×operation×sum) → —golden_temp_statistics— Буфер сьогоднішніх бонусів до перенесення вgolden_statistic→ —golden_statistics_relations— Зв’язки TU↔оператор↔тімлід↔КМ по даті для StatisticsV2 → —
Online time
golden_online_time— Інтервали онлайну оператора (start/stop) → —golden_online_time_temp— Буфер незавершених онлайн-сесій → —golden_lady_online— Онлайн TU за день (точки таймлайну) → —golden_stream_time— Інтервали стрімінгу TU (video) → —
Online analysis
golden_online_users— Денні агрегати онлайну RU → —golden_weekly_online_users— Тижневі агрегати онлайну RU → —
Favorites
golden_favorites— Favorites: пари TU↔RU з історією зустрічей, контактами, статусом → —golden_calendar— Календар спілкування по парі (день → активність) → —golden_other_bonuses— Кастомні бонуси/штрафи прив’язані до пар → —
Sender configuration
golden_extension_message— Approved chat-invites для chat-sender → —golden_extension_mail— Approved mail-invites для mail-sender → —golden_extension_white_list— White-list RU по TU для chat-sender → —golden_sender_state— Стан chat/mail sender по TU (invite ids + image ids) → —
Chat history
golden_history_sending_messages— Історія відправлених chat-invites (InitiatorType: User/Sender) → —golden_bad_words— Слова що блокує Golden (для diagnostics) → —
Mail history & lists
golden_send_mail_history— Базова історія mail-надсилань (NAF/FANM) → —golden_history_sending_mails— Детальна історія mail-sender відправок → —golden_history_user_sending_mail— Manual mail-user відправки (не sender) → —golden_converted_mail_history— Конвертовані mail записи для агрегатів → —golden_naf_black_list— Blacklist для NAF-розсилки (FAV) → —golden_fanm_black_list— Blacklist для FANM-розсилки (NEW) → —golden_block_list— Centralized block-list TU (sender взагалі не чіпає) → —
Audit (GoldenLog)
golden_log_lady— Audit-журнал змін TU (адмін, тімлід, оператор, КМ) → —golden_log_operator— Audit-журнал змін operator family → —golden_log_supervisor— Audit-журнал змін supervisor family → —
Error reports
golden_error_report— Помилки запитів до партнерського API → —
Electron
golden_user_devices— Зареєстровані пристрої операторів (для логіну в electron) → —golden_electron_logs— Логи з electron-клієнта (sync raw з пристроїв) → —
ClickHouse
Аналітичні таблиці. Репозиторії наслідують BaseClickHouseRepository. Деталі схеми/міграції — src/golden/clickhouse/migrations/.
golden_ru_daily_activity— Хвилини онлайну RU за день → —golden_general_metric_data— Кожна витрата RU по парі TU↔RU + lifetime / retention-категорія / ознака повернення → —golden_block_list_history— Журнал змін блок-листа TU → —golden_profile_views— Перегляди профілю TU/RU по годинах → —golden_sender_answers— Чи RU відповів на chat-sender invite (answered/not_answered) для answer-rate → —golden_request_logs— Лог усіх HTTP-запитів сервісу (роль, юзер, роут, результат, durationMs; TTL 2 міс) → request-analytics