Infrastructure planning considerations

Use this guide to learn about the recommended infrastructure for a Relativity installation. It contains general information about system requirements, server functionality, and other guidelines for infrastructure planning. It also includes a list of frequently asked questions (FAQs) grouped by category, such as security and virtualization, for easy reference.

Note: See System Requirements for a complete discussion of server recommendations.

Servers

This section briefly explains the types and functionality of the different servers used in a Relativity installation. It also includes basic guidelines for memory requirements, configurations, and other information you can use to develop an effective infrastructure plan.

Secret Store

The Secret Store provides secure auditable storage for Relativity secrets. A secret could be user IDs and passwords stored within the Relativity response file, a database connection string stored in an application configuration file or instance settings containing confidential credentials. Use the following guidelines when configuring Secret Store.

  • Server Requirements - Secret Store should be deployed to a dedicated host / virtual machine that shares no other Relativity server roles.
  • Database Requirements - Secret Store requires a database server for hosting the Secret Store database. Our recommendation would be to use the Primary Database server, however, any database server may be used provided it meets system requirements for Relativity.
  • Unseal Key - Once configured, Secret Store will generate an unseal key used to unseal the store when retrieving secrets. If the unseal key is lost, it will not be possible to recover previously stored secrets. In this scenario, Secret Store must be reinstalled to generate a new unseal key and secrets must be reimported.

Database (SQL)

The SQL Server stores the databases, which contain metadata, extracted text, and SQL log files. Use the following guidelines when configuring this server.

  • Physical versus virtualized SQL - we support Virtualizing SQL, and it is recommended for simplicity of management and backups. Please evaluate the requirements for your environment. To make sure you are not over compensating the physical host, place your virtual SQL Server on x, so you do not over commit resources.
  • Disk space usage metrics - on average, every 100,000 records consume 10 GB of database space. On average database disk space usage is one-third of the total file size (natives and images) for a workspace. These metrics have a high standard deviation and tend to scale up or down linearly. This is an average. Actual files vary in size considerably.
  • IOP and latency best practices - no IOP or latency requirements currently exist for a Relativity installation. We recommend that you follow Microsoft best practices and work with your storage unit provider for optimal setup and configuration. The Relativity universe contains Dell, NetApp, EMC, Hitachi, BlueArc, IBM, and other devices.

Agent (background processes)

Relativity uses several different types of agents to perform background processing, such as imaging, branding, and indexing. These agents run on scalable agent servers. These agents can be processor-intensive depending on the types of jobs that are running. Use the following guidelines when configuring an agent server.

  • Agent requirements - allocate one processor core and 1 GB of RAM for each additional agent in the environment.
  • Agent configurability - add or remove agents to maximize production, depending on the jobs that you're conducting. The number of agents you add is configurable.
  • Enhancing agent performance - partners who use Relativity for productions and imaging often have many branding or imaging agents to speed up these jobs. If you have a larger Relativity instance, you should have several agent servers.

Web (application)

Relativity runs on the web (or application) server. Use the following guidelines when configuring this server.

  • Number of web servers - 1-2 web servers, meeting our minimum hardware requirements of 8-16 processor cores and 32 GB RAM, supports 45-50 concurrent users. We recommend to start off with at least two web servers to help distribute user load and offer redundancy.
    • Relativity has only been tested with optimal performance for up to 50 users. Anything above the recommended optimal user count per web server is considered unsupported since there are additional considerations that you would need to address beyond increasing the CPU and RAM resources.
  • User load balancer - Relativity includes a user load balancer to distribute user sessions evenly across all web servers included in the web farm. See Web load balancing in the Environment Optimization Guide on web servers for more details. Windows NLB is also supported along with the Relativity User Load balancing option. Contact Relativity Support if you need assistance.
  • Burstable connection - a 10-20 Mbps dedicated, 100 Mbps burstable connection out of the data center(s) for every 50 concurrent Relativity users is sufficient. Monitor this for the most accurate bandwidth metrics.
  • Terminal services - a Terminal Server or Citrix server is a recommended backup solution in the event that a review site has poor network connectivity or issues with installing the Relativity viewer.

