Appearance
Shared Services
Each Yellowbrick instance is comprised of compute clusters, which process data and execute SQL queries, and shared services which comprise the remaining platform funtionality. Some examples of shared services functionality:
- Database connection management and termination
- Query planning and compilation
- Cluster management
- The row-oriented storage engine ("row store")
- Diagnostics, alerting and logging functions
- Authentication software
- Coordinating bulk operations
- Maintaining the Metering database
On appliance platforms, the shared services run on the manager nodes, with the scalability dictated by the compute, memory and CPU available on those particular servers. Typically, the appliance manager nodes are sized to support large, complex workloads with high concurrency.
On cloud platforms, the shared services can run on a choice of different instance profiles, Standard and Scaled, described below. By default all new installations run with Standard shared services to minimise cost. Since Yellowbrick only bills for vCPU used by compute clusters, the Yellowbrick cost won't change depending on the shared services type you select, but the cloud vendor cost will vary.
To view or alter the current shared services type using Yellowbrick Manager, navigate to Instance Management → Shared Services. Note that changing shared service type will incur a few minutes or more of instance downtime.
Standard Shared Services
Standard shared services are recommended for smaller installations with few concurrent users and small data sets, or workloads where the SQL queries in use are simple. Standard shared services are the best choice to minimise cloud spend since they run on hardware instance types with less vCPU and slower IO volumes. A simple rule of thumb would be to run standard shared services for environments with simple SQL queries and less than 100 logged-in users, or when a small number of compute cluster nodes are being used.
Scaled Shared Services
Scaled shared services are recommended for larger enterprise deployments. Although the stack consumes more cloud infrastructure, it will compile queries faster, provide faster insertion rates into the row store, plan more complex SQL and support thousands of logged-in users. Large compute clusters, comprised of tens or hundreds of nodes, will require Scaled shared services.