rustfs-filemeta 0.0.3

File metadata management for RustFS, providing efficient storage and retrieval of file metadata in a distributed system.
Documentation
[![RustFS](https://rustfs.com/images/rustfs-github.png)](https://rustfs.com)

# RustFS FileMeta - File Metadata Management

<p align="center">
  <strong>High-performance file metadata management for RustFS distributed object storage</strong>
</p>

<p align="center">
  <a href="https://github.com/rustfs/rustfs/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/rustfs/rustfs/actions/workflows/ci.yml/badge.svg" /></a>
  <a href="https://docs.rustfs.com/en/">๐Ÿ“– Documentation</a>
  ยท <a href="https://github.com/rustfs/rustfs/issues">๐Ÿ› Bug Reports</a>
  ยท <a href="https://github.com/rustfs/rustfs/discussions">๐Ÿ’ฌ Discussions</a>
</p>

---

## ๐Ÿ“– Overview

**RustFS FileMeta** is the metadata management module for the [RustFS](https://rustfs.com) distributed object storage
system. It provides efficient storage, retrieval, and management of file metadata, supporting features like versioning,
tagging, and extended attributes with high performance and reliability.

> **Note:** This is a core submodule of RustFS that provides essential metadata management capabilities for the
> distributed object storage system. For the complete RustFS experience, please visit
> the [main RustFS repository]https://github.com/rustfs/rustfs.

## โœจ Features

### ๐Ÿ“ Metadata Management

- **File Information**: Complete file metadata including size, timestamps, and checksums
- **Object Versioning**: Version-aware metadata management
- **Extended Attributes**: Custom metadata and tagging support
- **Inline Metadata**: Optimized storage for small metadata

### ๐Ÿš€ Performance Features

- **FlatBuffers Serialization**: Zero-copy metadata serialization
- **Efficient Storage**: Optimized metadata storage layout
- **Fast Lookups**: High-performance metadata queries
- **Batch Operations**: Bulk metadata operations

### ๐Ÿ”ง Advanced Capabilities

- **Schema Evolution**: Forward and backward compatible metadata schemas
- **Compression**: Metadata compression for space efficiency
- **Validation**: Metadata integrity verification
- **Migration**: Seamless metadata format migration

## ๐Ÿ“ฆ Installation

Add this to your `Cargo.toml`:

```toml
[dependencies]
rustfs-filemeta = "0.0.3"
```

## ๐Ÿ”ง Usage

## ๐Ÿš€ Performance

FileMeta is optimized for high-performance metadata operations:

- **Serialization**: Zero-copy FlatBuffers serialization
- **Storage**: Compact binary format reduces I/O
- **Caching**: Intelligent metadata caching
- **Batch Operations**: Efficient bulk metadata processing

## ๐Ÿ“‹ Requirements

- **Rust**: 1.70.0 or later
- **Platforms**: Linux, macOS, Windows
- **Memory**: Minimal memory footprint
- **Storage**: Compatible with RustFS storage backend

## ๐ŸŒ Related Projects

This module is part of the RustFS ecosystem:

- [RustFS Main]https://github.com/rustfs/rustfs - Core distributed storage system
- [RustFS ECStore]../ecstore - Erasure coding storage engine
- [RustFS Utils]../utils - Utility functions
- [RustFS Proto]../protos - Protocol definitions

## ๐Ÿ“š Documentation

For comprehensive documentation, visit:

- [RustFS Documentation]https://docs.rustfs.com
- [FileMeta API Reference]https://docs.rustfs.com/filemeta/

## ๐Ÿ”— Links

- [Documentation]https://docs.rustfs.com - Complete RustFS manual
- [Changelog]https://github.com/rustfs/rustfs/releases - Release notes and updates
- [GitHub Discussions]https://github.com/rustfs/rustfs/discussions - Community support

## ๐Ÿค Contributing

We welcome contributions! Please see
our [Contributing Guide](https://github.com/rustfs/rustfs/blob/main/CONTRIBUTING.md) for details.

## ๐Ÿ“„ License

Licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/rustfs/rustfs/blob/main/LICENSE) for
details.

---

<p align="center">
  <strong>RustFS</strong> is a trademark of RustFS, Inc.<br>
  All other trademarks are the property of their respective owners.
</p>

<p align="center">
  Made with โค๏ธ by the RustFS Team
</p>