Sign inSign up

mcnwr76/plutodb

By mcnwr76

•Updated about 1 year ago

Rust-based NoSQL database using LSM-Tree architecture.

Image
0

1.3K

mcnwr76/plutodb repository overview

Markdown

⁠PlutoDB - High-Performance NoSQL Database

PlutoDB is a high-performance NoSQL database built with Rust, designed with an LSM-Tree architecture for optimal write throughput and low latency.

⁠Start the Server

Pull the latest image and run the container in detached mode. This command exposes port 6379 for database connections and 9100 for metrics, while mounting a volume for data persistence.

Bash

docker run -d \
  --name plutodb-server \
  -p 6379:6379 \
  -p 9100:9100 \
  -v plutodb-data:/var/lib/plutodb \
  -e PLUTODB_HOST=0.0.0.0 \
  -e PLUTODB_PORT=6379 \
  -e PLUTODB_DATA_DIR=/var/lib/plutodb \
  mcnwr76/plutodb:latest

Verify Deployment Check if the container is running correctly and listening on the expected ports.

Bash

docker ps --filter "name=plutodb-server"

Connect via Built-in CLI Access the interactive PlutoDB Command Line Interface (CLI) directly inside the running container to execute SQL queries.

Bash

docker exec -it plutodb-server /usr/local/bin/plutodb-cli

Perform a Health Check Verify the database responsiveness by piping a simple query through the container.

Bash

echo "SELECT * FROM users WHERE user_id = 'health'" | docker exec -i plutodb-server nc -w 3 localhost 6379

View Real-time Logs Monitor the server logs to see incoming connections, query execution, and compaction events.

Bash

docker logs -f plutodb-server

Check Prometheus Metrics Retrieve performance metrics (latency, active connections, bloom filter stats) exposed on port 9100.

Bash

curl http://localhost:9100/

Stop and Remove Container Gracefully stop the database server and remove the container instance (data will remain in the docker volume).

Bash

docker stop plutodb-server && docker rm plutodb-server

Tag summary

Content type

Image

Digest

sha256:4c8bb3a54…

Size

31.4 MB

Last updated

about 1 year ago

docker pull mcnwr76/plutodb