Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 分布式数据库解决方案?_Sql_Mysql_Database_Database Design_Load Balancing - Fatal编程技术网

Sql 分布式数据库解决方案?

Sql 分布式数据库解决方案?,sql,mysql,database,database-design,load-balancing,Sql,Mysql,Database,Database Design,Load Balancing,嘿。我将要建立一个数据库,它可能会变得非常巨大 我的大部分东西都使用标准的mysql,但这个特殊的问题将达到TBs,我希望能够每秒执行数百个查询 所以除了设计我的数据库模式,使其不会突然发生故障之外,快速的硬盘驱动器加速了我最大的瓶颈是什么,推荐什么样的解决方案来解决这个问题 将数据库分布在我的内部网上的多台计算机上是否有意义,以便它可以使用CPU/Ram等进行扩展?如果有,是否有用于此的软件或用于此的数据库解决方案 谢谢你的帮助! 我搜索了与此相关的问题,如果已经有人问过,我找不到任何如此抱歉

嘿。我将要建立一个数据库,它可能会变得非常巨大

我的大部分东西都使用标准的mysql,但这个特殊的问题将达到TBs,我希望能够每秒执行数百个查询

所以除了设计我的数据库模式,使其不会突然发生故障之外,快速的硬盘驱动器加速了我最大的瓶颈是什么,推荐什么样的解决方案来解决这个问题

将数据库分布在我的内部网上的多台计算机上是否有意义,以便它可以使用CPU/Ram等进行扩展?如果有,是否有用于此的软件或用于此的数据库解决方案

谢谢你的帮助!
我搜索了与此相关的问题,如果已经有人问过,我找不到任何如此抱歉的问题。

数据库可伸缩性是一个非常复杂的问题;整个过程中有很多问题

首先考虑最低挂果量;您是否有包含大量数据的单个表(或列)?包含每个大于4MB的BLOB的列?这些可以从数据库中提取并存储在平面文件存储系统中,并且仅从数据库中引用;就在这里,这可以将许多笨拙的解决方案降低到可管理的水平

如果没有,那么对于不同的表子组,您是否有完全不同的使用模式?如果是这样的话,就有机会将您的数据库分割成不同的功能数据库,这些功能数据库可以划分到不同的服务器上。这方面的一个很好的例子是读取的数据较多,例如Web服务器上的数据,很少生成(想想用户特定的主页数据),但经常读取;这种类型的数据可以被分离到一个数据库中(或者,再次是一个带有引用的平面文件),该数据库与其他用户数据分离)

考虑数据库的事务性需求;您是否可以清晰地隔离事务边界,或者是否会在整个数据库中进行深度混合的事务?如果您可以隔离事务边界,那么还有另一个潜在的有用边界


这只是涉及到与这类事情有关的一些问题。值得考虑的一件事是,您是否真的需要拥有一个实际上将非常庞大的数据库,或者您只是想将该数据库用作持久层。如果您只是将数据库用作持久层,那么您可能会重新考虑是否确实需要数据库的关系性质,或者是否可以在更简单的持久层之上使用更小的关系覆盖层。(我这样说是因为大量的解决方案似乎可以在一个大的持久性层上使用一个较薄的关系层;这是值得考虑的。)

好的,首先我需要指出我认为MySQL不会像您希望的那样运行。我有一种不好的感觉,当我说你需要调查一个Oracle安装时,你会说,“我们没有足够的资金。”但是,当我说获得最新/最好的SQL Server时,你会说,“我们没有实现这一点所需的硬件。”我担心太字节会彻底摧毁你的MySQL安装。

正在构建一种新的NewSQL数据库,以解决在多台服务器上分配资源的问题。数据库(它是由MySQL替换生成的)是一个提供近似线性规模的例子——当你用完CPU /内存时,你可以简单添加节点。

数据库可伸缩性是一个棘手的问题,你应该考虑可以为你解决的解决方案。我相信MySQL可以作为解决问题的基础。


横向可扩展性;水平扩展数据库(也称为横向扩展)的能力是解决超大表和数据库问题的一种很好的技术。

为了向您提供更多有关当前实际问题的信息,我们将从一系列源中提取大量数据,并从每个条目中解析大量统计数据。每天,数据库将处理100000多个新条目,每个条目都有100个统计数据。每个条目的实际文件大小为prob<1KB,一旦解析,就不需要使用它。然后,我们将在每个不断增长的数据集上实时运行大量不同的查询,并最终为其他人打开平台,让他们也这样做。@nextgenneo:是的,你确实有点问题。我仍然建议您尽可能合理地划分数据库;是否存在某种你不会跨越的时间视界,或者类似的东西?因为如果你真的有一个大的、不可竞争的关系数据集,你可能最终需要一个(非常昂贵的)商业解决方案。我不是Oracle的粉丝(至少可以这么说),但他们比任何人都更了解epic scaling;你关于甲骨文的观点完全正确。甲骨文是一个很好的现金池,一旦你和他们在一起,就没有回头路了;也就是说,当涉及到他们擅长的可扩展性类型时,他们真的是镇上唯一的游戏。。。