- Système de fichiers distribué simple et hautement évolutif
- Son objectif est de stocker des dizaines de milliards de fichiers et de les servir rapidement
- Implémenté à partir d'idées inspirées du design Haystack de Facebook et de f4: Facebook’s Warm BLOB Storage System
- Le stockage de blobs offre une recherche disque en O(1) et des capacités de tiering cloud
- Le Filer prend en charge les répertoires et les attributs POSIX, et inclut notamment cloud drive, la réplication active-active entre DC, Kubernetes, les montages POSIX FUSE, l'API S3, une passerelle S3, Hadoop, WebDAV, le chiffrement et l'erasure coding
Fonctionnalités
- Propose différentes options de réplication, dont le niveau de réplication, la prise en compte des racks et des data centers.
- Basculement automatique du serveur master, sans point unique de défaillance.
- Prise en charge de la compression Gzip automatique selon le type MIME des fichiers.
- Compactage automatique pour récupérer l'espace disque après suppression ou mise à jour de données.
- La capacité totale de stockage peut être augmentée en ajoutant des serveurs.
- Aucun rééquilibrage des données lors de l'ajout ou du retrait de serveurs, sauf déclenchement explicite par commande administrateur.
- Prise en charge du redimensionnement d'images, d'ETag, d'Accept-Range, de Last-Modified, etc.
- Prise en charge du réglage des modes in-memory/leveldb/readonly pour équilibrer mémoire et performances.
- Fournit plusieurs niveaux de stockage personnalisables et une intégration cloud transparente.
- L'erasure coding 10.4 avec prise en compte des racks pour le stockage tiède réduit les coûts de stockage et améliore la disponibilité.
Fonctionnalités du Filer
- Le serveur Filer sert des répertoires et fichiers « normaux » via HTTP.
- Expiration automatique des métadonnées et des données réelles des fichiers grâce au TTL des fichiers.
- Possibilité de lire et d'écrire directement des fichiers via un Filer monté avec FUSE.
- La réplication du stockage Filer permet la haute disponibilité du magasin de métadonnées.
- Accès aux fichiers avec des outils S3 via une API compatible Amazon S3.
- Accès aux fichiers depuis Hadoop/Spark/Flink, etc., via un système de fichiers compatible Hadoop.
- Stockage sécurisé des données avec un stockage chiffré AES256-GCM.
- Prise en charge du stockage de très gros fichiers de plusieurs dizaines de To.
- cloud drive permet de monter un stockage cloud sur un cluster local pour des lectures et écritures rapides.
Kubernetes
- Prise en charge du pilote CSI Kubernetes et de l'opérateur SeaweedFS.
Exemple d'utilisation du stockage objet Seaweed
- Présentation des ports par défaut et de la méthode d'exécution des nœuds master et volume.
- Exemples montrant comment écrire, lire et supprimer des fichiers.
- Explication de la réplication avec prise en compte des racks et des data centers, ainsi que de la manière d'affecter des clés de fichier à un data center spécifique.
Architecture
- SeaweedFS gère des volumes de données sans découper les fichiers en chunks.
- Le serveur master ne gère que les métadonnées des volumes, tandis que les métadonnées réelles des fichiers sont gérées par les serveurs de volumes.
- Fournit une explication détaillée du processus d'écriture et de lecture des fichiers.
Comparaison avec d'autres systèmes de fichiers
- Présente les avantages de SeaweedFS en le comparant à HDFS, GlusterFS, Ceph, MooseFS, MinIO, etc.
- SeaweedFS est optimisé pour les petits fichiers et offre un accès rapide grâce à des lectures disque en O(1).
Feuille de route de développement
- Davantage d'outils et de documentation prévus pour l'administration et l'extension du système.
- Prise en charge de la lecture et de l'écriture de données de flux.
- Prise en charge des données structurées.
Guide d'installation
- Guide d'installation fourni pour les utilisateurs peu familiers avec Golang.
Sujets liés au disque
- Explications sur les performances des disques durs et des SSD.
- SeaweedFS dispose d'une architecture adaptée aux SSD.
Benchmark
- Présentation de résultats de benchmark personnels, non scientifiques, sur une machine unique.
- Explication de la manière d'exécuter des benchmarks mixtes à l'aide de WARP.
Licence
- Distribué sous licence Apache License, Version 2.0.
Avis de GN⁺ :
- SeaweedFS est un système de fichiers distribué conçu pour gérer efficacement les petits fichiers et les servir rapidement. Il est particulièrement adapté aux services web modernes manipulant de gros volumes de données.
- Sa compatibilité avec divers stockages et bases de données lui apporte de la flexibilité, et ses fonctions d'intégration cloud permettent une gestion des données rentable.
- En tant que projet open source, il bénéficie du soutien de la communauté et continue d'évoluer, ce qui en fait aussi un projet intéressant d'un point de vue technique.
1 commentaires
Avis sur Hacker News
Mention de JuiceFS
Expérience d’utilisation de SeaweedFS
Expérience négative avec SeaweedFS
Avis du développeur de SeaweedFS
Cas d’usage de SeaweedFS
Avis sur SeaweedFS et Min.io
Utilisateur de longue date de SeaweedFS
Historique des technologies de stockage chez Microsoft
Points à considérer lors du choix d’un stockage distribué
Comparaison de performances entre SeaweedFS et Min.io