paint-brush
如何为分析设置专用数据库服务器经过@alejandroduarte
1,421 讀數
1,421 讀數

如何为分析设置专用数据库服务器

经过 Alejandro Duarte2022/05/18
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

如果你碰巧有一台旧的笔记本电脑或机器到处乱扔灰尘,你可能想重新利用它。用于分析处理(例如生成临时报告)的快速 SQL 数据库听起来不错吗?如果是这样,请继续阅读! 在本文中,我将向您展示如何清理旧笔记本电脑并将其重新用作专用数据库服务器,以便在 Rocky Linux 和 Docker 之上进行分析。

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - 如何为分析设置专用数据库服务器
Alejandro Duarte HackerNoon profile picture


如果你碰巧有一台旧的笔记本电脑或机器到处乱扔灰尘,你可能想重新利用它。用于分析处理(例如生成临时报告)的快速 SQL 数据库听起来不错吗?如果是这样,请继续阅读!


在本文中,我将向您展示如何清理旧笔记本电脑并将其重新用作专用数据库服务器,以便在 Rocky Linux 和 Docker 之上进行分析。


我将这款 Lenovo Thinkpad T440s 与 Intel® Core™ i7 处理器、8 GB DDR3L-SDRAM 和 256 GB SSD 一起使用:



为什么选择 Rocky Linux 和 Docker?

Rocky Linux 是CentOS的延续,它是一个与 Red Hat Enterprise Linux (RHEL) 兼容的开源企业操作系统。


它提供了良好的安全性和管理功能,并且由于它基于 RHEL,因此它周围有一个庞大而活跃的社区。


Docker 是在 Linux 系统之上运行的虚拟化软件,无需虚拟化硬件。这优化了可用资源,同时保持了隔离环境的优势。


如果您愿意,您可以在您的日常机器上设置 Docker,但如果您有一台旧笔记本电脑,并且运行 Rocky Linux 所需的硬件最少,我建议您利用它。

在你开始之前

在开始之前,请确保备份旧机器中可能存在的所有重要文件。


使用 Google Drive、DropBox 或外置硬盘等在线工具。专门为此任务分配 1 或 2 小时。探索文件系统并避免以后出现不愉快的意外。

安装 Rocky Linux

我不会详细介绍如何安装 Rocky Linux。如果您想查看详细说明,请查阅官方文档


但是,请确保在安装 GUI 中使用 DHCP(或以太网,如果您愿意)配置 Wi-Fi 连接。


你不需要创建额外的用户, root就足够了。此外,不要使用 GUI 选项安装服务器。相反,我建议选择自定义操作系统并添加以下软件:


  • 无头管理
  • 安全工具
  • 系统工具



按照安装说明完成该过程。

使用静态 IP 配置 Wi-Fi 连接


如果您在安装过程中配置了 Wi-Fi 连接,则必须执行一些额外的步骤。


  1. 使用以太网电缆将机器连接到路由器。


  2. 运行encli connection并记下以太网连接名称。就我而言,它是enp0s25


  3. 通过运行nmcli connection up enp0s25启用连接(使用您的连接名称)。


  4. 通过运行yum install NetworkManager-wifi安装缺少的 Wi-Fi 实用程序

  5. 断开以太网电缆。


  6. 通过运行reboot启动机器。


  7. 机器重新启动后,以root身份登录并通过运行ping google.com检查 Wi-Fi 连接是否正常。


  8. 使用dnf install NetworkManager-tui安装网络管理 UI。


  9. 运行nmtui并编辑 Wi-Fi 连接以使用手动静态 IP。我将服务器地址设置为192.168.1.200/24并使用ifconfig添加了从同一网络中的另一台(macOS)机器获得的网关和 DNS 服务器。在 Linux 上使用ip addr或在 Windows 上使用ipconfig 。这是一个例子:




防止笔记本电脑在合上盖子时挂起

为避免笔记本电脑在合上盖子时自动进入暂停模式,请编辑/etc/systemd/logind.conf文件并设置以下属性(您可以使用vi或使用yum install nano ):


 [Login] HandleLidSwitch=lock LidSwitchIgnoreInhibited=no


要在重新启动时保留以前的更改,请运行systemctl restart systemd-logind.service


通过重新启动机器来仔细检查一切是否正常。

使用 SSH 连接到服务器

此时,您可以移动到您的日常机器并使用 SSH 连接到新服务器:


 ssh [email protected]


您还可以在客户端计算机上分配主机名。编辑/etc/hosts文件(类 Unix 机器)或c:\Windows\System32\drivers\etc\hosts文件(在 Windows 上),并添加以下行(使用您想要的任何名称,但指定静态 IP 地址你之前配置的):


 192.168.1.200 pickanyname.local


如果要使用主机名而不是 IP 地址,则必须在用于连接服务器的每台计算机上执行此操作。在此之后,您将能够连接到服务器,如下所示:


 ssh [email protected]

安装 Docker

通过 SSH 连接到服务器后,通过运行以下命令安装 docker:


 yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce \ docker-ce-cli \ containerd.io \ docker-compose-plugin


要让 Docker 服务在机器重新启动时自动启动,请运行以下命令:


 systemctl enable docker.service systemctl start docker.service

安装数据库

准备好 Docker 后,可以轻松安装软件,同时保持服务器整洁。该软件在称为容器的隔离环境中运行。您可以从自定义或即用型图像创建容器。


图像是一个模板,其中包含有关如何创建容器的说明。当您不再希望容器出现在系统中时,您可以启动、重新启动、停止甚至删除容器。所有这一切都不会在您的主机操作系统(本文中的 Rocky Linux)中留下垃圾。


数据库是在隔离环境中运行的理想选择。执行以下命令以启动一个容器,该容器运行包含 ColumnStore 引擎的 MariaDB 服务器:


 docker run --detach \ --name mariadb-cs \ --restart unless-stopped \ --env MARIADB_ROOT_PASSWORD='password' \ --publish '3306:3306/tcp' \ --expose '3306' \ mariadb/columnstore


这将从 Docker Hub(由 Docker Inc. 维护的 Docker 映像的公共注册表)下载MariaDB/columnstore映像。


下载镜像后,Docker 会创建一个名为MariaDB-cs的新容器并继续启动容器,从而有效地在端口 3306 上启动 MariaDB 数据库服务器。


该命令还将端口暴露给外部世界,以便您可以连接到数据库,例如,从您的开发机器。

为分析准备演示数据库

您刚刚安装的,允许您在创建表时使用 MariaDB ColumnStore 存储引擎。例如:


 CREATE TABLE some_table( ... column definitions here ... ) ENGINE=ColumnStore;


这告诉 MariaDB 数据库使用 ColumnStore 引擎以列方式存储数据。该引擎专为大数据扩展而设计,可以处理 PB 级数据,让您无需定义和维护索引。这使得它非常适合对非常大的数据集进行临时查询。


您仍然可以在需要时使用适用于事务工作负载的默认 InnoDB 引擎。只需省略ENGINE选项。您可以在单个 SQL 语句中将使用 ColumnStore 的表与使用 InnoDB 的表连接起来。


您还可以使用事务节点 (InnoDB) 和分析节点 (ColumnStore) 之间的复制来启用混合事务分析处理 (HTAP) 工作负载。


尝试使用 ColumnStore 的最佳方法是使用现有数据集进行尝试。


检查这个Github 存储库,它将 500 万行加载到一个表中,您可以使用该表运行分析查询并亲自查看 ColumnStore 的性能。