{"id":37199927,"url":"https://github.com/yemingfeng/sdb","last_synced_at":"2026-01-14T23:01:03.200Z","repository":{"id":41967882,"uuid":"436681712","full_name":"yemingfeng/sdb","owner":"yemingfeng","description":"SDB ：纯 Go 开发、数据结构丰富、持久化、简单易用的 NoSQL 数据库","archived":false,"fork":false,"pushed_at":"2023-05-15T02:30:30.000Z","size":155,"stargazers_count":138,"open_issues_count":3,"forks_count":18,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-09T01:59:24.089Z","etag":null,"topics":["database","distributed","go","golang","grpc","key-value","key-value-store","nosql","store-engine"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yemingfeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-09T16:16:19.000Z","updated_at":"2025-04-22T08:24:51.000Z","dependencies_parsed_at":"2024-06-20T11:15:56.697Z","dependency_job_id":"8cfcbf6c-27ed-4029-b493-506a9a797da0","html_url":"https://github.com/yemingfeng/sdb","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/yemingfeng/sdb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yemingfeng%2Fsdb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yemingfeng%2Fsdb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yemingfeng%2Fsdb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yemingfeng%2Fsdb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yemingfeng","download_url":"https://codeload.github.com/yemingfeng/sdb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yemingfeng%2Fsdb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28437916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T22:37:52.437Z","status":"ssl_error","status_checked_at":"2026-01-14T22:37:31.496Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","distributed","go","golang","grpc","key-value","key-value-store","nosql","store-engine"],"created_at":"2026-01-14T23:00:39.033Z","updated_at":"2026-01-14T23:01:03.026Z","avatar_url":"https://github.com/yemingfeng.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## [SDB](https://github.com/yemingfeng/sdb) ：纯 Go 开发、数据结构丰富、持久化、简单易用的 NoSQL 数据库\n------\n\n### 为什么需要 SDB？\n\n试想以下业务场景：\n\n- 计数服务：对内容的点赞量、播放量进行统计\n- 推荐服务：每个用户有一个包含内容和权重推荐列表\n- 评论服务：查看内容的评论列表\n\n在传统的做法中，我们会通过 MySQL + Redis 的方式实现。其中 MySQL 提供数据的持久化能力，Redis 提供高性能的读写能力。在这样的架构下会面临以下问题：\n\n- 同时部署 MySQL + Redis，机器成本高\n- MySQL + Redis 数据不同步带来的一致性问题\n- 随着业务上涨，MySQL 面临海量数据的读写压力\n\n回过头来看上面的需求，我们真正需要的其实是有持久化能力的 Redis。 业内也有解决方案，如：\n\n- [pika](https://github.com/OpenAtomFoundation/pika)\n- [kvrocks](https://github.com/apache/incubator-kvrocks)\n- [tendis](https://cloud.tencent.com/document/product/1363/50791)\n- [memorydb](https://aws.amazon.com/cn/memorydb/)\n\nSDB 也是应对上面问题提供的解决方案。\n\n### RoadMap\n\n- 数据结构\n\t- [x] List\n\t- [ ] Linked\n\t- [ ] String\n\t- [ ] Set\n\t- [ ] SortedSet\n\t- [ ] BitMap\n\t- [ ] BloomFilter\n\t- [ ] GeoHash\n- [ ] Grpc Server\n- [ ] Prometheus 监控\n- [ ] kv 存储引擎接入\n\t- [ ] badger\n- [ ] 集群\n\t- [ ] 主从\n\t- [ ] 分布式\n\n### sdb 背后的设计\n\n- [kv 存储引擎选型](https://github.com/yemingfeng/sdb/blob/master/docs/kv%20%E5%AD%98%E5%82%A8%E5%BC%95%E6%93%8E%E9%80%89%E5%9E%8B.md)\n- [List 数据模型设计](https://github.com/yemingfeng/sdb/blob/master/docs/List%20%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1.md)\n- [List 锁模型设计](https://github.com/yemingfeng/sdb/blob/master/docs/List%20%E9%94%81%E6%A8%A1%E5%9E%8B%E8%AE%BE%E8%AE%A1.md)\n- [lua 脚本支持](https://github.com/yemingfeng/sdb/blob/master/docs/lua%20%E8%84%9A%E6%9C%AC%E6%94%AF%E6%8C%81.md)\n\n### 友链\n\n- [rdb](https://github.com/MoSunDay/rdb)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyemingfeng%2Fsdb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyemingfeng%2Fsdb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyemingfeng%2Fsdb/lists"}