Can Clickhouse run automatically locally, or it needs to be set up on either MT or CC?
When it comes to the automatically running of Clickhouse locally, from version 6.0 to version 6.5 Clickhouse could run automatically locally, but from version 6.5 it can no longer run automatically, it needs to be set by the customer.
What is the recommended way to set up/run Clickhouse? Is it to have a dedicated VPS just for Clickhouse?
ClickHouse can run locally or remotely. Because of high memory usage, we recommend running ClickHouse on another instance of PBXware.
Do I need to pay a license fee for a separate VPS dedicated just for Clickhouse?
No, you can use a free license.
How much space would it take to run Clickhouse locally?
The minimum system requirements in case of running Clickhouse locally are as follows:
CPU sse4_2 support
10GB RAM minimum
NOTE: A minimum of 10GB RAM is required for the whole PBXware system on which Clickhouse runs locally. That means that the customer can already use 5 or 6 GB of RAM on that PBXware and needs e.g. additional 4GB of RAM for the Clickhouse.
How much space is used on PBXware without Clickhouse?
We don't have exact information on how much space is used on PBXware without Clickhouse, some rough estimates are that customers can already use 5 or 6 GB of RAM on the PBXware and that they need e.g. additional 4GB of RAM for the Clickhouse.
Can we conclude that the recommended way is to set up/run Clickhouse remotely, meaning that we need to have dedicated VPS so that we can run Clickhouse on another instance of PBXware and not to put load on actual running Contact Center or Multi Tenant?
Yes, that's correct.
Is there a recommended amount of remote PBXs that can connect to this dedicated VPS for Clickhouse?
It is very tough for us to say how many instances of remote PBX systems you can connect to a dedicated VPS for a CLickhouse, because there are many dependencies that affect it, for example intensity of reports usage by users/customers. Some customers which do not use reports heavily can have 10.000 instances and still everything can work properly with 4GB of RAM. Our tests with 50 PBXware instances setted on one instance of Clickhouse have shown that usage of RAM was never higher than 6 GB in peak times. For more specific estimates, both we and you, as our customers, need to perform additional tests.
For the actual Clickhouse setup, when I navigate through Admin settings/Statistics Database and then choose Clickhouse as the Database and select option within the Mode section to Act as a server or something else, does that actually do the setup for Clickhouse on that particular instance or I need to finish some additional steps in the background?
Those are the only steps for setting up Clickhouse, there is nothing else you need to do in the background. At the later point, you will just need to add users.
When we are in the process of setting Clickhouse up, and adding username and password is finished, is that username/password for the first user or master user?
It is for the default user because of the default database. It's better not to use that user because the database name is for example PBXware_theuser, so it can be easier to manage. The whole process is not ideal at the moment, but we already have plans for improving the same.
Is there a plan to migrate completely away from MySQL to Clickhouse or MySQL will always be used for the basic setup?
MySQL will always be the basic setup. The long term plan is to migrate all reports within PBXware on Clickhouse.
After setting up Clickhouse in one mode, can I change my setup to another mode at a later point, for example from local to remote connection?
Yes, you can change mode easily, but you should be aware that changing the Clickhouse’s mode from local connection to remote connection will cause data loss in the interface. The data would still be available on remote instances.
Is there a possibility for any performance issues to occur with Clickhouse working as a remote server? For example, if I have several instances that are hosted by Bicom Systems and several instances that are self hosted. Should I have VPS for each instance to have more local access or is it foreseen that real remote connection will work properly?
For instances that are hosted in Bicom Systems, you do not need to do anything, because our Deployment & Training team will take care of everything for you. For systems that are not hosted in Bicom Systems, it would be preferable that you have dedicated VPS for Clickhouse at the same location/data centers where those instances are hosted, mostly because of the latency.
I see there are instructions on how to run the VPS with just Clickhouse and not run the full PBX where it does not need to. In order to stop PBXware itself and just start with Clickhouse server, is there any contingency to set this up as a start up option, let say it’s rebooted, I know I can script it on boot, but is there any contingency to make this as an option in PBXware to start Clickhouse only?
For now no, because the customer needs to initially set it up, so you need to go into PBXware interface and set up Clickhouse/choose Mode to Act as server and after you do that you can stop PBXware and run as Clickhouse server. That is the established process for now, but we have an aim to improve that.
NOTE: Even if you leave PBXware running, it will not cause any damage, but stopping PBXware will mean a little bit of improvement.
Is it possible that for some reason VPS reboots and comes back to the stage where Clickhouse is not running in fact, or once it is set up, it will run anyhow?
Once it is set up, it will run. And the worst case scenario is that PBXware will also run, but that will not cause any significant problems.
Will MySQL remain as an engine for extensions, general data, options and operations?
Yes, we will not change that. Clickhouse is not even good in that part, it is not really great as a writing tool, it is better for reading, response time etc..
Why do I need to move to Clickhouse? My statistical reports were working fine on MySQL too?
If you were using Contact Center, there is a possibility that statistics were working fine on MySQL too because on Contact Center you have one system, one instance, one tenant, one Asterisk and one MySQL. When it comes to Multi Tenant, you have one system, multi-tenant GUI but in the background it is still single instance, one My SQL etc. so that is one of the reasons why we could not enable queue statistics on Multi tenant for years. If we allowed running ERG statistics for example on MySQL, too many problems would occur, it would be really slow to read etc. With CDRs we also have a lot of issues, so that is why we introduced Extensions Statistics within PBXware 6.6. release. Besides above mentioned, a lot of customers are having a lot of issues currently with running reports, reports that cannot be open or that take too much time to be open etc. Such customers can't wait for us to switch completely to Clickhouse because Clickhouse has proven better performance, so it's definitely a step forward in our development. Clickhouse is probably the fastest database out there. E.g. some of our partners have tested and compared Clickhouse and MySQL, while a query on MySQL is executed in 8 minutes, on Clickhouse it is executed in 0.1 seconds.
That is why our final goal is to move all reports on Clickhouse, but to leave configuration and everything else on MySQL because we concluded that that is a win-win combination.
I developed slight modifications to MySQL database. How will these modifications relate to expected reports migration from MySQL to the Clickhouse database?
There are no correlations between these changes, so you can be worry free.
What would be the best infrastructure to deploy a clickhouse for 5 SW Clusters (400 VPSs). Is there any limitation about how many VPSs can be attached to 1 Clickhouse without causing some problems?
There is no limitation, it depends on a lot of factors, for example how much data will be generated, how heavily will reports be used etc. Historical reports in a combination with several real time reports will not be a big load for the base. Still, recommendation would be to have a couple of instances of Clickhouse and to continuously monitor the load and usage. Theoretically, all these 400 VPSs can be on one Clickhouse, but the recommendation would be having more instances, at least 4 instances where one hundred VPSs would be placed per instance. When it comes to resources, it is really hard to give an exact estimation, the more resources you can allocate for the start, the better and afterwards you can monitor usage and adjust the amount of resources needed.
When the Clickhouse configuration is done on a PBX, what happens to the old statistical data, are they synced from MySQL to Clickhouse or do we just start from the beginning?
For now, everything is synced except the extensions statistics, they are not synced or written into MySQL until Clickhouse is set up.