That’s right. F-R-E-E. For years (and years), I was under the impression that hosting the Repository on any machine that was part of a multi-machine deployment meant that you had to “pay” for that node with cores. In much the same way you “pay” for nodes which host VizQLServer, Data Engine, or Backgrounder (among others) processes, I thought that Repository = “Pay Me”.
Wrong! Recently this topic came up again. Others were as surprised as I was when I found out…so I thought a public blast would be appropriate.
Just like the Gateway or Search, the repository doesn’t cause cores to be counted. If you don’t believe me, try it yourself. put a Repo on your Primary!
In the classic three-node deployment, we’ve always shown Repo on workers:
In this sort of deployment, you “pay” for the two Workers, but not the Primary. Try putting a Repo on your Primary. When you do and you run tabadmin licenses, you’ll see the same number of cores in use. See! Repo is free!
This is actually pretty cool because it allows you to move your Active repository OFF of a machine which is also doing rendering (VizQL Server).
Instead, you can put the process on your Primary. Your Primary is often under-utilized (especially if you’re going with an 8 core) so it generally has headroom to handle the extra load (BTW, this is another reason not to “go small” on the Primary and to also give it good, fast disk). By moving the Repository off a Worker, you’re giving that Worker extra resources to do what you want it to – render vizzes.
Know your role!