{"id":19674001,"url":"https://github.com/robaho/keydb","last_synced_at":"2025-10-18T11:31:59.719Z","repository":{"id":57499222,"uuid":"146656747","full_name":"robaho/keydb","owner":"robaho","description":"high performance key value database written in Go. Deprecated. Use robaho/leveldb","archived":false,"fork":false,"pushed_at":"2022-09-13T01:09:31.000Z","size":105,"stargazers_count":86,"open_issues_count":0,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T12:24:46.453Z","etag":null,"topics":["database","golang","key-value","keydb","lsm","lsm-tree"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robaho.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}},"created_at":"2018-08-29T20:46:43.000Z","updated_at":"2025-01-07T17:01:04.000Z","dependencies_parsed_at":"2022-08-28T14:02:05.545Z","dependency_job_id":null,"html_url":"https://github.com/robaho/keydb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fkeydb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fkeydb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fkeydb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fkeydb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robaho","download_url":"https://codeload.github.com/robaho/keydb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251415691,"owners_count":21585875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","golang","key-value","keydb","lsm","lsm-tree"],"created_at":"2024-11-11T17:16:57.040Z","updated_at":"2025-10-18T11:31:54.679Z","avatar_url":"https://github.com/robaho.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keydb\n\n## keydb is deprecated, use [robaho/leveldb](http://www.github.com/robaho/leveldb) which is more stable and uses the Google LevelDB api (similar).\n\nhigh performance key value database written in Go\n\nbulk insert and sequential read \u003c 1 micro sec\n\nrandom access read of disk based record \u003c 4 micro secs\n\nuses LSM trees, see https://en.wikipedia.org/wiki/Log-structured_merge-tree\n\nlimitation of max 1024 byte keys, to allow efficient on disk index searching, but has\ncompressed keys which allows for very efficient storage of time series data\n(market tick data) in the same table\n\nuse the dbdump and dbload utilities to save/restore databases to a single file, but just zipping up the directory works as\nwell...\n\nsee the related http://github.com/robaho/keydbr which allows remote access to a keydb instance, and allows a keydb database to be shared by multiple processes\n      \n# TODOs\n\nmake some settings configurable\n\npurge removed key/value, it currently stores an empty []byte \n\n# How To Use\n\n\tdb, err := keydb.Open(\"test/mydb\", true)\n\tif err != nil {\n\t\tt.Fatal(\"unable to create database\", err)\n\t}\n\ttx, err := db.BeginTX(\"main\")\n\tif err != nil {\n\t\tt.Fatal(\"unable to create transaction\", err)\n\t}\n\terr = tx.Put([]byte(\"mykey\"), []byte(\"myvalue\"))\n\tif err != nil {\n\t\tt.Fatal(\"unable to put key/Value\", err)\n\t}\n    err = tx.Commit()\n    if err != nil {\n        t.Fatal(\"unable to commit transaction\", err)\n    }\n    err = db.Close()\n    if err != nil {\n        t.Fatal(\"unable to close database\", err)\n    }\n\n# Performance\n\nUsing example/performance.go\n\n\u003cpre\u003e\nUsing Go 1.15.5:\n\ninsert time  10000000 records =  17890 ms, usec per op  1.7890143\nclose time  8477 ms\nscan time  2887 ms, usec per op  0.2887559\nscan time 50%  81 ms, usec per op  0.162584\nrandom access time  3.508029 us per get\nclose with merge 1 time  0.148 ms\nscan time  2887 ms, usec per op  0.2887248\nscan time 50%  85 ms, usec per op  0.171406\nrandom access time  3.487226 us per get\n\u003c/pre\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobaho%2Fkeydb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobaho%2Fkeydb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobaho%2Fkeydb/lists"}