什么是MySQL的分片启发式 - 每个表的记录数和数量;每个实例的表数量?

时间:2011-05-26 21:04:46

标签: mysql database-design scalability

为~10B对象设计对象存储并使用mySQL存储元数据。我们知道我们需要进行分片并且正在寻找可扩展的一般启发式方法。非常感谢指针,并了解您所使用的背面计算

1 个答案:

答案 0 :(得分:1)

你不知道你需要碎片。先找出来。

按优先顺序:

  • 更有效地使用单个服务器。
  • 执行功能分区(将应用程序的不同部分保留在不同的服务器上)
  • 进行垂直分区(分别保留不同的列)
  • 进行水平分区(即“分片”)

这是因为对您的应用程序的复杂性影响。可以很容易地在一个服务器中拥有一个包含10B行的表,并期望获得良好的性能;它在很大程度上取决于您的用例 - 行数有多大以及您正在进行多少查询/更新。

好的设计永远是关键;良好的应用程序设计至少与良好的数据库设计同样重要。

不要假设。测试

为您的性能实验室购买大量硬件。不要为了生产而购买任何产品。