就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。
8年前关闭。
我们是一家小型初创公司,拥有大量写入的 SAAS 应用程序,并且(终于!)到了我们的使用出现扩展问题的地步。我们有一个小团队,因此我们非常感谢能够将系统管理员卸载到 Heroku 和 RDS。
虽然 Heroku(大部分)很好,但我们在 RDS 方面存在一些问题:
此外,更改实例大小的停机时间很糟糕。
在我看来,我们有两个前进的选择:传统方法(分片,运行每晚作业将我们的数据库的一部分移动到只读等);或 NewSQL 解决方案(Xeround、VoltDB、NimbusDB 等)。
传统的优点:以前已经做过很多次了,而且有非常标准的方法来做到这一点。
传统的缺点:这将需要大量的工作,并且会在应用程序中引入显着的复杂性。它也不会解决 RDS 的次要问题(可用性和价格)。
NewSQL 优点:据说,这些解决方案将在不更改应用程序代码的情况下水平扩展我们的数据库(受 SQL 功能的一些限制,例如不使用悲观锁定)。这将为我们节省大量的工作。它还可以提高可靠性(无单点故障)并降低成本(不必在非工作时间运行 XL 实例只是为了提供高峰使用)。
NewSQL 的缺点:这些解决方案相对年轻,我还没有找到任何关于人们在生产应用程序中使用它们的经验的好的评论或文章。我只发现了一种可用作托管解决方案 (Xeround),因此除非我们采用该解决方案,否则我们必须在 sysadmin 中投入资源。
我想知道关于我最好的选择是什么意见。
Xeround 非常诱人(托管 NewSQL),但我还没有找到在生产中使用它的任何好的信息。我看到的几条推文一直有人提示它有点慢。我很紧张要转向似乎未经测试的东西。
我保守的一面说坚持使用 RDS 并使用传统方法。但就开发人员的时间而言,这将是非常昂贵的。
然后我的一部分想知道是否还有另一种方法,也许是我从未听说过的经过更多实战考验的托管 NewSQL 解决方案。或者也许我们必须自己托管一个 NewSQL 解决方案,但它有一个非常可靠的历史。
预先感谢您的想法。
最佳答案
不确定您是否听说过 NuoDB。但它是一个全新的 SQL 解决方案,提供了 NoSQL 的横向扩展能力和传统 OLTP 的 SQL & ACID 合规能力。你应该看看解决方案。
关于mysql - NewSQL 与传统优化/分片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10526991/