Firestore 데이터 → Firebase Event 이관 계획서

📌 이관 배경 및 목적

배경: 기존 Firestore에 대량으로 누적되던 로그성 데이터로 인해 스토리지 비용 및 읽기/쓰기 비용 지속 증가

목적: 무제한 무료 적재가 가능한 Firebase Analytics Event 파라미터 방식으로 전환하여 인프라 비용 대폭 절감

⚠️ 구조적 제약 사항: Firebase Event는 단일 이벤트당 최대 25개의 파라미터만 실시간 전송이 가능합니다. 이에 따라 파라미터 개수가 25개를 초과하는 대용량 데이터군에 한하여 이벤트를 분할하여 설계합니다.

💡 [중요 확인 사항] mylist 데이터 수정 관련

유저가 mylist를 수정할 때 저장되는 데이터는 총 파라미터 개수가 25개 이하로 제약 조건을 넘지 않습니다.

따라서 데이터가 분할되지 않으며, mylist_worker_data 단일 이벤트에 모든 파라미터가 유실 없이 함께 기록됩니다.

1. 📅 일일 로깅 데이터 (Worker Data) 이관 구조

매일 1회 기록되던 대용량 로깅 데이터는 총 파라미터 개수가 25개를 초과하므로 아래와 같이 submit_worker_data_1submit_worker_data_2로 쪼개져 저장됩니다.

[이벤트 1] submit_worker_data_1

파라미터명 (Parameter) 비고
thank_image_count-
thank_today_content-
todo_today_content-
action-
ad_id★ 데이터 결합용 공통 식별자
affirmation_today_content-
api_level-
app_package_suffix-
categorys-
date_submitted★ 데이터 결합용 날짜 식별자
dismiss_affirmation_count-
ui-
unlock_word-
user_os_version-
yesterday_lock_count-
dismiss_mylist_count-
dismiss_quote_count-

[이벤트 2] submit_worker_data_2

파라미터명 (Parameter) 비고
ad_id★ 데이터 결합용 공통 식별자
affirmation_image_count-
app_package_suffix-
category_view_type-
date_submitted★ 데이터 결합용 날짜 식별자
delivery_enable_list-
favorite_quote_count-
goal_image_count-
goal_today_content-
idea_image_count-
idea_today_content-
my_item_count_list-
package_name-
quote_image_count-
show_off_app_time-
today_lock_count-
today_read_count-
todo_image_count-
total_read_count-
version-

2. 🤖 GPT 상담 데이터 (ai_counsel_data) 이관 구조

GPT와의 대화 및 상담 기록 데이터는 아래와 같이 ai_counsel_data_1ai_counsel_data_2로 쪼개져 저장됩니다.

[이벤트 1] ai_counsel_data_1

파라미터명 (Parameter) 비고
ad_id-
advice-
affirmation1-
affirmation2-
affirmation3-
ai_question_id-
android_id★ 데이터 결합용 공통 식별자
character-
date★ 데이터 결합용 날짜 식별자
enable-
is_personality_test★ 데이터 결합용 식별자
package_name-
question-
question_item_count-
quote1-
quote2-
quote3-
recommended_questions-
relevant_question1-
relevant_question2-
relevant_question3-
user_content_id★ 데이터 결합용 공통 식별자
user_display_language-
version-

[이벤트 2] ai_counsel_data_2

파라미터명 (Parameter) 비고
android_id★ 데이터 결합용 공통 식별자
date★ 데이터 결합용 날짜 식별자
install_date-
is_personality_test★ 데이터 결합용 식별자
user_content_id★ 데이터 결합용 공통 식별자
rating-
opinion-