# senshinya/MYDB

一个简单的数据库实现

Repository: https://github.com/senshinya/MYDB
Canonical: https://ross.abutalabs.com/products/mydb
Language: Java
License: GPL-3.0
License Family: copyleft
Last push: 2024-02-06T09:29:27+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 1788, "days_push": 939, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1167, forks 278 (observed 2026-08-28T04:03:50.722391+00:00)

## 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.

## 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

## 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

## 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

## Facets
- artifact type: library
- maturity: maintenance
- function: database, parser, concurrency, http-server
- domain: databases, developer-tools, education
- platform: jvm, cross-platform
- tags: educational-database, mvcc, two-phase-locking, transaction-isolation, sql-parser, client-server

## Member repositories
- senshinya/MYDB (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:50.722391+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:28:53.407230+00:00, confidence not recorded.
  - readme: https://github.com/senshinya/MYDB (fetched 2026-08-28T04:03:50.722391+00:00, sha c499a34212d6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
