Visit the post for more.
Overview
Facebook announced several new technologies at the @Scale 2016 conference, focusing on solutions for large-scale engineering challenges. Key innovations include Zstandard, MyRocks, 360 video stabilization, BrowserLab, and Infer, each aimed at improving performance and efficiency in various applications.
What You'll Learn
1
How to use Zstandard for faster data compression and decompression
2
Why MyRocks is more efficient than InnoDB for flash storage
3
How to implement 360 video stabilization for improved viewing experiences
4
How to utilize BrowserLab for automated regression detection
5
How to apply static analysis with Infer to catch bugs early
Key Questions Answered
What is Zstandard and how does it improve data compression?
Zstandard is a new compression algorithm introduced by Facebook that compresses data smaller and faster than existing methods. It decompresses at twice the speed and achieves higher compression ratios, leading to faster data transfer and reduced storage needs.
What advantages does MyRocks offer over InnoDB?
MyRocks is an open source MySQL storage engine that works more efficiently than InnoDB on flash storage. It reduces storage requirements by 50 percent, as demonstrated by Facebook's migration of the new storage engine to its user database tier.
How does the new 360 video stabilization technology work?
The 360 video stabilization technology combines 2D and 3D stabilization methods with a new 'deformed rotation' motion model. This approach enhances video quality by reducing bit rates while maintaining the same video quality, ensuring smooth playback across platforms.
What is BrowserLab and how does it help in regression detection?
BrowserLab is an automated testing environment that detects regressions as small as 20 ms. It helps engineers understand performance implications of code changes and prevents bugs from reaching production by isolating server variance from client-side performance.
What is Infer and how does it assist in static analysis?
Infer is Facebook's open source static analyzer designed for Java, C, and Objective-C. It allows engineers to add new bug types and analyses easily, enhancing its adaptability for a large codebase and enabling support for additional languages like C++.
Key Statistics & Figures
Storage reduction with MyRocks
50 percent
This reduction was achieved when Facebook migrated the new storage engine to its user database tier in one data center region.
Decompression speed improvement with Zstandard
twice the speed
Zstandard decompresses data at twice the speed compared to existing industry norms.
Regression detection sensitivity of BrowserLab
20 ms
BrowserLab can detect regressions as small as 20 milliseconds, allowing for early identification of performance issues.
Technologies & Tools
Compression Algorithm
Zstandard
Used for faster and more efficient data compression and decompression.
Database
Myrocks
An open source MySQL storage engine optimized for flash storage.
Video Technology
360 Video Stabilization
Enhances the quality of 360 video content for smoother viewing experiences.
Testing Tool
Browserlab
Automated testing environment for detecting regressions in web applications.
Static Analysis Tool
Infer
Static analyzer for Java, C, and Objective-C to catch bugs early in the development process.
Key Actionable Insights
1Implement Zstandard in your data processing pipeline to enhance efficiency.Using Zstandard can significantly reduce data transfer times and storage costs, making it a valuable tool for applications handling large volumes of data.
2Consider migrating to MyRocks if your application relies heavily on flash storage.MyRocks can lead to substantial reductions in storage requirements and improved performance, particularly in environments where flash storage is prevalent.
3Adopt 360 video stabilization techniques to improve user engagement with video content.Smoother 360 videos can enhance viewer experience, leading to increased content consumption and user satisfaction.
4Utilize BrowserLab to catch regressions early in the development process.By detecting performance regressions automatically, BrowserLab can help maintain high-quality user experiences and reduce the time spent on bug fixes.
5Incorporate Infer into your development workflow for proactive bug detection.Using static analysis tools like Infer can help identify potential issues early, reducing the cost and effort associated with fixing bugs later in the development cycle.