You are viewing an older version of this section. View current production version.
4.1 Release Notes
MemSQL 4.1 features the new MemSQL Streamliner and columnstore enhancements that simplifies the creation and management of real-time data pipelines running in Apache Spark.
Streamliner
The MemSQL Streamliner deploys Apache Spark and runs user-defined, real-time data pipelines in Spark. A data pipeline is a workflow that extracts information from a real-time data source such as Kafka, performs a transformation on the data, and loads it into SingleStore DB. All Streamliner configuration can be set up within MemSQL Ops.
Streamliner opens the door for a whole new set of data streaming use cases into SingleStore DB, and integrates Apache Spark more tightly with SingleStore DB. Using Streamliner, users can deploy a Spark cluster - master, workers and the MemSQL Spark Interface - with one click, then immediately create data pipelines with configurable extract, transform and load phases, all processed within Apache Spark. Data is loaded as micro-batches into SingleStore DB, and Streamliner gives visibility into the full data pipeline.
For more information about the MemSQL Streamliner, see the Spark Management section.
Enhanced Columnstore Functionality
Faster streaming into columnstore tables
MemSQL now puts a memory-optimized data structure in front of each columnstore table which groups small inserts into larger batches for increased insert efficiency. Rows are available for queries immediately after the commit and do not wait for the write to disk. As with the MemSQL rowstore, inserts are fully transactional and durable.
Alter table for columnstore
MemSQL now supports the ALTER TABLE
command for columnstore tables.
Increased columnstore data compression
JSON columns in a columnstore table are now represented in a more compressed format on disk.
Other Changes
Support for non-recursive CTEs
MemSQL now supports non-recursive common table expressions (CTEs). CTEs begin with a WITH
clause prior to a SELECT
, INSERT
, UPDATE
or DELETE
operation. Non-recursive CTEs do not reference themselves within the CTE.
skip_name_resolve behavior
The skip_name_resolve variable now has 3 options - auto, true, and false. The default is auto, which tries to do a reverse DNS lookup. If the lookup succeeds, it uses rules defined for ‘%',
Maintenance Release Changelog
2016-02-04 Version 4.1.3
- Fixed issue when writing columnar segments that end with a JSON number value
2015-12-01 Version 4.1.2
- Fixed issue where low memory conditions could cause the columnstore memory-to-disk flusher to stop flushing rows
- Fixed issue where the
check_system
utility always complains that CRC32 is unavailable
2015-11-04 Version 4.1.1
- Fixed an issue with
CREATE TABLE... LIKE
for columnstore tables - Fixed a performance issue with Parquet compression for certain JSON schemas