Menagerie Part 1: Hardware Choices
- This is Part 1 of my Database Menagerie series, where we setup a geographically dispersible database.
- Go HERE for the introduction and table of contents.
- This is a work-in-progress: last change: 03/22/2021
My Requirements
Since this will be using multiple physical servers, I wanted to find a cheap device that was physically small with a simple case that didn't have a lot of fiddly bits. It had to have a fast disk (it is for a database server after all) and fast ethernet.
I need it to be cheap: I want a number of these spread around - we can't be breaking the bank.
And a major requirement: I want to have the least of amount of things to break or go wrong - low maintenance is mandatory.
Initial Plan
My initial intent was to use the Raspberry Pi as my base machine, especially after the Pi 4 came out - more RAM, faster processor, finally fast disk access, and bootable from a real disk (no longer dependent on the SD card!)
It sounded great. But then the fun began:
- The feature to boot from a real disk instead of an SD card took forever to become available
- Disk and CPU speed was slower (although it wins in some tests)
- Most disk interfaces were slower due to lack of UASP support
- The Raspberry Pi doesn't come with a case, so you have to source a case, and most are clunky or geeky
- Case assembly time and effort was excessive (way too many screws, you need to buy a power adapter; multiple vendors are usually needed to get the end result, etc.).
- Lastly, my favored database did not offer a ready-to-run ARM executable, so I had to compile from source - which would take an hour each attempt and I never quite got it working.
There were just too many geeky steps, with a lot more drama with too many stops/restarts. It was really death by 1000 tiny cuts.
The RPi4 is still on my radar, though, and I still hope to add them to my menagerie; I'll keep info on them in these articles as if they actually work/until they work :-).
But what about the cloud or VMs?
You could use cloud servers such as Azure, AWS, Digital Ocean or UpCloud; but even with a low 4GB RAM and 250GB of disk, you are in expensive territory fast - after a few months of fees you could buy a tiny server. And the fees continue forever. And you have contention with whatever else they have running on the physical machine.
Alternatively, you could do your own on-premise Virtual Servers but again: more fiddly bits, and contention with whatever else you have running on the physical machine. Plus you are most likely running more than one node on the same physical server, so if the physical server goes down your cluster is dead.
Why Not WiFi?
Why Ethernet and not Wi-Fi? Because Wi-Fi is too prone to drop-outs, speed bumps, compatibility arguments (Wifi 5? 6? n? ac? ax?), has to be setup at each location for the local SSID, blah, blah, blah. Who knows where I might drop these into - I need rock-solid networking since this will be geographically dispersed using fairly constant communications to keep synchronized. No fiddling.
Three Choices
To make this work, I needed to make some initial choices for my servers, and then test & compare them to see how they would do. I wanted to do a PRICE comparison, a SPEED comparison, and a SUBJECTIVE comparison on how "fiddly" the choice was. To even things out, I'll basically provision the exact same 250GB SSD for them all, and also make RAM be 8GB.
My three choices are:
Lenovo ThinkCentre M710q Tiny (Refurbished)
- Fast, x86, quad core
- Comes with SSD & 8GB RAM
- Easy assembly/disassembly (but it's ready to run and does not need any)
- There are a wide variety of similar machines available on eBay etc. See the Project TinyMiniMicro series at ServeTheHome.com for lots of detailed info and comparisons.
Intel NUC model 7CJYH (New)
- x86 but only two cores/no hyper-threading
- Needs disk and RAM
- Easy assembly/disassembly
Raspberry Pi4 (New)
- ARM architecture
- At first glance inexpensive
- Needs disk and RAM and a case and more
- NOT fast & easy assembly/disassembly
- Disk speed is dependent on interface (needs UASP-based disk adapter to be fast)
- Non-x86 architecture takes a lot more effort to get things going
Comparisons
OK, lets compare these machines and see how they do
PRICE Comparison
Link to detailed PRICE Comparison and parts list
SPEED Comparison
Link to detailed SPEED Comparison
OBJECTIVE Comparison:
Lenovo ThinkCenter - One screw and it's opened up, ready to upgrade etc. Easy software installation.
Intel NUCs - Only 4 screws and then same ease of upgrading as the Lenovo; easy software installation.
The Raspberry Pi4s are way too fiddly; 12 screws for one of the Raspberry Pi cases, and the Geekworm case has no access to the SD Card slot unless you disassemble the case. Software setup requires many more steps than the x86 machines.
The RESULT
I'm going to go with a mix of NUC and Lenovo Tiny machines; I hope my Raspberry Pi4's eventually work so I can add even more servers.
Comments powered by Talkyard.