【问题标题】:What is more efficient (Tarantool) - many spaces or one big space?什么更有效(Tarantool) - 许多空间或一个大空间?
【发布时间】:2021-01-27 10:00:35
【问题描述】:

我在 Tarantool 乙烯基数据库上实现微服务,需要做出基本的架构决策 - 我应该为所有数据使用一个大空间,还是使用具有相同元组格式的多个空间。

该空间将用作许多应用程序实例的某种状态存储。该空间将作为计算的基础,因此会占用大量的读/写负载。

我可以将所有应用实例的所有元组存储在一张大表中,或者我可以将数据分隔到每个应用实例的多个空间中——每个空间以应用实例 ID 命名。从代码的角度来看,这种分离会更方便。

所以问题是我可以通过这种分离得到什么缺点(如果有的话)?我的意思是 Tarantool 会花更多的时间或资源在空间或类似的东西之间“切换”吗?或者当只使用一个空间时,它可能更有效地使用缓存?

整个基础大小约为 1TB 应用实例数 10000-30000 一个应用实例空间的记录数从1000到2000000不等

谢谢!

【问题讨论】:

    标签: tarantool


    【解决方案1】:

    简而言之 - 你需要分片。没有理由将一个空间拆分为多个空间,因为单个 Tarantool 实例将无法每秒处理那么多请求。

    您需要vshard 和(可能)cartridge 以使大量实例更易于管理。

    在您的情况下,最好的方法是根据应用 ID 计算分片键。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-12
      • 2021-11-28
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 2013-05-13
      • 2021-02-19
      相关资源
      最近更新 更多