Grooper Help - Version 25.0
25.0.0017 2,127
  • Overview
  • Help Status

File Store

Node Grooper

Represents a storage location for file content associated with Nodes in a Grooper repository.

Remarks

Overview

A File Store is a core infrastructure component in Grooper, responsible for persisting all file content (such as images, documents, and attachments) linked to Nodes.
Each Grooper repository is initialized with a primary File Store, but additional File Stores can be created to support scaling, archiving, or storage tiering needs.


Architecture and Relationships

  • Association with Nodes:
    Every file saved in Grooper is stored in a File Store.
  • Active File Store:
    The Root object maintains an 'Active File Store' property. All new files are written to the currently active File Store, but existing files remain accessible from their original store.
  • Scalability:
    Multiple File Stores can be configured to handle growth, support archiving, or move data to different storage tiers (e.g., from high-performance to low-cost storage).

Usage Scenarios

  • Repository Initialization:
    When a new Grooper repository is created (see the GCC connections init command), a primary File Store is provisioned to hold all file content.
  • Storage Expansion:
    If the primary File Store approaches capacity, a new File Store can be added and set as active, allowing seamless expansion without downtime.
  • Archiving and Tiering:
    Archived batches or infrequently accessed data can be migrated to a File Store backed by lower-cost storage, such as cloud-based or network-attached storage.
  • Migration:
    The Move Objects Here command enables migration of files and their associated Nodes to a different File Store.

Performance and Configuration

  • Parallelism:
    Grooper processes are highly parallel and can generate significant file I/O. For best performance, use fast storage (e.g., SSDs or high-throughput network shares) and avoid bottlenecks.
  • File System Tuning:
    In high-parallelism environments, ensure file system caching is properly tuned on all servers running Activity Processing or Import Watcher services.
    This is especially important for small, single-document batches. See the Machine - Tune File System command for guidance.
  • Network Paths:
    Always specify network storage using UNC paths (e.g., \\server\share). Mapped drives are not supported and will cause errors for service processes.
  • Cloud Storage:
    When using cloud storage (e.g., Azure Files), thoroughly test at production scale. Azure Disks attached to Windows hosts are generally preferred for high-performance workloads due to lower latency and better caching.

Maintenance and Best Practices

  • Monitoring:
    Monitor free space and file counts using the provided properties. The MinFreeSpace constant can be used to trigger alerts or automate expansion.
  • Cleanup:
    Use the DeleteOrphanedFiles and CleanPath methods to remove unused files and empty directories, maintaining storage hygiene.
  • Backup and Recovery:
    Regularly back up File Store directories and the associated database to ensure recoverability in case of hardware failure or data loss.
  • Security:
    Ensure appropriate permissions are set on File Store paths to prevent unauthorized access or accidental deletion.

Example

  1. Initialization:
    • A new repository is created, and a File Store is set up at \\fileserver\GrooperFiles.
  2. Expansion:
    • As storage needs grow, a second File Store is added at \\fileserver\GrooperArchive, and the 'Active File Store' is updated.
  3. Archiving:

Properties

NameTypeDescription
General
File Store Information

Design Tabs

General View or edit properties of a node.
Reports View reports for a node.
Advanced View or edit advanced details about a node.

Context Menu Commands

Command Shortcut Description
account_tree Move Objects Here Migrates selected objects and their files to this file store.
hard_drive Test Connection Tests the connection to the file store.

Used By

Notification