{"adoption": {"forks": 1918, "observed_at": "2026-08-28T04:10:23.534454+00:00", "stars": 8564}, "canonical_url": "https://ross.abutalabs.com/products/digoal-blog", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Opensource,Database,AI,Business,Minds. git clone --depth 1 https://github.com/digoal/blog", "domain": ["databases", "tutorials", "developer-tools"], "enriched": true, "function": ["documentation", "database"], "health_score": 91, "homepage": "https://github.com/digoal/blog/blob/master/README.md", "language": "HTML", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["digoal/blog"], "name": "digoal/blog", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-26T16:03:17+00:00", "repo": "digoal/blog", "stars": 8564, "tags": ["postgresql", "greenplum", "mysql", "oracle-migration", "dba", "chinese-language", "blog-articles", "database-training", "vector-database", "duckdb", "polaris", "polar-db", "linux", "macos"], "topics": ["postgresql", "greenplum", "enterprisedb", "database", "gpdb", "hawq", "mysql", "mongodb", "pgsql", "postgres", "pg", "oracle"], "urls": [], "use_cases": ["learn postgresql administration and tuning", "migrate from oracle to postgresql", "study database internals and source code", "find postgresql best practices and development standards", "learn greenplum and analytics databases", "understand vector search with pgvector and milvus", "prepare for database architect interviews"], "what_it_is": "A large collection of Chinese-language technical articles, course materials, and video links about PostgreSQL, Greenplum, PolarDB, MySQL, and related database technologies, maintained by a prominent Alibaba database expert. It serves as a long-running knowledge base covering DBA practices, database internals, migration from Oracle, and modern topics like vector search and AI-assisted learning.", "when_to_avoid": ["you need runnable software or a tool rather than articles", "you only read English and cannot work with Chinese-language content", "you need official vendor documentation instead of community experience"], "when_to_choose": ["you want deep, practical PostgreSQL/DBA knowledge in Chinese", "you need structured course material for database training", "you are migrating from Oracle or MySQL to PostgreSQL", "you want to study source code of databases like DuckDB, Milvus, or pgvector"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/digoal-blog", "repo": "digoal/blog", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "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:10:23.534454+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:23.534454+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:26:17.434195+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a543df2302e6245137601e1c6e3547b2b1205189b2d9c268a7db67e3cf73cabd", "fetched_at": "2026-08-28T04:10:23.534454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/digoal/blog"}, {"content_hash": "4dabe68c1d198d445845be43eb30ca0f2b6691628297aecd37ce820bd8d65901", "fetched_at": "2026-08-29T08:26:38.704661+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/digoal/blog/blob/master/README.md"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 4049, "days_push": 7, "days_rel": 572, "gap_med": null, "n_releases_24m": 1}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}