Yellowbrick is a relational data warehouse that is optimized for flash-based storage.
Nested Loop Join Hash Join Sort-Merge Join
Yellowbrick supports hash, sort-merge, and nested loop joins.
Yellowbrick partitions query plans into segments and converts them into C++ code. Segments are then compiled into machine code in parallel using a modified version of LLVM which is memory-resident with its ASTs pre-loaded. Compiled object files are cached and reused.
Yellowbrick also has a specialized pattern compiler for LIKE
, SIMILAR TO
, regular expressions, and date/time parsing. Yellowbrick generates finite state machines for these patterns and compiles them to machine code using LLVM.
Yellowbrick supports PL/pgSQL stored procedures (CREATE PROCEDURE
) but not user-defined functions (CREATE FUNCTION
). Unlike in PostgreSQL, stored procedures in Yellowbrick can return values and be called from SELECT
statements, but only when there is no table-referencing FROM
clause.
Triggers are not supported.