Comparison of distributed file systems

In computing, a distributed file system (DFS) or network file system is any file system that allows access to files from multiple hosts sharing via a computer network. This makes it possible for multiple users on multiple machines to share files and storage resources.

Distributed file systems differ in their performance, mutability of content, handling of concurrent writes, handling of permanent or temporary loss of nodes or storage, and their policy of storing content.

Locally managed

FOSS

ClientWritten inLicenseAccess APIHigh availabilityShardsEfficient RedundancyRedundancy GranularityInitial release yearMemory requirements (GB)
Alluxio (Virtual Distributed File System)JavaApache License 2.0HDFS, FUSE, HTTP/REST, S3hot standbyNoReplication[1]File[2]2013
CephC++LGPLlibrados (C, C++, Python, Ruby), S3, Swift, FUSEYesYesPluggable erasure codes[3]Pool[4]20101 per TB of storage
CodaCGPLCYesYesReplicationVolume[5]1987
GlusterFSCGPLv3libglusterfs, FUSE, NFS, SMB, Swift, libgfapimirrorYesReed-Solomon[6]Volume[7]2005
HDFSJavaApache License 2.0Java and C client, HTTP, FUSE[8]transparent master failoverNoReed-Solomon[9]File[10]2005
IPFSGoApache 2.0 or MITHTTP gateway, FUSE, Go client, Javascript client, command line toolYeswith IPFS ClusterReplication[11]Block[12]2015[13]
JuiceFSGoApache License 2.0POSIX, FUSE, HDFS, S3YesYesReed-SolomonObject2021
Kertish-DFSGoGPLv3HTTP(REST), CLI, C# Client, Go ClientYesReplication2020
LizardFSC++GPLv3POSIX, FUSE, NFS-Ganesha, Ceph FSAL (via libcephfs)masterNoReed-Solomon[14]File[15]2013
LustreCGPLv2POSIX, NFS-Ganesha, NFS, SMBYesYesNo redundancy[16][17]No redundancy[18][19]2003
MinIOGoAGPL3.0AWS S3 API, FTP, SFTPYesYesReed-Solomon[20]Object[21]2014
MooseFSCGPLv2POSIX, FUSEmasterNoReplication[22]File[23]2008
OpenAFSCIBM Public LicenseVirtual file system, Installable File SystemReplicationVolume[24]2000[25]
OpenIO[26]CAGPLv3 / LGPLv3Native (Python, C, Java), HTTP/REST, S3, Swift, FUSE (POSIX, NFS, SMB, FTP)YesPluggable erasure codes[27]Object[28]20150.5
Ori[29]C, C++MITlibori, FUSEReplicationFilesystem[30]2012
Quantcast File SystemCApache License 2.0C++ client, FUSE (C++ server: MetaServer and ChunkServer are both in C++)masterNoReed-Solomon[31]File[32]2012
RozoFSC, PythonGPLv2FUSE, SMB, NFS, key/valueYesMojette[33]Volume[34]2011[35]
SeaweedFSGo, JavaApache License 2.0HTTP (REST), POSIX, FUSE, S3, HDFSrequires CockroachDB, undocumented configReed-Solomon[36]Volume[37]2015
StorjGoApache License 2.0, Affero General Public License v3HTTP (REST), S3, Native (Go, C, Python, Java)YesReed-Solomon[38]Object[38]2018
Tahoe-LAFSPythonGNU GPL[39]HTTP (browser or CLI), SFTP, FTP, FUSE via SSHFS, pyfilesystemReed-Solomon[40]File[41]2007
XtreemFSJava, C++BSD Licenselibxtreemfs (Java, C++), FUSEReplication[42]File[43]2009

Proprietary

ClientWritten inLicenseAccess API
BeeGFSC / C++FRAUNHOFER FS (FhGFS) EULA,[44]

GPLv2 client

POSIX
ObjectiveFS[45]CProprietaryPOSIX, FUSE
Spectrum Scale (GPFS)C, C++ProprietaryPOSIX, NFS, SMB, Swift, S3, HDFS
MapR-FSC, C++ProprietaryPOSIX, NFS, FUSE, S3, HDFS, CLI
PanFSC, C++ProprietaryDirectFlow, POSIX, NFS, SMB/CIFS, HTTP, CLI
Infinit[46]C++Proprietary (to be open sourced)[47]FUSE, Installable File System, NFS/SMB, POSIX, CLI, SDK (libinfinit)
Isilon OneFSC/C++ProprietaryPOSIX, NFS, SMB/CIFS, HDFS, HTTP, FTP, SWIFT Object, CLI, Rest API
QumuloC/C++ProprietaryPOSIX, NFS, SMB/CIFS, CLI, S3, Rest API
ScalityCProprietaryFUSE, NFS, REST, AWS S3
QuobyteJava, C++ProprietaryPOSIX, FUSE, NFS, SMB/CIFS, HDFS, AWS S3, TensorFlow Plugin, CLI, Rest API

Remote access

NameRun byAccess API
Amazon S3Amazon.comHTTP (REST/SOAP)
Google Cloud StorageGoogleHTTP (REST)
SWIFT (part of OpenStack)Rackspace, Hewlett-Packard, othersHTTP (REST)
Microsoft AzureMicrosoftHTTP (REST)
IBM Cloud Object StorageIBM (formerly Cleversafe)[48]HTTP (REST)

Comparison

Some researchers have made a functional and experimental analysis of several distributed file systems including HDFS, Ceph, Gluster, Lustre and old (1.6.x) version of MooseFS, although this document is from 2013 and a lot of information are outdated (e.g. MooseFS had no HA for Metadata Server at that time).[49]

The cloud based remote distributed storage from major vendors have different APIs and different consistency models.[50]

See also

References


🔥 Top keywords: Main PageSpecial:SearchWikipedia:Featured picturesYasukeHarrison ButkerRobert FicoBridgertonCleopatraDeaths in 2024Joyce VincentXXXTentacionHank AdamsIt Ends with UsYouTubeNew Caledonia2024 Indian general electionHeeramandiDarren DutchyshenSlovakiaKingdom of the Planet of the ApesAttempted assassination of Robert FicoLawrence WongBaby ReindeerXXX: Return of Xander CageThelma HoustonFuriosa: A Mad Max SagaMegalopolis (film)Richard GaddKepler's SupernovaWicked (musical)Sunil ChhetriXXX (2002 film)Ashley MadisonAnya Taylor-JoyPlanet of the ApesNava MauYoung SheldonPortal:Current eventsX-Men '97