{"adoption": {"forks": 445, "observed_at": "2026-08-28T04:04:08.044739+00:00", "stars": 1250}, "canonical_url": "https://ross.abutalabs.com/products/dal", "card": {"archived": false, "artifact_type": "framework", "description": "Ctrip Database Access Layer", "domain": ["databases", "backend", "developer-tools", "erp"], "enriched": true, "function": ["orm", "database", "database-driver"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ctripcorp/dal"], "name": "ctripcorp/dal", "platform": ["jvm", "dotnet", "cross-platform"], "pushed_at": "2024-05-15T08:17:49+00:00", "repo": "ctripcorp/dal", "stars": 1250, "tags": ["database-access-layer", "sharding", "dao-generator", "mysql", "sql-server", "code-generation", "horizontal-scaling", "ctrip"], "topics": [], "urls": [], "use_cases": ["shard a mysql database across multiple servers in a java application", "generate DAO code automatically from database schema", "standardize database access across multiple teams in a company", "split large tables across databases for horizontal scaling", "access sql server from java or c# with a unified data access layer", "manage database ownership and access conventions organization-wide"], "what_it_is": "Ctrip DAL is a database access framework developed by Ctrip's framework team, providing code generation and horizontal scaling (database and table sharding) for Java and C# clients against MySQL and MS SQL Server. It includes a web-based code generator that produces ready-to-use DAO code and configuration, plus client libraries with monitoring, logging, and extensive extension points.", "when_to_avoid": ["you prefer modern ORM or query-builder approaches like MyBatis, JPA/Hibernate, or jOOQ", "you use databases other than MySQL or MS SQL Server", "you work outside the Java/C# ecosystems", "you want a lightweight library without deploying a code generator service"], "when_to_choose": ["you need database/table sharding with generated DAO code in Java or C#", "your organization wants a unified, centrally managed database access standard", "you use MySQL or MS SQL Server and want zero hand-written data access boilerplate"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dal", "repo": "ctripcorp/dal", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "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:04:08.044739+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.044739+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:43.985875+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3da4be6f2904a5ebe80f9a65cd63d5076ff9ba55caec632f8b800c606c6cbbd7", "fetched_at": "2026-08-28T04:04:08.044739+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ctripcorp/dal"}], "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": 3690, "days_push": 840, "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}}