MemSQL 5 Beta Release Notes

Important

MemSQL 5 is currently in BETA. As such, it is for evaluation purposes only and is not supported. MemSQL only supports non-beta, generally available releases for production deployments.

MemSQL 5.0 features a revamped code generation mechanism that leverages LLVM. In MemSQL 5, MemSQL query execution generates MemSQL Plan Language (MPL) code that compiles just-in-time to LLVM bytecode. Learn more about the new MemSQL code generation mechanism in the Code Generation section. Using this new code generation mechanism, MemSQL is able to achieve much faster performance on ad-hoc SQL queries, making it much faster on Business Intelligence visualization dashboards. More on this feature and other MemSQL 5 features are described in the setions below.

Performance Improvements

New MemSQL Code Generation with LLVM Architecture: In MemSQL 4.x and prior versions, query execution plans were generated in C++. MemSQL 5 revamped the code generation architecture to leverage a new MemSQL Plan Language (MPL) and LLVM under the covers, leading to much faster initial query compilation time.

Query Statistics and Histograms: The MemSQL 5 query optimizer now uses collected statistics and histograms to produce more efficient query plans for database queries.

Columnstore Performance Improvements: Numerous performance optimizations on the columnstore have been made in MemSQL 5 to improve the performance of queries against the columnstore. These include late materialization, operations on compressed data, and micro-batch scanning.

Cost-based Bushy Joins: The MemSQL 5 optimizer now performs cost-based analysis to determine if a bushy join plan should be used for a given database query.

New SQL Features

New Detailed EXPLAIN: The EXPLAIN query output now shows a more detailed view of database query execution operations represented as a hierarchical tree.

TEMP Tables: MemSQL 5 now supports temporary tables - e.g. CREATE [TEMPORARY] TABLE <name> (...).

Window Functions: MemSQL 5 now supports several window functions, designated by the OVER syntax. A window function performs a calculation across a set of table rows that are somehow related to the current row. This is comparable to an aggregate function, but unlike regular aggregate functions, the rows retain their separate identities.

MemSQL Ops

Schema Explorer: MemSQL Ops 5 now shows statistics for databases, tables, and data within tables in graphical format.

Query Explorer: MemSQL Ops 5 now shows statistics for queries running in the database in graphical format.

MemSQL Streamliner

Data Import from MySQL, Amazon S3, and Hadoop: MemSQL Streamliner with MemSQL Ops 5 now supports definining one-time data import jobs from MySQL database tables, CSVs in Amazon S3, and CSVs in HDFS.

Other Features

PAM Support: MemSQL users can now grant database privileges using PAM, thus allowing MemSQL authentication through PAM.