SSIMWAVE customers – from film producers to network engineers to media business executives – work to some of the highest standards in the world. They demand to work with the best. SSIMWAVE also works at that level, as the company’s 2015 Emmy award for engineering achievement demonstrates. They also ask the same high standards of their technology vendors/partners. For SSIMWAVE’s rather comprehensive analytics needs, only one database makes the grade: MemSQL.
SSIMWAVE has unique technology and unique analytics needs. SSIMWAVE mimics the human visual system, enabling the software to quantify the quality of video streams, as perceived by viewers, into a single viewer score. Video delivery systems can then be architected, engineered, and configured to manage against this score. This score correlates strongly to what actual human beings would perceive the video quality to be. This allows SSIMWAVE users to make informed trade-offs among resources and perceived quality, automatically or manually, and all in real time.
SSIMWAVE Cracks the Code
According to Cisco, video data accounted for 73 percent of Internet traffic in 2017, a share that is projected to grow to 82 percent by 2022. Maximizing the quality of this video content, with the least bandwidth usage and at the lowest cost possible, is one of the most important engineering, business, and user experience issues in the online world.
The barrier to balancing video quality against compression has been that only human beings could accurately assess the quality of a given video segment when it was compressed, then displayed on different devices. Further complicating the picture (no pun intended) is the fact that people, when asked to rate video quality, give different answers with varying levels of consistency over time. This has meant that a panel of several people was needed to render a useful assessment. As a result, a software engineer or operations person wanting to process and deliver data within acceptable levels didn’t have a reliable, affordable method for knowing how much was just enough, without serious compromise to the viewer’s experience.
SSIMWAVE appears to have cracked the code on this problem with its proprietary SSIMPLUS® algorithm, described on their website, which provides capabilities not found elsewhere. The company’s technology assesses video quality with a single, composite number that achieves a correlation greater than 90 percent between machine assessment and subjective human opinion scores. With this technology, video professionals can make much more efficient use of network resources, while consistently maintaining the desired level of quality.
SSIMWAVE users are able achieve significant bandwidth savings by configuring to deliver on a viewer score. The company’s customers include the largest IPTV providers in the US and Canada. Their platform is affecting the streams of tens of millions of subscribers in North America. MemSQL already has a strong position in media and communications solutions, including having Comcast as a customer, and it was natural for SSIMWAVE to consider MemSQL for its own analytics needs.
SSIMWAVE’s Need for State-of-the-Art Analytics
SSIMWAVE’s business is, in the end, all about numbers. For the company to deliver a complete and reliable service, it needs a high-performance database that can store very large quantities of data and respond very quickly to ad hoc analytics queries.
SSIMWAVE has ambitious analytics goals. In addition to comprehensive internal requirements, it needs to offer state-of-the-art analytics capabilities to customers.
SSIMWAVE needs both up-to-the-moment reporting, on data volumes that will increase exponentially as new data streams in, and the ability to retain all that data to meet customer service level agreements (SLAs).
SSIMWAVE Chooses MemSQL
SSIMWAVE was ready for an innovative solution. It compared three technologies that seemed most likely to meet its requirements:
- Apache Druid. Druid is a new analytics database, written in Java, which recently reached version 0.13.0. Druid partitions data by timestamp. It does not support JOINs and does not have a permissions model.
- MariaDB AX. MariaDB AX is a version of MariaDB – which itself is a MySQL fork – optimized for analytics. MariaDB AX is a columnar storage engine that supports ANSI SQL. It scales both up and out, and is optimized for use with leading data streaming tools.
- MemSQL. As a leading NewSQL database, MemSQL scales both up and out. Unlike many others, including MariaDB AX, it fully supports both rowstore and columnstore, at high levels of performance. MemSQL is widely used for real-time analytics and predictive analytics.
The database assessment was led by Peter Olijnyk, Director of Technology at SSIMWAVE. Peter has 20 years experience as a software developer, architect, and engineering leader, along with a passion for playing guitar in his rock band.
Olijnyk and his team at SSIMWAVE found the choice relatively easy, and decided on MemSQL. Among the key considerations were:
- Scalability. SSIMWAVE needs a seamlessly scalable database, as its business needs may drive it to arbitrarily large scale requirements. MemSQL’s distributed architecture fits the bill.
- Performance. SSIMWAVE needs high performance for its own internal needs, but also for its customers, who will be using the SSIMWAVE data architecture.
- Ease of setup. SSIMWAVE was able to use MemSQL’s documentation to get its first cluster running easily, in a matter of hours. This ease of setup and comprehensibility will extend to SSIMWAVE customers.
- Direct SQL queries. SSIMWAVE needs a tool with integrations to third party tools, allowing for direct SQL queries which are fast and responsive.
- Rowstore and columnstore support. Although its current use case is “99 percent columnstore,” SSIMWAVE likes having the door open to rowstore use cases with MemSQL.
- Data streaming architecture support. MemSQL works smoothly with leading stream-processing software platforms, including support for exactly-once updates. The benefit of MemSQL is its ability to scale out, enabling very high levels of performance.
- Wide range of integrations. MemSQL supports a wide range of integrations, including the MySQL wire protocol and other standard interfaces. “We use the ODBC interface in a standard way,” said Olijnyk. “We have found MemSQL’s ODBC interface to be customizable and flexible.”
“The main thing that tipped the scales was the ease of use and out-of-box experience,” according to Olijnyk. “We went from reading about MemSQL to having clusters running in a matter of hours.”
“We implement real-time data streaming and MemSQL for ingest and query response,” he reports. “Also, we recently needed a way to share state across our architecture. We considered ZooKeeper and Redis, but we ended up using MemSQL rowstore, because it gives us such high performance.”
The move to this architecture for SSIMWAVE was never far from Olijnyk’s mind. “We prioritize ease of use and ease of installation. We have to concern ourselves with this approach; otherwise, costs and support effort would rise quickly. The fewer technicians we have to manage to support our customers, the better.”
SSIMWAVE Implements MemSQL
SSIMWAVE currently has MemSQL up and running. It’s “rolling out a single instance and will be ready for production within weeks.”