{"id":13569672,"url":"https://github.com/openinx/minibase","last_synced_at":"2025-09-14T07:28:36.983Z","repository":{"id":74761988,"uuid":"166645679","full_name":"openinx/minibase","owner":"openinx","description":"An embedded KV storage engine for learning HBase","archived":false,"fork":false,"pushed_at":"2020-10-13T11:42:27.000Z","size":40,"stargazers_count":245,"open_issues_count":6,"forks_count":147,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-05-20T01:03:40.785Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openinx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-01-20T09:49:30.000Z","updated_at":"2025-04-19T09:44:02.000Z","dependencies_parsed_at":"2024-01-14T03:49:11.964Z","dependency_job_id":"99887bef-d9ad-4fe6-a5ab-79e849728380","html_url":"https://github.com/openinx/minibase","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/openinx/minibase","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openinx%2Fminibase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openinx%2Fminibase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openinx%2Fminibase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openinx%2Fminibase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openinx","download_url":"https://codeload.github.com/openinx/minibase/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openinx%2Fminibase/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275076516,"owners_count":25401314,"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","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-08-01T14:00:42.630Z","updated_at":"2025-09-14T07:28:36.959Z","avatar_url":"https://github.com/openinx.png","language":"Java","funding_links":[],"categories":["Java","数据库"],"sub_categories":["Spring Cloud框架"],"readme":"MiniBase is an embedded KV storage engine, it's quit simple, not for production env, just for better understand HBase or\nother LSM-related index algorithm.\n\nIn MiniBase, we use those basic algorithm and data structure:\n\n* BloomFilter: it can helps a lot when filtering much useless IO.\n* ConcurrentSkipListMap: Yeah, it's quite suitable when designing memstore. It can maintian an sorted key value set in\nhigh concurrency scenarios.\n* LSM Index Algorithm: the memstore part and disk store part.\n\n### How to use ?\n\n```java\nConfig conf = new Config().setDataDir(dataDir).setMaxMemstoreSize(1).setFlushMaxRetries(1)\n    .setMaxDiskFiles(10);\nMiniBase db = MiniBaseImpl.create(conf).open();\n\n// Put\ndb.put(Bytes.toBytes(1), Bytes.toBytes(1));\n\n// Scan\nIter\u003cKeyValue\u003e kv = db.scan();\nwhile (kv.hasNext()) {\n    KeyValue kv = kv.next();\n    //...\n}\n```\n\n### How to build and test?\n\n```shell\ngit clone git@github.com:openinx/minibase.git\nmvn clean package\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopeninx%2Fminibase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopeninx%2Fminibase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopeninx%2Fminibase/lists"}