是否可以安全地更改仅包含系统数据库的卷的驱动器号?
应该采取哪些预防措施以及应该如何做?我知道我可以直接转到计算机管理 > 存储并更改驱动器号,但会对 SQL Server 操作产生负面影响吗?
看来ibdata1就像一个磁盘切片。在 Solaris (UNIX) UFS 文件系统(ZFS 之前的常见文件系统)中,人们会将其磁盘 c0t0d0 分成多个片,例如将 10GB 驱动器切成三个部分,4GB、1GB 和 5GB。这些将是固定大小的文件系统。例如,操作系统的 4GB。1GB 用于交换,5GB 用于软件和数据。
swap 可以存储在文件系统上的文件中,但为了性能,它通常存储在磁盘的自己部分。
ibdata1 可以链接到它自己的切片以提高性能吗?当然,在决定理想的固定大小之前必须仔细考虑,他们还必须知道如何检查使用水平。
符号链接可以放置在.../mysql/data/ibdata1到/dev/rdsk/c0t0d0s3。然后 MySQL 会将其视为文件,但可能会执行得更好,因为它不必通过文件系统层,它会直接写入磁盘的指定部分。
介绍 我从我之前的问题单驱动器与多驱动器中得出了这个问题
从一位非常有帮助的成员RolandoMySQLDBA那里得到非常详细的回答并了解到多驱动器在某些情况下可以提供很大帮助的事实之后。我开始为我的设置寻找多驱动器,与我发现的相比,这只是一点点。
更多信息 我发现了相当大的存储,比如
http://www.newegg.com/Product/Product.aspx?Item=N82E16811152212
虽然有些视频显示此类设备的写入速度甚至达到 GB
真正的问题 假设有足够的 RAM 来保存索引,MySQL 或其他开源 RDBMS(不是像 Oracle 这样的企业级 RDBMS,因为它在 SAN 上运行很常见)可以轻松地在这些野兽上运行吗?
因为它们包含真正的多驱动器设置,并且有几十个磁头可用。
我相信它不会那么简单,因为如果它有那么简单,那么为什么大多数企业设置使用商品服务器。那么,使用这些极限存储解决方案会面临哪些问题呢?
我有一些表可以从Postgres SQL 中的CLUSTER ON/CLUSTER USING中受益匪浅:
# CLUSTER table USING index_name;
# ANALYZE VERBOSE table;
# CLUSTER VERBOSE;
Run Code Online (Sandbox Code Playgroud)
维护任务会定期运行 CLUSTER VERBOSE 以保持最新状态。但是,在运行 CLUSTER VERBOSE 之前,是否可以运行测试来查看表的碎片化程度?也许是这样的:
# CLUSTER ANALYZE
table 40000 records. 4000 observed clusters, 5000 potential clusters (20% fragmentation)
Run Code Online (Sandbox Code Playgroud)
请注意,我使用 CLUSTER,因此同时访问的数据被“整理”为少量磁盘块。例如,每个页面都有数千个属性。aCLUSTER page_attribute USING page_id;将所有属性放在一起,大大减少了磁盘负载。
我正在设计新 SQL Server 安装的要求。我一直在研究磁盘存储,一切似乎都指向使用 RAID。
但是,我发现了这篇文章,它表明 RAID 在今天不再适用。
任何人都可以指出我可以在哪里了解 SQL Server 的最新磁盘存储的方向。
最近,我使用 Ola Hallengreen 脚本重建了 99% 碎片化的索引。重建后,我注意到物理读取减少了很多。这与 Index Rebuilt 有什么关系吗?
sql-server clustered-index disk-structures index-tuning ola-hallengren
可以将 SQL DB 放在 NAS 驱动器上吗?例如,我可以将 PostgreSQL DB“文件”放在 Sinology NAS 上,还是最好将所有内容放在“真正的”PC 上?(例如,运行 Linux 的常规 PC 服务器)
我问这个问题是因为发生了一些奇怪的事情:一些用 WinDev 编写的会计应用程序(一种在某些国家/地区很有名的 RAD 工具,例如许多法语国家),使用存储在 NAS 上的 HyperfileSQL 数据库,结果搞砸了。
整个数据库被损坏,许多文件的大小为零,应用程序的开发人员告诉我的客户:“这是你的错,你不应该将 HyperfileSQL 数据库文件放在 NAS 上,NAS 没有强大的 CPU足够了,所以腐败就会发生”。
我不明白:HyperfileSQL 应该是 ACID。我可以理解延误和/或糟糕的表现,但完全腐败?
哎呀,我什至应该能够从 NAS 上拔掉“UPS 线”(我的意思是:“电源线”,但所有东西都在 UPS 上),而真正的 SQL DB 应该没问题吧?
那么我可以将 SQL DB 放在 NAS 上吗?
我应该期待表现不佳吗?(它适用于小型数据库,我从未注意到任何性能问题)
数据库会完全损坏吗?
该文章描述了DBMS作为在应用层,这就是为什么他们经常使用直接IO绕过文件缓存缓存数据。
我的问题是:DBMS在应用层缓存信息有什么好处?当 DBMS 位于远离应用程序的服务器上时,这些优势会受到怎样的影响?
我在工作中偶然成为了一名 DBA,当我接手它时,安静得一团糟。幸运的是,我们已获准构建新系统以升级我们的会计系统:Microsoft Dynamics GP。我想遵循或超越 Microsoft 的所有建议。我们当前的环境存在严重的性能问题。我想得到这个论坛对我们 SA 对我们新系统配置的计划的看法,与 Microsoft 推荐的相比。
就磁盘配置而言,Microsoft 建议:
我们的 SA 可用的是:带有 VNXe 3200 SAN 的 VMware 6 数据中心。该 SAN 有 11 个 600 GB 10k RPM 驱动器和 9 个 2TB 7.2k RPM 驱动器。它还具有 6 个 200GB 闪存驱动器,可用作最常访问数据的高速缓存。因此,推荐的硬盘规格似乎没有考虑到像我们这样虚拟化的数据中心。他将所有 10k RPM 驱动器汇集到一个 RAID 6 + 1 热备件中,将所有 7.2k RPM 驱动器汇集到第二个 RAID 6 + 1 热备件中,并分别将它们标记为性能池和容量池。他放入一个卷的盘片越多,他可以获得的性能就越高,再加上 RAID 6 和热备份带来的所有冗余。但是,他希望将数据库的很大一部分存放在该缓存中。
鉴于我们的会计系统和它的SQL …
这个 SO 答案概述了 MySQL 如何将其数据库组织成文件,但没有描述文件本身的结构。
我想知道,在物理层面,关系数据库管理系统如何将它们的记录存储在文件中。文件的大致结构是什么,列/值在哪里(如果它只是一个 CSV),以及它是如何遍历的。
我与使用 RAID 10 和 MySQL 的 redhat 服务器上的某人一起工作,他们提到在进行 raid 设置时很难使用 yum。这是真的?如果是这样,究竟是什么让它变得“困难”?
disk-structures ×11
storage ×4
mysql ×3
sql-server ×3
performance ×2
postgresql ×2
datafile ×1
index-tuning ×1
innodb ×1
installation ×1
network ×1
optimization ×1