我对 NoSQL 或 NewSQL/NeoSQL 数据库服务器的了解非常有限,只是理论上的。我使用过传统的 RDBMS(如 MySQL、Postgres)和目录服务器(OpenLDAP),有无复制。
我的应用程序堆栈基于 JBoss,我的任务是在 VoltDB 中设置一个最小的演示(使用我们的应用程序),它可以展示数据的持久性和高可用性。性能测试,根本不是一个目标。
一直在阅读 VoltDB 规划指南,但就所需的服务器(或 VoltDB 实例)数量而言,我对“+1”或“x2”感到困惑。特别是考虑到这两个陈述:-
为 K-Safe 集群调整硬件大小的最简单方法是根据预计的吞吐量和容量来调整数据库的初始实例大小,然后将服务器数量乘以所需的副本数量(即 K-Safety值加一)。
经验法则
使用K-Safety时,将集群节点数配置为数据库副本数的整数倍(即K+1)
问题:
- 现在,假设我需要 1 台服务器给定容量/吞吐量要求。那么,为了能够具有持久性和高可用性,我需要:2、3 还是 4 台服务器?
- OTOH,仅使用 1 台服务器,我必须放弃 VoltDB 的所有关键功能吗?
- VoltDB 的完整磁盘持久性和快照之间是否存在任何关系(或冲突)?比如说,磁盘持久性的可用性消除了对快照的需求?