{"adoption": {"forks": 278, "observed_at": "2026-08-28T04:03:50.722391+00:00", "stars": 1167}, "canonical_url": "https://ross.abutalabs.com/products/mydb", "card": {"archived": false, "artifact_type": "library", "description": "一个简单的数据库实现", "domain": ["databases", "developer-tools", "education"], "enriched": true, "function": ["database", "parser", "concurrency", "http-server"], "health_score": 20, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["senshinya/MYDB"], "name": "senshinya/MYDB", "platform": ["jvm", "cross-platform"], "pushed_at": "2024-02-06T09:29:27+00:00", "repo": "senshinya/MYDB", "stars": 1167, "tags": ["educational-database", "mvcc", "two-phase-locking", "transaction-isolation", "sql-parser", "client-server"], "topics": [], "urls": [], "use_cases": ["learn how databases implement MVCC and transaction isolation", "study two-phase locking and deadlock handling in a real codebase", "understand WAL-style data recovery and reliability in databases", "see how a simple SQL parser and query execution work end to end", "run a toy client-server database over sockets for experimentation"], "what_it_is": "MYDB is a simple relational database implemented from scratch in Java, drawing on design principles from MySQL, PostgreSQL, and SQLite. It is primarily an educational project demonstrating core database internals such as crash recovery, MVCC, and transaction isolation.", "when_to_avoid": ["you need a production-grade database with full SQL support and performance", "you require robust tooling, drivers, or ecosystem support", "you need strict SQL standards compliance or advanced query optimization"], "when_to_choose": ["you want to read or learn from a small, readable database implementation in Java", "you need a teaching example covering transactions, locking, and recovery", "you want a minimal database to modify for coursework or experiments"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mydb", "repo": "senshinya/MYDB", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "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:03:50.722391+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.722391+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:28:53.407230+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c499a34212d6af98f659c49260deba8ba7ed1b2a9e1b83c1246394eb6a95dda6", "fetched_at": "2026-08-28T04:03:50.722391+00:00", "kind": "readme", "missing": false, "url": "https://github.com/senshinya/MYDB"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1788, "days_push": 939, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}