{"id":3208,"date":"2018-02-01T00:45:09","date_gmt":"2018-02-01T00:45:09","guid":{"rendered":"http:\/\/bicortex.com\/?p=3208"},"modified":"2024-09-12T09:46:48","modified_gmt":"2024-09-11T23:46:48","slug":"vertica-mpp-database-overview-and-tpc-ds-benchmark-performance-analysis-part-2","status":"publish","type":"post","link":"http:\/\/bicortex.com\/bicortex\/vertica-mpp-database-overview-and-tpc-ds-benchmark-performance-analysis-part-2\/","title":{"rendered":"Vertica MPP Database Overview and TPC-DS Benchmark Performance Analysis (Part 2)"},"content":{"rendered":"<p class=\"Standard\" style=\"text-align: justify;\">In <a href=\"http:\/\/bicortex.com\/vertica-mpp-database-overview-and-tpc-ds-benchmark-performance-analysis-part-1\/\" target=\"_blank\" rel=\"noopener\">Post 1<\/a> I outlined the key architectural principles behind Vertica\u2019s design and what makes it one of the top MPP\/analytical databases available today. In this instalment, I will go through the database installation process (across a single and multiple nodes), some of the issues I encountered (specific to the off-the-shelf hardware I used) as well as some other titbits regarding subsequent configuration and tuning. For a TLDR version of Vertica installation process you can watch the following video instead.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/tImrJDZ1AjM\" width=\"580\" height=\"325\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">Vertica can be installed on any compatible x86 architecture hardware so for the purpose of this demo I decided dust off a few of my old and trusty Lenovo m92p units. Even though these machines are typically used to run desktop class applications in an office environment, they still should provide a decent evaluation platform if one wants to kick the tires on Vertica installation and configuration process. Heck, if Greenplum is proud to run their MPP database on a cluster of Raspberries Pi (check out the video <a href=\"https:\/\/www.youtube.com\/watch?v=T4IHqB1BjCI\" target=\"_blank\" rel=\"noopener\">HERE<\/a>), why not run Vertica on a stack of low-powered Lenovo desktops under Ubuntu Server. Below is a photo of the actual machines running Vertica version 9.1 fitted with Intel Core i5 3470 CPU, 16GB of DDR3 memory and 512GB of Crucial MX300 SSD in each of the three nodes (bottom three units).<\/p>\n<p><a href=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_Hardware.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3333\" src=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_Hardware.jpg\" alt=\"\" width=\"580\" height=\"774\" srcset=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_Hardware.jpg 604w, http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_Hardware-225x300.jpg 225w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<h3 style=\"text-align: center;\">Installing Vertica<\/h3>\n<p class=\"Standard\" style=\"text-align: justify;\">Before installing Vertica, the following key points should be taken into consideration.<\/p>\n<ul>\n<li style=\"text-align: justify;\">Only one database instance can run per cluster. So, if we were to provision a three-node cluster, then all three nodes will be dedicated to one single database.<\/li>\n<li style=\"text-align: justify;\">Only one instance of Vertica is allowed to run on a host at any time.<\/li>\n<li style=\"text-align: justify;\">Only the root user or the user with the privileges (sudo) can run the install_vertica script.<\/li>\n<\/ul>\n<p class=\"Standard\" style=\"text-align: justify;\">Vertica installation process also imposes some rigid requirements around swap space available, dynamic CPU scaling, network configuration and disk space and memory requirements. As these are quite comprehensive in terms of actual Linux side configuration I won\u2019t go into details on how these requirements and their parameters need to be tuned and adjusted (beyond the issues I encountered and the fixes I performed) as Vertica\u2019s documentation available on their website outlines all these options in great details.<\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">Below is a step by step overview of how to install Vertica (single node configuration) on Ubuntu Server 14.04 LTS with some of the problems encountered and the fixes implemented to rectify them. I will also provide details on how to add nodes to existing installation towards the end of this post.<\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">To install Vertica as a single node cluster the following steps will be applied:<\/p>\n<ul>\n<li style=\"text-align: justify;\">Download the Vertica installation package from the vendor\u2019s website according to the Linux OS applicable to your environment. In my case, I used Ubuntu Server 14.04 LTS release so majority of the steps below apply to this particular Linux distribution.<\/li>\n<li style=\"text-align: justify;\">Disable firewall.\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo ufw disable \r\n<\/pre>\n<\/li>\n<li style=\"text-align: justify;\">Install supporting packages.\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n#required for interactivity with Administration Tools\r\napt-get install dialog \r\n#required for Administration Tools connectivity between nodes\r\napt-get install openssh\r\n<\/pre>\n<\/li>\n<li style=\"text-align: justify;\">Install the downloaded package using standard comma\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo dpkg -i \/pathname\/vertica_x.x.x.x.x.deb\r\n<\/pre>\n<\/li>\n<li style=\"text-align: justify;\">Install Vertica by running the install_vertica script with the required parameters supplied.\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/opt\/vertica\/sbin\/install_vertica --hosts node0001,node0002,node0003\\\r\n--deb \/tmp\/vertica_9.0.x.x86_64.deb \r\n--dba-user dbadmin\r\n<\/pre>\n<p>In my case the initiated installation failed reporting the following errors (last three FAIL statements).<\/p>\n<p><a href=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Errors1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3347\" src=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Errors1.png\" alt=\"\" width=\"560\" height=\"470\" srcset=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Errors1.png 580w, http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Errors1-300x252.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/a><\/p>\n<p>First issue related to the system reporting invalid CPU scaling. The installer allows CPU frequency scaling to be enabled when cpufreq scaling governor is set to performance. If the CPU scaling governor is set to on-demand, and ignore_nice_load is 1 (true), then the installer fails with the error S0140. CPU scaling is a hardware and software feature that helps computers conserver energy by slowing the processor when the system load is low, and speeding it up again when the system load increases. Typically, you disable the CPU scaling in the hosts\u2019s BIOS but as it was the case with my machine, the settings tweaking did nothing to discourage Vertica installer from throwing the error presumably due to the fact I was running the T version of Intel CPU i.e. \u2018Power-optimised lifestyle\u2019. The next best thing to do was to tweak it through the Linux kernel or setting the CPU frequency governor to always run the CPU at full speed.<\/p>\n<p>This can be fixed by installing cpufrequtils package and manually changing the CPU governor\u2019s settings.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\napt-get install cpufrequtils\r\nsudo cpufreq-set -c 0 -g performance\r\nsudo cpufreq-set -c 1 -g performance\r\nsudo cpufreq-set -c 2 -g performance\r\nsudo cpufreq-set -c 3 -g performance\r\n<\/pre>\n<p>Next, the installer raised an issue with the ntp deamon not running. The network time protocol (NTP) deamon must be running on all of the nodes in the cluster so that their clocks are synchronised for timing purposes. By default, the NPT deamon is not installed on some Ubuntu and Debian systems. First, let\u2019s install it and start the NTP process.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt-get install ntp\r\nsudo \/etc\/init.d\/ntp reload\r\n<\/pre>\n<p>To verify the the Network Time Protocol deamon is operating correctly we can issue the following command on all nodes in the cluster.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nntpq -c rv | grep stratum\r\n<\/pre>\n<p>A stratum level of 16 indicates that NTP is not synchronising correctly. If a stratum level of 16 is detected, wait 15 minutes and issue the command again. If NTP continues to detect a stratum level of 16, verify that the NTP port (UDP Port 123) is open on all firewalls between the cluster and the remote machine to which you are attempting to synchronise.<\/p>\n<p>Finally, the installer also complained that \u2018the transparent hugepages is set to always and that it must be set to never or madvise. This can be ractified by editing the boot loader (for example \/etc\/grub.conf) or editing \/etc\/rc.local (on a system that supports rc.local) and adding the following script.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nif test -f \/sys\/kernel\/mm\/transparent_hugepages\/enabled; then\r\necho never &gt; \/sys\/kernel\/mm\/transparent_hugepages\/enabled\r\nfi\r\n<\/pre>\n<p>Regardless of the approach, you must reboot your system for the settings to take effect, or run the following to echo lines to proceed with the install without rebooting.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo su\r\necho never &gt; \/sys\/kernel\/mm\/transparent_hugepage\/enabled\r\n<\/pre>\n<p>Next, when trying to run the installation script again, another issue (this time a warning) about swappiness came up as per the image below.<\/p>\n<p><a href=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Errors2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3348\" src=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Errors2.png\" alt=\"\" width=\"560\" height=\"369\" srcset=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Errors2.png 580w, http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Errors2-300x198.png 300w\" sizes=\"auto, (max-width: 560px) 100vw, 560px\" \/><\/a><\/p>\n<p>The swappiness kernel parameter defines the amount, and how often, the kernel copies RAM contents to a swap space. Vertica recommends a value of 1. To fix this issue we can run the following command to alter the parameter value.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\necho 1 &gt; \/proc\/sys\/vm\/swappiness\r\n<\/pre>\n<p>Fortunately, after rectifying the swappiness issue rest of the installation went trouble-free.<\/li>\n<li style=\"text-align: justify;\">After we have installed Vertica on all desired nodes, it\u2019s time to create a database. Log in as a new user (dbadmin in default scenarios) and connect to the admin panel by running the followinmand.\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/opt\/vertica\/bin\/adminTools\r\n<\/pre>\n<\/li>\n<li style=\"text-align: justify;\">If you are connecting to admin tools for the first time, you will be prompted for a license key. Since we\u2019re using the community edition we will just leave it blank and click OK.<\/li>\n<li style=\"text-align: justify;\">After accepting EULA we can navigate to Administration Tools | Configuration Menu | Create Database menu and provide the database name and password.<\/li>\n<li style=\"text-align: justify;\">Once the database is created we can connect to it using VSQL tool to perform admin tasks. Vertica also allows administrators to invoke most Administration Tools from the command line or a shell script. We can list all available tools and their commands and options in individual help text as per below.\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n$ admintools -a\r\nUsage:\r\n    adminTools &#x5B;-t | --tool] toolName &#x5B;options]\r\nValid tools are:\r\n                command_host\r\n                connect_db\r\n                create_db\r\n                database_parameters\r\n                db_add_node\r\n                db_remove_node\r\n                db_replace_node\r\n                db_status\r\n                distribute_config_files\r\n                drop_db\r\n                host_to_node\r\n                install_package\r\n                install_procedure\r\n                kill_host\r\n                kill_node\r\n                license_audit\r\n                list_allnodes\r\n                list_db\r\n                list_host\r\n                list_node\r\n                list_packages\r\n                logrotate\r\n                node_map\r\n                re_ip\r\n                rebalance_data\r\n                restart_db\r\n                restart_node\r\n                return_epoch\r\n                revive_db\r\n                set_restart_policy\r\n                set_ssl_params\r\n                show_active_db\r\n                start_db\r\n                stop_db\r\n                stop_host\r\n                stop_node\r\n                uninstall_package\r\n                upgrade_license_key\r\n                view_cluster\r\n<\/pre>\n<p>Each tool comes with its own parameters. For example, the following three examples display the command option for command_host, connect_db and create_db tools.<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nUsage: command_host &#x5B;options]\r\n\r\nOptions:\r\n  -h, --help            show this help message and exit\r\n  -c CMD, --command=CMD\r\n                        Command to run\r\n-------------------------------------------------------------------------\r\nUsage: connect_db &#x5B;options]\r\n\r\nOptions:\r\n  -h, --help            show this help message and exit\r\n  -d DB, --database=DB  Name of database to connect\r\n  -p DBPASSWORD, --password=DBPASSWORD\r\n                        Database password in single quotes\r\n-------------------------------------------------------------------------\r\nUsage: create_db &#x5B;options]\r\n\r\nOptions:\r\n  -h, --help            show this help message and exit\r\n  -D DATA, --data_path=DATA\r\n                        Path of data directory&#x5B;optional] if not using compat21\r\n  -c CATALOG, --catalog_path=CATALOG\r\n                        Path of catalog directory&#x5B;optional] if not using\r\n                        compat21\r\n  --compat21            (deprecated) Use Vertica 2.1 method using node names\r\n                        instead of hostnames\r\n  -d DB, --database=DB  Name of database to be created\r\n  -l LICENSEFILE, --license=LICENSEFILE\r\n                        Database license &#x5B;optional]\r\n  -p DBPASSWORD, --password=DBPASSWORD\r\n                        Database password in single quotes &#x5B;optional]\r\n  -P POLICY, --policy=POLICY\r\n                        Database restart policy &#x5B;optional]\r\n  -s NODES, --hosts=NODES\r\n                        comma-separated list of hosts to participate in\r\n                        database\r\n  --skip-fs-checks      Skip file system checks while creating a database (not\r\n                        recommended).\r\n<\/pre>\n<\/li>\n<\/ul>\n<p>The\u00a0Management Console\u00a0provides some, but not all, of the functionality that the Administration Tools provides. In addition, the MC provides extended functionality not available in the Administration Tools, such as a graphical view of your\u00a0Vertica\u00a0database and detailed monitoring charts and graphs.<\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">To install MC download the MC package from\u00a0myVertica portal\u00a0and save it to a location on the target server, such as\u00a0\/tmp. On the target server, log in as root or a user with sudo privileges, change directory to the location where you saved the MC package and install MC using your local Linux distribution package management system (for example, rpm, yum, zipper, apt, dpkg). In my case, since I run Ubuntu Server that will look like the following.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo dpkg -i vertica-console-&lt;current-version&gt;.deb\r\n<\/pre>\n<p class=\"Standard\" style=\"text-align: justify;\">Next, open a browser and enter the IP address or host name of the server on which you installed MC, as well as the default MC port 5450. For example, you&#8217;ll enter one of the following.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nhttps:\/\/xx.xx.xx.xx:5450\/ \r\nhttps:\/\/hostname:5450\/\r\n<\/pre>\n<p class=\"Standard\" style=\"text-align: justify;\">When the Configuration Wizard dialog box appears, proceed to\u00a0Configuring Management Console.<\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">Vertica being a distributed database stores and retrieves data from multiple nodes in a typical setup. There are many reasons for adding one or more nodes to an installation of Vertica e.g. make a database K-safe, swapping nodes for maintenance or replacing\/removing a node due to, for example, a malfunctioning hardware. To add a new node, we can use the update_vertica script. However, before adding a node to an existing cluster, the following prerequisites have to be kept in mind.<\/p>\n<ul>\n<li style=\"text-align: justify;\">Make sure that the database is running.<\/li>\n<li style=\"text-align: justify;\">Newly added node should be reachable by all existing nodes in the cluster.<\/li>\n<li style=\"text-align: justify;\">Generally, it is not needed to shut down the Vertica database for expansion, but a shutdown is necessary if we are expending it from a single node cluster.<\/li>\n<\/ul>\n<p class=\"Standard\" style=\"text-align: justify;\">Adding a new node is as simple as running the after mentioned update_vertica script e.g.<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/opt\/vertica\/sbin\/update_vetica --add-hosts host(s) -deb package\r\n<\/pre>\n<p class=\"Standard\" style=\"text-align: justify;\">The update_vertica script uses all the same options as install_vertica script and beyond Vertica installation it performs post-installation checks, modifies spread to encompass the larger cluster and configures the Admin Tools to work with the larger cluster.<\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">Once you have added one or more hosts to the cluster, you can add them as nodes to the database. This can be accomplished using either the Management Console interface or the Administration Tools interface or alternatively the admintools command line (to preserve the specific order of the nodes you add). As adding nodes in the MC is GUI driven and thus very straightforward, the following process outlines how to use Administration Tools instead.<\/p>\n<ul>\n<li style=\"text-align: justify;\">Open the Administration Tools.<\/li>\n<li style=\"text-align: justify;\">One the Main Menu, select View Database Cluster State to verify that the database is running. If it is not, start it.<\/li>\n<li style=\"text-align: justify;\">From the Main Menu, select Advanced Tools Menu and click OK.<\/li>\n<li style=\"text-align: justify;\">In the Advanced Menu, select Cluster Management and click OK.<\/li>\n<li style=\"text-align: justify;\">In the Cluster Management menu, select Add Host(s) and click OK.<\/li>\n<li style=\"text-align: justify;\">Select the database to which you want to add or remove hosts, and then select OK. A list of unused hosts is displayed.<\/li>\n<li style=\"text-align: justify;\">Select the hosts you want to add to the database and click OK<\/li>\n<li style=\"text-align: justify;\">When prompted, click Yes to confirm that you want to add the hosts.<\/li>\n<li style=\"text-align: justify;\">When prompted, enter the password for the database and then select OK.<\/li>\n<li style=\"text-align: justify;\">When prompted that the hosts were successfully added, select OK.<\/li>\n<li style=\"text-align: justify;\">Vertica now automatically starts the rebalancing process to populate the new node with data. When prompted, enter the path to a temporary directory that the Database Designer can use to rebalance the data in the database and select OK.<\/li>\n<li style=\"text-align: justify;\">Either press enter to accept the default K-safety value, or enter a new higher value for the database and select OK.<\/li>\n<li style=\"text-align: justify;\">Select whether Vertica should immediately start rebalancing the database, or whether it should create a script to rebalance the database later.<\/li>\n<li style=\"text-align: justify;\">Review the summary of the rebalancing process and select Proceed.<\/li>\n<li style=\"text-align: justify;\">If you chose to automatically rebalance, the rebalance process runs. If you chose to create a script, the script is generated and saved. In either case, you are shown a success screen, and prompted to select OK to end the Add Node process.<\/li>\n<\/ul>\n<p class=\"Standard\" style=\"text-align: justify;\">Since this demo uses three hosts (maximum allowed to kick some tires and try Vertica without an enterprise license), once configured and set up, this is how the cluster looks like in the management console (database and hosts views).<\/p>\n<p><a href=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_Database_View.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3335\" src=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_Database_View.png\" alt=\"\" width=\"580\" height=\"456\" srcset=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_Database_View.png 755w, http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_Database_View-300x236.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_Hosts_View.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3336\" src=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_Hosts_View.png\" alt=\"\" width=\"580\" height=\"407\" srcset=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_Hosts_View.png 755w, http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_Hosts_View-300x211.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">Aside from the Management Console interface, various parts of Vertica database can be administered and monitored via the system tables and log files. Vertica provides an API (application programming interface) for monitoring various features and functions within a database in the form of system tables. These tables provide a robust, stable set of views that let you monitor information about your system&#8217;s resources, background processes, workload, and performance, allowing you to more efficiently profile, diagnose, and view historical data equivalent to load streams, query profiles, tuple mover operations, and more. Because Vertica collects and retains this information automatically, you don&#8217;t have to manually set anything. You can write queries against system tables with full SELECT support the same way you perform query operations on base and temporary tables. You can query system tables using expressions, predicates, aggregates, analytics, subqueries, and joins. You can also save system table query results into a user table for future analysis.<\/p>\n<p>System tables are grouped into the following schemas:<\/p>\n<ul>\n<li>V_CATALOG &#8211;\u00a0information about persistent objects in the catalog<\/li>\n<li>V_MONITOR &#8211;\u00a0information about transient system state<\/li>\n<\/ul>\n<p class=\"Standard\" style=\"text-align: justify;\">These schemas reside in the default search path so there is no need to specify schema.table\u00a0in your queries unless you change the search path to exclude V_MONITOR or V_CATALOG or both.\u00a0Most of the tables are grouped into the following areas:<\/p>\n<ul>\n<li>System Information<\/li>\n<li>System resources<\/li>\n<li>Background processes<\/li>\n<li>Workload and performance<\/li>\n<\/ul>\n<p class=\"Standard\" style=\"text-align: justify;\">The following two queries outline metadata information for two tables &#8211; databases and cpu_usage &#8211; from their respective v_catalog and v_monitor schemas.<\/p>\n<p><a href=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_System_Tables_Query_View.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3363\" src=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/\/2018\/05\/Vertica_Installation_Cluster_System_Tables_Query_View.png\" alt=\"\" width=\"580\" height=\"537\" srcset=\"http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_System_Tables_Query_View.png 580w, http:\/\/bicortex.com\/bicortex\/wp-content\/post_content\/2018\/05\/Vertica_Installation_Cluster_System_Tables_Query_View-300x278.png 300w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<p class=\"Standard\" style=\"text-align: justify;\">Vertica also collects and logs various system events which can help in troubleshooting and general system performance. The events are collected in the following ways.<\/p>\n<ul>\n<li>In the Vertica.log file<\/li>\n<li>In the ACTIVE_EVENTS system table<\/li>\n<li>Using SNMP<\/li>\n<li>Using Syslog<\/li>\n<\/ul>\n<p class=\"Standard\" style=\"text-align: justify;\">This concludes Vertica installation process. Even though I came across a few issues, those were mainly specific to the hardware configuration I used for this demo and in a &#8216;real-world scenario&#8217; Vertica installation process is usually trouble-free and can be accomplished in less then 30min. In the <a href=\"http:\/\/bicortex.com\/vertica-mpp-database-overview-and-tpc-ds-benchmark-performance-analysis-part-3\/\" target=\"_blank\" rel=\"noopener\">next post<\/a> I will go through the data used for the TPC-DS benchmark testing, loading mechanism, some of the performance considerations imposed by its volume and hardware specifications used and provide an overview of the results of the first ten queries I run. For the remaining ten queries&#8217; results as well as PowerBI and Tableau interactions please see the final instalment to this series &#8211; post 4 <a href=\"http:\/\/bicortex.com\/vertica-mpp-database-overview-and-tpc-ds-benchmark-performance-analysis-part-4\/\" target=\"_blank\" rel=\"noopener\">HERE<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Post 1 I outlined the key architectural principles behind Vertica\u2019s design and what makes it one of the top MPP\/analytical databases available today. In this instalment, I will go through the database installation process (across a single and multiple nodes), some of the issues I encountered (specific to the off-the-shelf hardware I used) as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72,5],"tags":[16,14,73,49,74],"class_list":["post-3208","post","type-post","status-publish","format-standard","hentry","category-mpp-rdbms","category-sql","tag-analytics","tag-big-data","tag-mpp-rdbms","tag-sql","tag-vertica"],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/posts\/3208","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/comments?post=3208"}],"version-history":[{"count":151,"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/posts\/3208\/revisions"}],"predecessor-version":[{"id":4988,"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/posts\/3208\/revisions\/4988"}],"wp:attachment":[{"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/media?parent=3208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/categories?post=3208"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bicortex.com\/bicortex\/wp-json\/wp\/v2\/tags?post=3208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}