{"adoption": {"forks": 945, "observed_at": "2026-08-28T04:06:57.600867+00:00", "stars": 2514}, "canonical_url": "https://ross.abutalabs.com/products/yugong", "card": {"archived": false, "artifact_type": "application", "description": "阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)", "domain": ["databases", "developer-tools"], "enriched": true, "function": ["database", "etl", "data-generation"], "health_score": 20, "homepage": null, "language": "Java", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["alibaba/yugong"], "name": "alibaba/yugong", "platform": ["jvm", "cli"], "pushed_at": "2023-03-06T14:35:25+00:00", "repo": "alibaba/yugong", "stars": 2514, "tags": ["oracle-to-mysql", "data-migration", "full-and-incremental-sync", "drds", "database-replication", "de-ioe", "data-engineering", "linux"], "topics": [], "urls": [], "use_cases": ["migrate oracle database to mysql", "oracle to mysql data migration tool", "sync data from oracle to mysql incrementally", "migrate oracle tables to alibaba drds", "full and incremental database migration", "validate data consistency during database migration", "switch production database from oracle to mysql with minimal downtime"], "what_it_is": "Yugong is a Java-based database migration and synchronization tool developed by Alibaba to move data from Oracle to MySQL/DRDS. It supports both full (bulk) and incremental (real-time) migration with data validation and cutover support.", "when_to_avoid": ["you need migrations between database engines other than Oracle/MySQL/DRDS", "you want a modern actively developed tool with broad community support", "you need cloud-managed migration services with a GUI rather than a self-run Java application"], "when_to_choose": ["you need to migrate from Oracle to MySQL or DRDS with both bulk copy and ongoing incremental sync", "you want data validation and parallel replication during migration", "you prefer a pure-Java tool that runs on the JVM without extra infrastructure"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yugong", "repo": "alibaba/yugong", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:57.600867+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:26:13.161079+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "73b990712fbfb41605d676382dad6a49b2410f1f5eab17d1985f3d8e18524b29", "fetched_at": "2026-08-28T04:06:57.600867+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alibaba/yugong"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3836, "days_push": 1276, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}