前言
还有两个月要双十一了,我想通过这个系列,分享我平时是在什么样的环境下学习数据库的,大家需要借鉴的也可以赶上双十一这趟车。
学习数据库首先要有好的硬件环境,尤其是做性能测试时,我们可以采购阿里云、腾讯云、华为云的云主机,当然了我们也可以用自己的台式机,一台或多台高配的主机,既可以用于玩大型 3A 游戏,也可以用于学习数据库。
为什么要自己搭iaas硬件,而不用云主机?
1. 云主机贵爆了
云主机只有在4核以下很垃圾的配置情况下是便宜的。下面腾讯这个配置和我现在的家用物理机旗鼓相当。
接着,我选择带宽,选择 200Mbps,作为对比我家用的是 300Mbps的带宽(一年1000多元,上行30Mbps,下行300Mbps)。当然了腾讯给的是 fix ip,上下传对等的带宽,但这也贵得离谱吧,23.5k 的主机费用和 175k 的带宽费用(每年)。
不考虑网络带宽的费用,机器的费用一年我可以在家买两台物理机了。。
2. 自由度大
自己的主机想干嘛就干嘛,他平时是普通的 PC,你开着 vmware 的同时,宿主机还可以上网可以打游戏不耽误。
低成本购买硬件的关键在于——采购家用台式机做服务器而非采购二手服务器主机。我们不需要学习如何做硬件 raid!服务器不需要有 raid 卡,等等。我们目标是学习数据库!
这篇文章,我将介绍如何低成本采购家用物理硬件。
搭建我的私有云学习环境——芬达云
我叫芬达,芬达云是搭建在我家里的 IaaS 层服务,他是完全的私有云,只为我和我的小伙伴们提供数据库学习的实验环境。
这个"私有云"其实是带引号的,因为他不是真的云的架构,没有使用到 OpenStack 等 IaaS 层软件,仅仅通过 vmware 虚拟机化、CentOS 操作系统、路由器端口转发技术,实现像远程公用云主机一样,无论在哪里都可以远程操作自己的数据库实验环境。
芬达云由两台高配台式机和一台高端职业玩家路由器组成:
设备一:
2016年双十一购于京东和天猫,买的散件自己组装。
设备二:
2021年9月5日主机购于深圳华强北,店家帮忙组装。2022年04月10日显示器购于京东
设备三: 华硕路由器2019年11月11日购于京东
有了这三台物理设备后,我们的实验环境就组成了,为了简化描述,三台机器我分别成为旧物理机、新物理机、路由器。然后我们装上 VMware® Workstation 16 Pro,下一篇我会分享虚拟机的使用经验。
旧物理机用于测试各种裸机部署的 MySQL,新物理机配置比较高,主要做 k8s 上容器化的 MySQL 实验。
下图是我的旧物理机上的实验环境。
采购时需要注意的点
不需要采购独立显卡,使用集成显卡即可,能满足基本办公、影音娱乐、玩小型游戏和做数据库实验。我只玩"炉石传说",所以不购买独立显卡也足够了。因为我需要集成显卡,规避购买昂贵的独立显卡,所以 AMD 虽然核数多,平均每核的成本价低,我还是购买了 intel 的CPU,他带核显(集成显卡的一种)。 散热器必须买好的,必须上水冷,二十四小时不关机不是开玩笑。我第一台主机的水冷散热器撑不到 5 年就嗝屁了。 我的服务器是 24 小时开机的。但我建议能不 24 小时开机就不 24 小时。我购买的机械硬盘是蓝盘,不是专业的 24 小时开的盘,容易坏。我没有做 raid,坏一块盘就数据全丢了,我的硬盘上除了虚拟机还有个人资料,当时盘坏了,我丢了2009-2018年所有照片!强烈建议个人资料及时做备份同步到家里其他设备例如 NAS 上。 我购买的 SSD 几乎是家用级别最好的,所以 MySQL 压力测试一般瓶颈在 CPU。不过由于 SSD 容量有限,我 sysbench 测试高可用时用的是机械盘,只有性能测试时我才会考虑用 SSD。 购买 3T 的机械硬盘的话,注意用 GPT分区。一开始我用 Windows 对磁盘分区了 MBR 分区表格式,发现 MBR 只支持最大 2TB 的硬盘,所以重新格式化和分区,换用 GPT 分区表,然后才能使用这颗硬盘的全容量。我建议买 2T 够用了,按需扩容,一般机箱可以满足插三个机械盘或以上。 内存价格波动很大,看准时机该出手就出手,至少买两根组成双通道,后续有钱可以继续买,扩容。 六一八、双十一,一般是历史最低价了,其他时间买都很坑,该杀价就杀价别害羞,买CPU+主板的问能不能送水冷,买机箱+电源的问是否能送鼠键,单买鼠标的问能否送鼠标垫。整机采购的应该是送操作系统的,不送就拜拜。 购买机箱不需要购买那种带灯光花里胡哨的散热风扇,请咨询是否有没灯光的散热风扇或者是否可以软件上设置关闭灯光,我长期不关机,晚上睡觉时主机灯光亮会瞎人的。
一般来说,物理机主机买一台 1W 元左右够了,路由器 300 元左右也是可以了,我路由器买贵了被割韭菜了。加上宽带和电费,第一年学习成本估计费用在 13k - 14k。
后续
下一篇,将是《搭建数据库学习私有云环境(二)——虚拟机篇》