{"id":19674009,"url":"https://github.com/robaho/leveldb","last_synced_at":"2025-04-29T01:31:03.442Z","repository":{"id":61623359,"uuid":"535899779","full_name":"robaho/leveldb","owner":"robaho","description":"high performance key-value database written in Go. Based on Google LevelDB api.","archived":false,"fork":false,"pushed_at":"2024-06-07T23:15:53.000Z","size":142,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T12:24:40.847Z","etag":null,"topics":["go","key-value","key-value-database","leveldb","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-13T00:34:59.000Z","updated_at":"2025-01-07T17:01:07.000Z","dependencies_parsed_at":"2024-05-13T04:32:54.908Z","dependency_job_id":"a77662ad-612e-4334-9fad-bc92d544b1fe","html_url":"https://github.com/robaho/leveldb","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fleveldb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fleveldb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fleveldb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robaho%2Fleveldb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robaho","download_url":"https://codeload.github.com/robaho/leveldb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251415694,"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":["go","key-value","key-value-database","leveldb","lsm","lsm-tree"],"created_at":"2024-11-11T17:16:58.261Z","updated_at":"2025-04-29T01:31:02.537Z","avatar_url":"https://github.com/robaho.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# leveldb\n\nhigh performance key value database written in Go. The api is based on Google's [leveldb](http://github.com/google/leveldb). The implementation is based on\nthe http://github.com/robaho/keydb.\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/leveldbr which allows remote access to a leveldb instance, and allows a leveldb database to be shared by multiple processes\n      \n# TODOs\n\nmake some settings configurable\n\nseek to end, backwards iteration\n\n# How To Use\n\n\tdb, err := level.Open(\"test/mydb\", leveldb.Options{})\n\tif err != nil {\n\t\tt.Fatal(\"unable to create database\", err)\n\t}\n\terr = db.Put([]byte(\"mykey\"), []byte(\"myvalue\"))\n\tif err != nil {\n\t\tt.Fatal(\"unable to put key/Value\", err)\n\t}\n    err = db.Close()\n    if err != nil {\n        t.Fatal(\"unable to close database\", err)\n    }\n\n# Performance\n\nSee the [C++ version](https://github.com/robaho/cpp_leveldb) for an in-depth comparison of the Go, Java, and C++ versions.\n\nDbBench using Go 1.19.2\n\n```\nwrite no-sync time 1000000 records = 4586 ms, usec per op 4.586062\nclose time  1271 ms\ndatabase size  118M\nwrite sync time 10000 records = 1014 ms, usec per op 101.4993\nclose time  8 ms\ndatabase size  1M\nbatch insert time  1000000 records =  1204 ms, usec per op  1.204402\nclose time  1380 ms\ndatabase size  118M\nwrite no-sync overwrite time 1000000 records = 4743 ms, usec per op 4.743957\nclose time  1272 ms\ndatabase size  237M\nread random time  3.69818 us per get\nread seq time  1791 ms, usec per op  1.791742\ncompact time  2851 ms\ndatabase size  118M\nread random time  2.04372 us per get\nread seq time  132 ms, usec per op  0.132152\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobaho%2Fleveldb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobaho%2Fleveldb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobaho%2Fleveldb/lists"}