-
-
Notifications
You must be signed in to change notification settings - Fork 131
ReGrid File Storage
Brian Chavez edited this page Jan 30, 2016
·
64 revisions
ReGrid is a file system on top of RethinkDB. ReGrid is similarly inspired by GridFS by MongoDB. With ReGrid, a large 4GB file can be broken up into chunks and stored on RethinkDB servers. The figure below shows conceptually how ReGrid stores a large video file in chunks across a three node cluster.
(*Note:* Please ask permission before copying and using figures in presentations, videos, or other works)
A Bucket is a logical file system for a set of files. All file mutations are performed using a Bucket.
### List files in /foo folder, using localhost as default
rg ls /foo
### List root files in cluster with a well-known IP 192.168.0.4
rg 192.168.0.4 ls /
rg 192.168.0.4:2802 ls /
rg 192.168.0.4 ls /folder
### Get file metadata on /path/video.mp4 and any past revisions
rg 192.168.0.4 info /path/video.mp4
### Copy video.mp4 from the local computer and send it
### to the cluster at 192.168.0.4 but wait until there
### is a pooled connection of at least 5 servers to
### increase fan-out write-performance.
rg 192.168.0.4 -pool 5 put ./video.mp4 /video_uploads/video.mp4
### Create a file video.mp4 on the local computer and
### receive it from the cluster at 192.168.0.4 but wait until there
### is a pooled connection of at least 5 servers to
### increase fan-in read-performance.
rg 192.168.0.4 -pool 5 get /video_uploads/video.mp4 ./video.mp4
### Perform a sha256 integrety check on video.mp4
rg 192.168.0.4 fsck /path/video.mp4
### Reclaim diskspace by cleaning up orphaned file chunks or soft-deleted files.
rg 192.168.0.4 cleanup
- Home
- Query Examples
- Logging
- Connections & Pooling
- Extra C# Features
- GOTCHA Goblins!
- LINQ to ReQL Provider
- Differences
- Java ReQL API Documentation