很长一段时间以来,我一直想知道是否有系统必须“纵向扩展”(到更强大、更昂贵的服务器上)而不是通过拆分到许多较小的服务器来“横向扩展”。
这样的系统是否存在,如果存在,是否有什么特别的东西会导致系统需要扩展而不是横向扩展?(例如,可能 ACID-complaint 数据库事务或其他强大的数据完整性要求会产生这种需求。)
由于向上扩展似乎比向外扩展带来更高的硬件成本,因此如果可能的话,这似乎是您想要避免的事情,但我不确定它是否总是可以避免的。
那么,是否存在无法横向扩展而必须纵向扩展的系统?什么可能导致这种情况,您将如何识别这样的系统?(它们通常是否具有一些共同的特征,可能使它们更容易识别?)
我将把我的数据库服务器移到更好的新硬件上。目前的数据库服务器除了运行 Centos 4 之外没有任何问题。目前的硬件是 2 四核 xeon 5335,RAID 10 中的 4 15K RPM 和 4GB(是的,它真的只有 4GB)内存。
我预算中的硬件选择几乎没有价格差异,并且在 RAID 10 中将具有相同的 4 个 15K RPM 硬盘。它们是:
不包括硬盘驱动器,数据库服务器的重要部件的顺序是什么?它是这样的:内存大小、内存速度、内核,然后是缓存大小?
当我执行 mysqldump 时,出现以下错误:
mysqldump -u root -ppassword --databases information_schema > test.sql
mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
我在工作中继承了一个大型 MongoDB 服务器,并负责弄清楚为什么针对它运行的查询如此缓慢。DB 包含大量记录(大约 10^9)并占用大约 300 GiB。起初,我认为原始记录数可能是罪魁祸首,所以我在适当的字段上设置了索引。它对搜索数据库中的条件的查询有很大帮助,但对于没有匹配项的查询需要 80-90 分钟。关于如何解决这个问题的任何想法?
在 PostgreSQL 上设置一个 100 TB 的数据库(实际上大约 90 TB)而不在多个节点之间进行数据分片是否现实?是否有任何关于类似设置的成功案例/示例?
我一直在忠实地按照以下说明设置 MySQL 主复制(在 Debian 6.0.1 上):http : //www.neocodesoftware.com/replication/
我已经到了:
mysql > show master status;
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这会产生以下结果,而不是任何有用的输出:
Empty set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
错误日志/var/log/mysql.err
只是一个空文件,所以没有给我任何线索。
有任何想法吗?
这是我/etc/mysql/my.cnf
在一台服务器上放置的内容(针对另一台服务器进行了适当修改):
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = 10.0.0.3
master-user = <myusername>
master-password = <mypass>
master-connect-retry = 60
replicate-do-db = fruit
log-bin = /var/log/mysql-replication.log
binlog-do-db = fruit
Run Code Online (Sandbox Code Playgroud)
我已经设置了用户,可以使用上面的用户名/密码/IP 地址从服务器 A 上的 MySQL 连接到服务器 B 上的数据库。
我有大量的静态内容,必须通过基于 Linux 的网络服务器交付。它是一组超过一百万个小的 gzip 文件。90%的文件小于1K,其余文件最多50K。将来,这可能会增长到超过 1000 万个 gzip 文件。
我应该将这些内容放在文件结构中还是应该考虑将所有这些内容放在数据库中?如果它在文件结构中,我可以使用大目录还是应该考虑较小的目录?
有人告诉我,文件结构的交付速度会更快,但另一方面,我知道文件将占用磁盘上的大量空间,因为文件块将超过 1K。
关于交付绩效的最佳策略是什么?
更新
作为记录,我在 Windows 7 下进行了测试,有 50 万个文件:
谁能帮我将 MS Access ( .mdb
) 文件转换为 Sqlite 数据库 ( .db
) 文件?
我需要转换所有表并将数据转储到里面。
是否有任何可用的工具,或者是否有将 .mdb 转换为 .db 的 API?
database ×10
mysql ×4
postgresql ×2
scalability ×2
gzip ×1
hardware ×1
master-slave ×1
mongodb ×1
performance ×1
query ×1
replication ×1
sqlite ×1