【问题标题】:Rewriting Queries and data layers重写查询和数据层
【发布时间】:2017-04-03 07:01:04
【问题描述】:

我在quora中遇到了以下问题:

https://www.quora.com/How-was-YouTube-programmed-in-Python

这里的第一个答案提到了一个名为“Vitess”的软件。它提到 vitess 重写查询,因此提供优化。 重写查询以优化数据库事务究竟意味着什么。我读过一些软件拥有自己定制的 RDBMS 系统和数据分层以加快数据库操作。

重写查询究竟如何使操作更快? 由于担心扩大这个问题的范围,我会请求一些关于数据和材料分层的见解,我可以从那里开始了解更多关于数据分层和查询重写的信息。

【问题讨论】:

    标签: database vitess


    【解决方案1】:

    我在 vitess 工作。

    如果优化是普遍可行的,那么数据库引擎会自己做。

    Vitess 执行的优化类型是当今应用程序可行的权衡取舍。例如:

    • 对于 OLTP 工作负载,Vitess 会在您的查询中添加一个限制子句。如果行数超过一定数量,则返回错误。
    • 如果查询完成时间过长,很可能会对其他查询造成损害。因此,我们终止此类查询以保持系统运行。
    • 我们将 DML 重写为基于主键。这样,复制品就不必重做原始作品。这适用于您使用基于语句的复制。
    • 如果系统中有两个相同的查询,则只发送一个并共享结果。

    这些只是一些亮点。根据我们在 YouTube 上看到的问题和中断,我们添加了更多此类调整选项。

    【讨论】:

      猜你喜欢
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      相关资源
      最近更新 更多