{"id":22116061,"url":"https://github.com/halfenif/toy_table_diff","last_synced_at":"2026-01-05T14:20:15.502Z","repository":{"id":254698713,"uuid":"847249597","full_name":"halfenif/toy_table_diff","owner":"halfenif","description":"Table Data Diff","archived":false,"fork":false,"pushed_at":"2024-09-29T11:21:53.000Z","size":111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T11:22:32.726Z","etag":null,"topics":["data-diff"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/halfenif.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T09:25:30.000Z","updated_at":"2024-09-29T11:21:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"a672885a-449f-4d7c-9d1a-56407a3d0664","html_url":"https://github.com/halfenif/toy_table_diff","commit_stats":null,"previous_names":["halfenif/toy_table_diff"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfenif%2Ftoy_table_diff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfenif%2Ftoy_table_diff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfenif%2Ftoy_table_diff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halfenif%2Ftoy_table_diff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/halfenif","download_url":"https://codeload.github.com/halfenif/toy_table_diff/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245216153,"owners_count":20579111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-diff"],"created_at":"2024-12-01T12:19:00.428Z","updated_at":"2026-01-05T14:20:15.466Z","avatar_url":"https://github.com/halfenif.png","language":"HTML","readme":"# toy_table_diff\n\n### 전제\n- 목표: as-is table과 to-be table data의 Diff\n- 제약: column과 data가 좀 많다. (컬럼 약200여개, 데이터 100만건 정도. 비교가 필요한 테이블 수는 10개 미만)\n\n\n### 아키텍처검토\n- 데이터가 의미상으로는 고정되어 있지만(As-Is는 고정되어 있지만, 비교기준일이 바뀌면..) 반복해서 (개발자가 프로그램을 고치거나 하면 To-Be의 데이터가 변경됨으로) Diff 할 필요성이 있다.\n- 200개나 되는 컬럼을 100만건이나 쌓아놓고 Diff한 결과를 보는 검토자는 어떤 Insight를 얻을 수 있나? 아..! 다르구나. 똑같아야 하는데.. 과연 이것이 본 작업을 하는 진정한 목표일까?\n- Diff한 데이터가 보존되어야 하는 상황인데, (프로젝트에서 제공하는)서버에 그냥 놔두기에는 그 것의 관리주체가 내가 아니고(비워줘야하는 상황이 발생 할 것이고), 이 것을 그냥 Excel로 보관하기애는 뭔가 좀 애매하다.\n- 그럼으로 Local DB (ex, sqlite)에 저장해서 각 작업(비교작업)을 아카이빙하고 누구나 알고있는 SQL을 통해서 그 비교결과를 풍부하게 네비게이션 할 수 있도록 제공하는 것이 좋다고 판단된다.\n- 다만, 100만건의 Data를 담았을 때 (원본과 사본 그리고 결과를 생각하면 300만건이다.) 그 용량이 적절한지 검토가 필요하다.\n\u003e 100만건의 Sample Data(String, Int, Real을 적절히 섞었다.)를 만들었을 때 그 단일 파일의 용량은 4.3G가 되었음으로, 약 10G이하의 파일이 생성 될 것으로 유추한다. (일요일 저녁. 작업마감. 추후 계속...)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalfenif%2Ftoy_table_diff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalfenif%2Ftoy_table_diff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalfenif%2Ftoy_table_diff/lists"}