{"id":18993479,"url":"https://github.com/mdibyo/gostore","last_synced_at":"2026-04-15T10:30:18.528Z","repository":{"id":71851085,"uuid":"51796150","full_name":"mDibyo/gostore","owner":"mDibyo","description":null,"archived":false,"fork":false,"pushed_at":"2016-03-28T06:24:49.000Z","size":32,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T15:25:15.489Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/mDibyo.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-16T00:34:51.000Z","updated_at":"2016-02-24T05:43:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1af4328-105f-4b2d-b305-44e2cc240062","html_url":"https://github.com/mDibyo/gostore","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/mDibyo%2Fgostore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mDibyo%2Fgostore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mDibyo%2Fgostore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mDibyo%2Fgostore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mDibyo","download_url":"https://codeload.github.com/mDibyo/gostore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240008086,"owners_count":19733254,"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":[],"created_at":"2024-11-08T17:21:33.419Z","updated_at":"2026-04-15T10:30:18.468Z","avatar_url":"https://github.com/mDibyo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gostore\n\ngostore allows for the storage of arbitrary data (as byte arrays) with string keys. During operation, \nthe store is represented as a in-memory standard go map. Multiple keys can be added, updated or \ndeleted in a single ‘transaction’.\n\nData is persisted through a log of operations. Updates associated with a transaction are pushed to \ndisk before a transaction is committed. This ensures **Durability**. This is the only persistent record \nof data.\n\nConsequently, while starting up, the present state of the store is constructed by reading in the log \nfrom disk, and replaying all entries in the log. Operations for transactions that were not committed \n(possibly due to a crash) are rolled back. This ensures **Atomicity** of transactions.\n\nConcurrent transactions are allowed, and managed with read and write locks on each key-value pair. \nMultiple transactions can hold a read lock, but a transaction can hold a write lock only when no other \ntransaction is holding either read or write locks on that key-value pair. Transactions acquire locks \nwhen they first need to read/modify an pair, and hold them until they are committed (Strict 2PL). In \nthis way, **Isolation** of transactions is ensured.\n\nSince there are no real constraints on the store, **Consistency** is trivially ensured.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdibyo%2Fgostore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdibyo%2Fgostore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdibyo%2Fgostore/lists"}