What’s it like to work in Vertica technical support? Interestingly a lot like being a node in a Vertica cluster.
In a Vertica cluster a client app connects to the database through one of several methods, e.g. jdbc, odbc, or vsql. The connections are typically load balanced so the requests go to participating nodes in round robin fashion. The incoming requests need to be parsed and validated as complete and understandable before a plan is created. The initiator node optimizer creates what it considers to be the best plan based on the input information and the database knowledge of the related objects. Once the plan is ready the resource manager determines if all the resources to execute the plan are available, and if so the plan is executed, if not then it’s queue’d and executed when the resources become available. The plan might call for just the initiator node to execute the work, or it might distribute the work to other nodes. The database and design are typically fault tolerant. Nodes can go down and the database stays up. The work of the missing nodes is redistributed. The ultimate goal is to generate an accurate result set for the end user in the least amount of time possible with the least amount of resources consumed so they are freed up for incoming queries allowing for the best balance of performance and concurrency.
In Vertica Technical Support our customers connect to our human knowledgebase thru one of several methods, e.g. phone, email, and the customer portal. The customer connections are load balanced via our Salesforce case tracking system, distributed to participating support engineers in round robin fashion. The customer’s description of their question or problem has to be parsed and validated as complete and understandable before work can proceed. The support engineer who owns the case reviews it’s description and any supplied files to come up with a plan based on their own knowledge of the product area as well as other resources at their disposal. Once the support engineer’s plan is devised then they determine if the resources they need are available, if so the plan is executed, if not then it’s queue’d and executed when the resources become available. The support engineer might determine they can handle the case on their own, or their plan might include involvement of other support engineers. The Support team is fault tolerant, engineers can be offline for a variety of reasons and the team continues to function. The work of the absent engineers is redistributed. The ultimate goal is to generate a resolution for the customer in the least amount of time possible with the least amount of resources consumed so they are freed up for incoming cases allowing for the best balance of timely and quality resolutions.
Both are 24x7x365 Enterprise solutions providing value to Vertica customers.