The SD-card has all the room you need for Linux and most of what programs you could think of, and if you need more room for data you could most likely do a connection to a network share somewhere.
But if you need more local space for data you might want to add a SATA harddrive and there’s no interface in the Raspberry Pi for that. The easiest way is to add a USB-SATA connection (might be in the form of an external USB harddrive cabinet – a HDD with build in USB3 is also available) and use the USB port. Raspberry has USB2 which isn’t as fast as SATA but still a lot faster than the SD-card. The ethernet connection, however, is also on the USB-channel, so if you would use the Raspberry for a NAS, the same amount of data-traffic will go through the USB channel twice.
You’ll find a detailed description here: mikronauts.com raspberry-pi how-can-i-add-a-sata-hard-drive-to-a-raspberry-pi-2
For a faster HDD connection you could go for a Banana Pi instead – it has native SATA connection. Sample description and price here: conradelektronik.dk Banana Pi
General info on Banana Pi is here: www.bananapi.org