-
Notifications
You must be signed in to change notification settings - Fork 258
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rosbag2_storage: set MCAP as default plugin (#1160)
switches the default storage plugin from `sqlite3` to `mcap`. ## Reason for change Benchmarks suggest that MCAP can support higher write throughput than the `sqlite3` plugin in its default configuration, while also bringing the following other benefits: * Append-only write behavior ensures that only the last few messages written can be corrupted in the case of a power outage or recorder crash. This is similar to the corruption guarantees offered by SQLite3 in [WAL mode](https://sqlite.org/wal.html), which is what is used in the `resilient` SQLite storage plugin preset. * Ability to enable chunk compression, which should be more space-efficient than message compression for bags with many small messages. This also enables reader to use the message index, unlike file-level compression. * Record message schemas to the bag by default, enabling applications outside the ROS 2 workspace to read message content. ## Benchmarks Read the benchmarking analysis that lead to this conclusion [here](https://mcap.dev/performance-comparison/rosbag2-plugin-comparison.html). ### `rosbag2_performance_benchmarking` There is a set of pre-existing benchmarks in the rosbag2 repo here: https://github.com/ros2/rosbag2/tree/rolling/rosbag2_performance/rosbag2_performance_benchmarking We've run these in an attempt to compare the performance of MCAP against SQLite on these metrics, but at this point the results appear to be pure noise. A full analysis of why will be published to mcap.dev shortly, but for now the news is that we have not succeeded in producing a statistically significant difference in results between MCAP and SQLite. ## TODO - [x] #1112 - [x] ros-tooling/rosbag2_storage_mcap#61 - [x] ros-tooling/rosbag2_storage_mcap#63 - [x] #1185 - [x] Parametrize `rosbag2_tests`
- Loading branch information
Showing
8 changed files
with
10 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters