Outdated Version

You are viewing an older version of this section. View current production version.

System Requirements min read


This section describes MemSQL software, hardware, and network requirements.

Software Requirements

MemSQL requires a 64-bit Linux-based operating system. MemSQL will not run on 32-bit Linux. The following distributions are officially supported:

Distribution Minimum Version Recommended Version
Amazon AMI 2014.03 2016.03
CentOS 6.0 7.2
Debian 7.3 8.3
Fedora 20 23
OpenSUSE 13.1 42.1
Red Hat 6.0 7.2
Ubuntu 12.04 14.04

Hardware Requirements

On-Premises Hardware Requirements

MemSQL minimum hardware requirements are:

  • 4 CPU cores
  • 8 GB RAM

MemSQL recommends the following hardware for on-premises deployments:

Component Recommendation
CPU Two socket x86-64 based server with 8 cores. At a minimum, Intel Core i3 or better processor.
Memory >32GB per host
Hard Drive Columnstore: SSD with at least 3X memory capacity Rowstore: 7200RPM+ HDD with at least 3X memory capacity

Considerations:

  • MemSQL can run on machines with less than 8GB RAM, but this is not recommended.
  • MemSQL storage capacity is limited by the amount of RAM on the host machine. Increasing RAM increases the amount of available data storage.
  • It is strongly recommended to run MemSQL leaf nodes on machines all with equal capacity
  • MemSQL is optimized for architectures supporting SSE4.2, but it will run successfully on most earlier architectures.
  • MemSQL’s Columnstore will run on non-SSDs, but LOAD DATA performance will be severely degraded.
  • For MemSQL’s Columnstore, it is recommended to use the EXT4 filesystem with discard and noatime mount options.

Cloud Environment Hardware Requirements

The following table shows the recommended resources to use when deploying MemSQL in a cloud environment, including several options to meet different application performance requirements. MemSQL will work with most public or private cloud providers, as long as the selected resource has comparable specifications to those listed below. All instances should have high network performance and must be a supported 64-bit Linux distribution. All instances should be geographically deployed in a single region. Instance types that support Enhanced Networking should have it enabled.

Instance Type Processor Architecture vCPU Memory (GB) Instance Storage Network
small 64-bit 8 7 4 x 420 High
medium 64-bit 4 15 4 x 420 High
large 64-bit 8 30 EBS Only High
extra large 64-bit 8 68.4 2 x 840 High

Network Requirements

MemSQL requires routing and firewall settings to be configured to:

  • allow database clients (eg, your application) to connect to the MemSQL aggregators
  • allow all nodes in the cluster to talk to each other over the MySQL protocol (3306) and MemSQL Agent protocol (9000)
Port Source Destination
3306 Clients Aggregator Nodes
3306 All MemSQL Nodes All MemSQL Nodes
9000 All MemSQL Nodes All MemSQL Nodes

We also highly recommend configuring your firewall to prevent other hosts on the Internet from connecting to MemSQL.