Yellowfin’s server requirements are largely dependent on the types of reports run, the browsing habits of concurrent users, and the number of background jobs that have been scheduled to run. It is important to provision an environment that is capable of delivering a responsive environment for users based on these factors.
A Yellowfin environment can be scaled both vertically (more processing power on a single server) or horizontally, by deploying the application server in a cluster of many nodes. The Yellowfin Clustering Guide can provide more information how to configure a clustered Yellowfin environment.
The server requirements below are based on providing Yellowfin users with a responsive application user experience, however, any Yellowfin functions that query a data source, such as generating a report, loading filter values or caching results to a table, are susceptible to the performance of systems outside of the Yellowfin environment. Queries to slow external systems, can give the impression that Yellowfin itself is slow. It is recommended that external data sources be provisioned adequately for the number of data source requests that a number of concurrent Yellowfin users could generate simultaneously.
Requirements for Yellowfin Products
Following are application and database server requirements for each of the Yellowfin products.
The recommended specifications for Yellowfin Data Preparation is influenced by the datasets processed by Data Transformation jobs and the scheduling of these tasks. Transformation flows perform the bulk of its processing in memory. The number of input steps, merges and outputs per flow, is critical. Individual Data Transformation jobs could be processed by nodes in a Yellowfin cluster. These specifications are for a single node.
Recommended Application Server Requirements
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Quad Core (8 Thread) 3GHz 64-bit CPU or equivalent |
RAM | 16 GB (15 GB allocated to Yellowfin) |
Hard Disk | 5 GB HDD Free Space |
Operating System | Windows Server Red Hat Enterprise Linux, SUSE Linux Enterprise Server, or Ubuntu Server LTS. |
Java | JRE 8 Minimum |
Web Application Server | Tomcat |
Web Server | Tomcat |
Note: The specifications above are for a dedicated Yellowfin Server, with no other significant software running on the server other than the operating system. Running a database or other software on the same server would require additional RAM and CPU to meet the recommended minimum specification.
Recommended Repository Database Requirements
Yellowfin requires a database for storing metadata for the content and users that are in Yellowfin. It is recommended that this database reside on a separate server to where the Yellowfin application resides.
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Dual Core (4 Thread) 3 GHz 64-bit or equivalent |
RAM | 4 GB |
Hard Disk | 10 GB (preferably SSD or RAID based storage) |
Database | Yellowfin requires one of the following databases to use as an application configuration database:
|
Source Database Requirements
In many cases a source database may exist prior to Yellowfin being provisioned. This may be a transactional database or data warehouse. In some environments, there may be multiple data sources that a single instance of Yellowfin will connect to. It is important that this database system can handle the queries that Yellowfin will generate. Queries run by Yellowfin Data Transformation flows usually bulk load data with some filtering. Subsequent processing is done in memory.
The requirements are different based on the type of database system in use, and the amount of data in the system. For example, a MySQL instance with 10,000 rows of data, will provide much faster query times than a MySQL instance with 10,000,000 rows of data on the same hardware.
High-speed columnar databases, such as HP Vertica, Sybase IQ and Actian Vector will provide much faster query times on the same hardware as a relational database with the same amount of data.
Yellowfin Data Discovery and Yellowfin Dashboards, both require the following minimum specification to be functional.
Functional Application Server Requirements
The Yellowfin service will start on the following server specification:
Requirement | Minimum Functional Specification |
---|---|
Processor | 1 x Single Core 1GHz 32-bit CPU or equivalent |
RAM | 2 GB (1.4 GB allocated to Yellowfin) |
Hard Disk | 1 GB Free Space |
Operating System | Any operating system that can support a full Java Virtual Machine (JVM) 8. |
Database | Local database on the same server |
Note: This specification is only recommended for a single concurrent user. Use of some functions (such as, map generation, Assisted Insights), and reports on large volumes of data may slow the machine and cause Yellowfin to use more memory than available. 32-bit machines are not recommended, as it enforces a hard limit on the amount of memory that can be allocated to Yellowfin.
Recommended Application Server Requirements
The recommended server configuration below would suit an environment of up to roughly 25 concurrent users with average content complexity.
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Quad Core (8 Thread) 3GHz 64-bit CPU or equivalent |
RAM | 8 GB (7 GB allocated to Yellowfin) |
Hard Disk | 5 GB HDD Free Space |
Operating System | Windows Server Red Hat Enterprise Linux, SUSE Linux Enterprise Server, or Ubuntu Server LTS. |
Java | JRE 8 Minimum |
Web Application Server | Tomcat |
Web Server | Tomcat |
Note: The specifications above are for a dedicated Yellowfin Server, with no other significant software running on the server other than the operating system. Running a database or other software on the same server would require additional RAM and CPU to meet the recommended minimum specification.
Recommended Repository Database Requirements
Yellowfin requires a database for storing metadata for the content and users that are in Yellowfin. It is recommended that this database reside on a separate server to where the Yellowfin application resides.
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Dual Core (4 Thread) 3 GHz 64-bit or equivalent |
RAM | 4 GB |
Hard Disk | 15 GB (preferably SSD or RAID based storage) |
Database | Yellowfin requires one of the following databases to use as an application configuration database:
|
Source Database Requirements
In many cases a source database may exist prior to Yellowfin being provisioned. This may be a transactional database or data warehouse. In some environments, there may be multiple data sources that a single instance of Yellowfin will connect to. It is important that this database system can handle the queries that Yellowfin will generate. It is also important to understand that a single Yellowfin dashboard, with 5 reports, will generate 5 concurrent database queries on a source database. Ensuring these queries can be completed quickly will ensure that the dashboard loads in a reasonable time.
The requirements are different based on the type of database system in use, and the amount of data in the system. For example, a MySQL instance with 10,000 rows of data, will provide much faster query times than a MySQL instance with 10,000,000 rows of data on the same hardware.
High-speed columnar databases such as HP Vertica, Sybase IQ and Actian Vector will provide much faster query times on the same hardware as a relational database with the same amount of data.
When querying a transactional system, it is important that columns are indexed to support reporting. Indexes for transactions are usually on ID columns, whereas report queries will filter by dimensional columns.
Client Requirements
The client machine is where a user will connect to Yellowfin from. Users will connect to Yellowfin through their web browser. Some Yellowfin reports can be large and it requires memory and processing power to render them in a browser. Yellowfin also makes extensive use of JavaScript. This code is run in the browser and requires some processing power to execute.
It is difficult to recommend a specification for a client machine, as each user will have different programs (with different memory and CPU requirements) running on their desktop computers simultaneously. The following can be used as a guide, but it’s assumed that there are no other resource intensive processes running on the computer.
Requirement | Recommended Minimum Specification |
---|---|
Client Processor | 1 x 2Ghz Dual Core (4 thread) CPU or equivalent |
Client RAM | 4 GB |
Web Browser | Supported browsers include:
|
PDF Reader | A PDF reader such as Adobe Acrobat Reader for viewing PDF files. This reader is only required if users export Yellowfin reports to PDF. |
Server Requirements Concurrent Users
The following information is given based on benchmarks using Yellowfin in a basic scenario with moderate usage rates. Yellowfin recommends that you conduct your own benchmarking in an initial phase of your deployment to better understand hardware requirements based on your report content and user habits.
Recommended minimum specifications based on the number of concurrent users and minimum background task usage:
Number of users | CPU Requirements | RAM Requirements |
---|---|---|
Developer / Demonstration | 1 x 2 GHz Dual Core (4 Thread) or equivalent | 2 GB (1.4 allocated to Yellowfin) |
25 or Less Concurrent Users | 1 x 3 GHz Quad Core (8 Thread) or equivalent | 8 GB (7 allocated to Yellowfin) |
50 Concurrent Users | 1 x 3 GHz 8 Core (16 Thread) or equivalent | 16 GB (15 allocated to Yellowfin) |
150 Concurrent Users | 1 x 3 GHz 16 Core (32 Thread) or equivalent | 32 GB (30 GB allocated) |
Note: The table above shows single server requirements. Yellowfin can be deployed as a cluster to spread the workload across multiple smaller servers. For example, 150 users could be handled by 4 Quad Core servers in a cluster, rather than a single 16 core machine.
Yellowfin Stories are relatively lightweight but requires resources to account for concurrent users reading a story. Stories have embedded Yellowfin reports, therefore the recommended specification will be the same as the Data Discovery product.
Functional Application Server Requirements
Yellowfin requires a minimum specification to be functional. The Yellowfin service will start on the following server specification:
Requirement | Minimum Functional Specification |
---|---|
Processor | 1 x Single Core 1GHz 32-bit CPU or equivalent |
RAM | 2 GB (1.4 GB allocated to Yellowfin) |
Hard Disk | 1 GB Free Space |
Operating System | Any operating system that can support a full Java Virtual Machine (JVM) 8. |
Database | Local database on the same server |
Note: This specification is only recommended for roughly 30 concurrent users who are reading or creating Stories which do not have reports. 32-bit machines are not recommended, as it enforces a hard limit on the amount of memory that can be allocated to Yellowfin.
Recommended Application Server Requirements
The recommended server configuration below would suit an environment for up to roughly 100 concurrent story consumers.
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Quad Core (8 Thread) 3GHz 64-bit CPU or equivalent |
RAM | 4 GB (3.5 GB allocated to Yellowfin) |
Hard Disk | 2 GB HDD Free Space |
Operating System | Windows Server Red Hat Enterprise Linux, SUSE Linux Enterprise Server, or Ubuntu Server LTS. |
Java | JRE 8 Minimum |
Web Application Server | Tomcat |
Web Server | Tomcat |
Note: The specifications above are for a dedicated Yellowfin Server, with no other significant software running on the server other than the operating system. Running a database or other software on the same server would require additional RAM and CPU to meet the recommended minimum specification.
Recommended Repository Database Requirements
Yellowfin requires a database for storing metadata for the content and users that are in Yellowfin. It is recommended that this database reside on a separate server to where the Yellowfin application resides.
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Dual Core (4 Thread) 3 GHz 64-bit or equivalent |
RAM | 4 GB |
Hard Disk | 10 GB (preferably SSD or RAID based storage) |
Database | Yellowfin requires one of the following databases to use as an application configuration database:
|
Client Requirements
The client machine is where a user will connect to Yellowfin from. Users will connect to Yellowfin through their web browser. Some Yellowfin reports can be large and it requires memory and processing power to render this in a browser. Yellowfin also makes extensive use of JavaScript. This code is run in the browser and requires some processing power to execute.
It is difficult to recommend a specification for a client machine, as each user will have different programs (with different memory and CPU requirements) running on their desktop computer simultaneously. The following can be used as a guide, but it assumes that there are no other resource intensive processes running on the computer.
Requirement | Recommended Minimum Specification |
---|---|
Client Processor | 1 x 2Ghz Dual Core (4 thread) CPU or equivalent |
Client RAM | 4 GB |
Web Browser | Recommended browsers include:
|
The recommended specifications for viewing Yellowfin Signals is the same as those for the Data Discovery product as it involves running reports. However, additional resources must be provisioned on Yellowfin nodes which run signal processing jobs in the background. 32-bit machines are not recommended, as it enforces a hard limit on the amount of memory that can be allocated to Yellowfin.
Recommended Application Server Requirements
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Quad Core (8 Thread) 3GHz 64-bit CPU or equivalent |
RAM | 8 GB (7 GB allocated to Yellowfin) |
Hard Disk | 5 GB HDD Free Space |
Operating System | Windows Server Red Hat Enterprise Linux, SUSE Linux Enterprise Server, or Ubuntu Server LTS. |
Java | JRE 8 Minimum |
Web Application Server | Tomcat |
Web Server | Tomcat |
Note: The specifications above are for a dedicated Yellowfin Server, with no other significant software running on the server other than the operating system. Running a database or other software on the same server would require additional RAM and CPU to meet the recommended minimum specification.
Recommended Repository Database Requirements
Yellowfin requires a database for storing metadata for the content and users that are in Yellowfin. Signals jobs generate a lot of metadata. It is recommended that this database reside on a separate server to where the Yellowfin application resides.
Requirement | Recommended Minimum Specification |
---|---|
Processor | 1 x Dual Core (4 Thread) 3 GHz 64-bit or equivalent |
RAM | 8 GB |
Hard Disk | 50 GB (preferably SSD or RAID based storage) |
Database | Yellowfin requires one of the following databases to use as an application configuration database:
|
Source Database Requirements
In many cases a source database may exist prior to Yellowfin being provisioned. This may be a transactional database or data warehouse. In some environments, there may be multiple data sources that a single instance of Yellowfin will connect to. It is important that this database system can handle the queries that Yellowfin will generate. The number of source queries which a single Signal processing job can run, depends on several factors such as the number of dimensions, unique values in a dimension, the metrics selected for analysis, access filters, client orgs and even the number of signals generated. The sooner these queries can finish execution, the faster the Signal job will be.
The requirements are different based on the type of database system in use, and the amount of data in the system. For example, a MySQL instance with 10,000 rows of data, will provide much faster query times than a MySQL instance with 10,000,000 rows of data on the same hardware.
High-speed columnar databases such as HP Vertica, Sybase IQ, and Actian Vector will provide much faster query times on the same hardware as a relational database with the same amount of data.
Source tables should have updated indexes on the columns of interest, especially on Date/Time fields.
Previous topic: Server specification overview
Next topic: Estimating capacity requirements