Analytics (search)

Analytics is one of the default searching methods Relativity provides. You can use the analytics server for data analysis features such as email threading, near duplicate identification, clustering, and categorization. The size of the indexes and structured analytics sets that these searching analysis methods use depends on the number of columns, records, documents, and type of data being indexed on the workspace level.

  • Analytics index/set storage - We recommend the disk location have storage speed and connectivity similar to the SQL Server, due to the complexity of the underlying database software.
  • Memory usage - the Analytics server requires a large amount of memory, but it doesn't need a lot of processing power. The type of data dictates the RAM required. However, a good estimation for index building is 6 GB RAM for each 1MM documents. For structured analytics, estimate about 6 GB RAM for Java for each 1MM documents. Since the Analytics server uses a lot of RAM in a virtual host, use a physical server rather than virtualizing this role.

File server

Relativity uses the file server to store native and image files. Use the following guidelines when configuring this server.

  • File storage systems - you can use NAS (NFS or CIFS), DAS, or SAN to fulfill this requirement.
  • UNC path requirement - Relativity requires a UNC path to the share(s) that house native and TIFF files. Depending on your storage unit, you may not require a Windows installation for this role. Don't install any Relativity software for this role.
  • Location - there can be multiple file repositories across different locations. Start with one designated file repository that is a few hundred GBs in size, depending on anticipated load. You can add additional file repositories as the environment continues to grow.

Agents

The following FAQs provide information on Relativity agents and agent servers.

Analytics

The following FAQs provide information on Analytics servers, indexes, and disk space requirements.

Architecture

The following FAQs provide information on scaling, performance, memory, and other issues related to the architecture of a Relativity installation.

Search indexes

The following FAQs provide information on storing and managing search indexes in Relativity.

File storage

The following FAQs provide information on various file storage solutions for Relativity.

Integration

The following FAQs summarize information about integrating Relativity with different systems and platforms.

Message Broker (Relativity Service Bus)

Relativity requires RabbitMQ as the message broker. RabbitMQ is the most widely deployed open source messaging broker with more than 35,000 production deployments. RabbitMQ is fully supported on the latest Windows operating systems, features full support for TLS 1.2, and includes superior monitoring, administration, and performance capabilities.

  • RabbitMQ installation requirements - for a typical installation, install RabbitMQ on a server or VM that is accessible throughout your Relativity instance.
    • Must be accessible by all Web and Agent servers.
    • Minimum of 2 GB of RAM, 2 CPU cores, and 10 GB of free disk space.
    • Recommend 4-8 GB of RAM, 4 CPU cores, 40 GB of free disk space.
    • In environments where large batch jobs may be sent to RabbitMQ, such as mass conversions with greater than 25,000 documents, disk IO may become a factor in performance.
    • Relativity recommends RabbitMQ’s MNESIA database be located on a drive with less than 15ms latency and at least 30 mb/sec read/write speeds. For information about configuring RabbitMQ’s directories, see the RabbitMQ website.
  • RabbitMQ configurability - agents and web servers must be able to communicate with the cluster over the following ports:
    • TCP: 5672 (non TLS configurations) and/or 5671 (TLS configurations)
    • HTTP(S): 15672 (non TLS configurations) and / or 15671 (TLS configurations)

Performance

These FAQs provide information about optimal performance configurations for Relativity installations as well as latency detection.

Relativity Processing

These FAQs provide information about Processing in a Relativity environment.

Relativity Legal Hold

The following FAQs provide information about Relativity Legal Hold (RLH).

dtSearch

The following FAQs provide information about dtSearch in a Relativity environment.

SQL Server

The following FAQs provide information on managing a SQL Server in a Relativity environment.

Virtualizing

Web servers

The following FAQs provide information web servers and other related information.

Secret Store

The following FAQs provide information on Secret Store and related information.