Tuesday, May 7, 2024
HomeGolangA Golang-based, extremely scalable distributed file system to retailer billions of information

A Golang-based, extremely scalable distributed file system to retailer billions of information


Introduction

SeaweedFS is a straightforward and extremely scalable distributed file system. There are two goals:

  1. to retailer billions of information!
  2. to serve the information quick!

SeaweedFS began as an Object Retailer to deal with small information effectively. As an alternative of managing all file metadata in a central grasp, the central grasp solely manages volumes on quantity servers, which handle information and their metadata. This relieves concurrency strain from the central grasp and spreads file metadata into quantity servers, permitting quicker file entry (O(1), normally only one disk learn operation).

There’s solely 40 bytes of disk storage overhead for every file’s metadata. It’s so easy with O(1) disk reads that you’re welcome to problem the efficiency together with your precise use instances.

SeaweedFS began by implementing Fb’s Haystack design paper. Additionally, SeaweedFS implements erasure coding with concepts from f4: Fb’s Heat BLOB Storage System and has plenty of similarities with Fb’s Tectonic Filesystem

On high of the article retailer, the optionally available Filer can help directories and POSIX attributes. Filer is a separate linearly-scalable stateless server with customizable metadata shops, e.g., MySql, Postgres, Redis, Cassandra, HBase, MongoDB, Elastic Search, LevelDB, RocksDB, Sqlite, MemSql, TiDB, Etcd, CockroachDB, YDB, and so on.

For any distributed key-value shops, the big values will be offloaded to SeaweedFS. With the quick entry pace and linearly scalable capability, SeaweedFS can work as a distributed Key-Giant-Worth retailer.

SeaweedFS can transparently combine with the cloud. With scorching knowledge on the native cluster and heat knowledge on the cloud with O(1) entry time, SeaweedFS can obtain each quick native entry time and elastic cloud storage capability. What’s extra, the cloud storage entry API price is minimized. Extra speedy and Cheaper than direct cloud storage!

Again to TOC

Further Options

Again to TOC

Filer Options

Kubernetes

Again to TOC

Instance: Utilizing Seaweed Object Retailer

By default, the grasp node runs on port 9333, and the amount nodes run on port 8080. Let’s begin one grasp node, and two quantity nodes on port 8080 and 8081. Ideally, they need to be began from completely different machines. We’ll use localhost for example.

SeaweedFS makes use of HTTP REST operations to learn, write, and delete. The responses are in JSON or JSONP format.

Begin Grasp Server

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments