Today’s data-intensive applications require a completely new approach to data management. Data-intensive applications share four qualities that are critical to meet user requirements and expectations - ultra-fast ingest, low latency, high concurrency and fast analytics. Often in real-time with streaming data.
This moment in time is a pivotal shift in the database industry. With the release of 7.5, SingleStore becomes the first and only database to combine two critical capabilities - separation of storage and compute plus system of record into a single platform. These capabilities, combined with the Universal Storage technology, enable both transactional and analytical workloads in the same hybrid multi-cloud platform. At speeds your current database can only dream of.
Resilience in the Face of Failure
Failures happen. They can be hardware failures, application bugs, human errors, or acts of nature. No matter what happens you want your data to be safe and protected at multiple levels. SingleStore has always provided the ability to backup your data. But you can only restore to the points when you last took a backup. In 7.5 we are introducing Point-in-time-Recovery (PITR). PITR allows the user to pick an exact point in time to restore to, down to the microsecond. PITR is built on top of the separation of storage and compute (described below).
When you're using PITR, all data is automatically and continuously sent to object storage. This gives you a continuous backup with no extra effort. SingleStore 7.5 will support persistent storage using AWS S3 for cloud deployment and Ceph (an S3-compatible object store) for self-hosted deployment. More public cloud object store support will come later in the year. Customers can now operate their SingleStore databases with the comfort that they can go back in time to any specific point and restore any data lost from user error or failure.
Staying online is also a key capability for many of our customers. Now, in 7.5 the Backup operation is lock free, enabling the operation to be truly transparent to the application. In addition, we have added new progress reporting capabilities to the Backup and Rebalance operations to give greater visibility to the administrator of the cluster.
Universal Storage: Achieving the SingleStore Vision, One Database for all your Workloads.
SingleStore Universal Storage is a single kind of table that can support analytical and transactional workloads. For decades, many believed that you needed special databases and technology for analytical vs. transactional workloads. SingleStore has proved that wrong.
With our 7.5 release, we're delivering the fourth installment of Universal Storage Technology, with support for multi-column keys, and making columnstore the default table type for new installations. We're proud to say all the major features of Universal Storage are done. Developers no longer have to make difficult design tradeoffs when designing their schema. They simply type “CREATE TABLE” and focus on building their application.
The 7.5 release adds the key remaining features to make this possible:
Separation of Storage and Compute
SingleStore has implemented the separation of Storage and Compute, allowing users to effortlessly scale compute to meet the needs of any workload, while managing storage needs completely independently. While many data warehouses have separated storage and compute, their designs have sacrificed performance and query latency in doing so. Unlike data warehouses, SingleStore can run both operational (transactional) and analytics workloads, and we built our separation of storage and compute with a unique architecture allowing us to store nearly limitless amounts of data without increasing latency or giving up our industry leading performance.
Unlike other technologies that ingest data into object storage and then pull into the cluster, SingleStore ingests data directly into the cluster, so you get access to the data immediately. This allows SingleStore to be used for operational workloads that require low latency on all operations. This gives SingleStore users peace of mind that they can achieve ultimate elasticity and scalability, while continuing to allow modern applications and complex analytics workloads to execute with the highest performance and lowest latency possible.
Usability & Performance
Emojis: New support for UTF8 4 byte characters (utf8mb4) allows a wide range of data to be easily stored in the database. One of the key drivers for this feature was to allow Emojis to be stored easily as part of a text field. Emoji support is one of the most asked for features by our developer community. Full support for extended Asian character sets is now also available with utf8mb4.
Temporary stored procedures: SingleStore now supports temporary stored procedures, which can be created by anyone who can connect to the database and run a query. They disappear when the session terminates. They're very useful for scripting procedural logic mixed with SQL.
JSON functions: We've introduced JSON_BUILD_OBJECT, JSON_PRETTY to let you easily build JSON objects and pretty print JSON values, respectively.
Interpreter speed up: SingleStore is unique in its ability to do "just in time" compilation of SQL queries. By default, it starts out interpreting a query, compiles the query operators to machine code in the background, then switches to the compiled code on the fly. Now, in 7.5, the interpreter has been enhanced to be much faster, under a new setting of variable interpreter_mode to COMPILE_LITE. We plan to give it some bake time, then turn it on by default next year. If first-query runtime is a key concern for you, try it out in 7.5.
The SingleStore DB 7.5 release delivers big advances in our ability to support data-intensive applications on SingleStore, including Separation of Storage and Compute, Point-in-time-Recovery, and the culmination of Universal Storage and numerous usability and performance enhancements.