https://github.com/sazid/proglog
[WIP] A distributed Commit Log service. Currently building for learning purpose.
https://github.com/sazid/proglog
go grpc grpc-go log
Last synced: 2 months ago
JSON representation
[WIP] A distributed Commit Log service. Currently building for learning purpose.
- Host: GitHub
- URL: https://github.com/sazid/proglog
- Owner: sazid
- Created: 2022-01-27T08:26:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-17T10:23:32.000Z (6 months ago)
- Last Synced: 2025-01-30T09:42:02.814Z (4 months ago)
- Topics: go, grpc, grpc-go, log
- Language: Go
- Homepage:
- Size: 83 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Proglog
Proglog implements a commit log that works very similar to Kafka's internal storage system, [see here](https://medium.com/the-hoard/how-kafkas-storage-internals-work-3a29b02e026).
## Concepts
* Record - the data stored in the log.
* Store - the file where the records are stored.
* Index - the file which stores the index entries of the Records present in the
Store.
* Segment - the abstraction that ties a Store and an Index together i.e; a
segment is a combination of both a store and an index. The Index denotes where
to find a particular Record in the associated Store.
* Log - the abstraction that ties all the segments together.