
Vertica is a Massively Parallel Processing (MPP) platform that distributes its workload over multiple commodity servers using a shared-nothing architecture. Vertica allows users to add User-Defined Extensions (UDxs), user-written code that runs inside of Vertica in parallel. Vertica user-defined code can be written in C, C+ declarative-SQL like code, or Java. Vertica enables the workload to run closer to the data and thus is significantly more efficient for execution. But, more importantly, it allows accessing all these extensions using the familiarity of the SQL language and all existing SQL-based tools.