There are three main components to servers:
Central Processing Unit (CPU)
Random Access Memory (RAM)
Storage
Each component has factors that determine proper sizing. At a high level, CPU and memory are driven by the number of users and the type of processing, for example, transaction processing versus report generation. Disk configuration is driven by data retention length, system configuration (revenue centers, menu items, and employees), resiliency and necessity for speed of access. Long-term storage of such data belongs in a warehouse such as Reporting and Analytics. The price of memory has gone down considerably in the last few years, as of the writing of this document, so the price of RAM is not a major factor. Ideally, memory on a database server should be sized to keep index objects and/or table objects in the buffer cache. This reduces IO latency and reduces the wait for reads.
In addition to the physical attributes of the server, it is necessary to select the correct versions of database and operating system software. At a minimum, the versions chosen for these items must be able to support the hardware that is going to be purchased.
Parent topic: Simphony Server Sizing