Skip to content
프로젝트

Sahilb315/AtomixDB has 708 GitHub stars and 26 forks. Star changes are not measured yet. Last checked 2026-11-14 02:10 UTC. Last push 2026-01-16.

이 수치를 측정하는 방법

What you can do

  • B+ Tree Storage Engine with Indexing Support: Enables fast data retrieval, which is critical for database performance, especially in scenarios involving large datasets.
  • Free List Management for Node Reuse: The database manages a free list to reuse nodes, which is a strategy to optimize storage usage by recycling space from freed nodes. This helps reduce fragmentation and improve disk space efficiency.
  • Transaction Support: AtomixDB supports transactions, ensuring data consistency and integrity through atomic operations.
  • Concurrent Reads: The ability to handle concurrent reads enhances performance by allowing multiple users to read data simultaneously without locking issues, making it suitable for read-heavy applications.

측정된 스타 증가

in 24h
기록 수집 중
in 7 days
기록 수집 중
in 15 days
기록 수집 중
in 1 month
기록 수집 중

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

소개

An persistent relational database built in Go.

데이터

README.md

Original

Overview

AtomixDB is a lightweight relational database built entirely in Go, focused on implementing and understanding core database internals such as storage management and transaction handling.

Query processing is planned and listed as an upcoming feature.

Table of Contents

Installation

Prerequisites

  • Golang (version 1.23 or later)
  • Git
  • Linux or MacOS. AtomixDB has been developed and tested on NixOS.

Clone the Repository

Clone the repository to your local machine:

git clone https://github.com/Sahilb315/AtomixDB.git && cd AtomixDB

Build

Build the project using Go:

go mod tidy
go build -o atomixdb

Run

To start the AtomixDB server, execute:

./atomixdb

Features

  • B+ Tree Storage Engine with Indexing Support: Enables fast data retrieval, which is critical for database performance, especially in scenarios involving large datasets.

  • Free List Management for Node Reuse: The database manages a free list to reuse nodes, which is a strategy to optimize storage usage by recycling space from freed nodes. This helps reduce fragmentation and improve disk space efficiency.

  • Transaction Support: AtomixDB supports transactions, ensuring data consistency and integrity through atomic operations.

  • Concurrent Reads: The ability to handle concurrent reads enhances performance by allowing multiple users to read data simultaneously without locking issues, making it suitable for read-heavy applications.

Upcoming Features

  • Query Processing: Enhancing AtomixDB with query capabilities to support more complex data retrieval and manipulation.

  • Bug Fixes: Ongoing efforts to address and resolve identified bugs to improve stability and reliability.

Supported Commands

  • CREATE
  • INSERT
  • GET
  • UPDATE
  • DELETE
  • BEGIN
  • COMMIT
  • ABORT

Contributing

Contributions are welcome! If you’d like to contribute to AtomixDB, please follow these steps:

  1. Fork the repository.

  2. Create a new branch: git checkout -b feature/YourFeature

  3. Commit your changes: git commit -am "Add new feature"

  4. Push to the branch: git push origin feature/YourFeature

  5. Open a Pull Request describing your changes and the problem they solve.

License

AtomixDB is open-source software licensed under the MIT License.

관련 프로젝트 살펴보기