diff --git a/Documentation/5.3/Raven.Documentation.Pages/server/.docs.json b/Documentation/5.3/Raven.Documentation.Pages/server/.docs.json index b67cebd5c7..e68c596917 100644 --- a/Documentation/5.3/Raven.Documentation.Pages/server/.docs.json +++ b/Documentation/5.3/Raven.Documentation.Pages/server/.docs.json @@ -46,8 +46,14 @@ "Mappings": [] }, { - "Path": "/kb", - "Name": "Knowledge Base", - "Mappings": [] + "Path": "/kb", + "Name": "Knowledge Base", + "Mappings": [] + }, + { + "Path": "tcp-compression.markdown", + "Name": "TCP Compression", + "DiscussionId": "48e8e424-a89c-4972-823f-582f11a0c7dd", + "Mappings": [] } -] \ No newline at end of file +] diff --git a/Documentation/5.3/Raven.Documentation.Pages/server/images/tcp-compression-license.png b/Documentation/5.3/Raven.Documentation.Pages/server/images/tcp-compression-license.png new file mode 100644 index 0000000000..bab06ebf93 Binary files /dev/null and b/Documentation/5.3/Raven.Documentation.Pages/server/images/tcp-compression-license.png differ diff --git a/Documentation/5.3/Raven.Documentation.Pages/server/images/tcp-compression-license.snag b/Documentation/5.3/Raven.Documentation.Pages/server/images/tcp-compression-license.snag new file mode 100644 index 0000000000..c5d4f535a8 Binary files /dev/null and b/Documentation/5.3/Raven.Documentation.Pages/server/images/tcp-compression-license.snag differ diff --git a/Documentation/5.3/Raven.Documentation.Pages/server/tcp-compression.markdown b/Documentation/5.3/Raven.Documentation.Pages/server/tcp-compression.markdown new file mode 100644 index 0000000000..e8ef6dfadd --- /dev/null +++ b/Documentation/5.3/Raven.Documentation.Pages/server/tcp-compression.markdown @@ -0,0 +1,80 @@ +# TCP Compression +--- + +{NOTE: } + +* With **TCP Compression** enabled, internal cluster data transfers + are compressed, including nodes' + [database replication](../server/clustering/replication/replication) + and the data submitted by + [Data Subscriptions](../client-api/data-subscriptions/what-are-data-subscriptions) + to their workers. + +* Especially on the cloud, the significant reduction in the amount of transferred + data translates to a significant reduction of costs. + + +* In this page: + * [TCP Compression](../server/tcp-compression#tcp-compression) + * [Compression Algorithm and Ratio](../server/tcp-compression#compression-algorithm-and-ratio) + * [Enabling TCP Compression](../server/tcp-compression#enabling-tcp-compression) + +{NOTE/} + +--- + +{PANEL: TCP Compression} + +RavenDB offers a variety of compression tools, including the compression +of [stored documents](../server/storage/documents-compression) and +[backups](../server/ongoing-tasks/backup-overview#compression). + +With the **TCP compression** feature enabled, data **in transit** is compressed as well. + +* RavenDB will compress data before [replicating](../server/clustering/replication/replication) + it from one cluster node to another. + Replication makes a large portion of a cluster's traffic, and compressing + replicated data will minimize the traffic volume and expedite data delivery. + +* [Data Subscriptions](../client-api/data-subscriptions/what-are-data-subscriptions) + will also transfer compressed data to their workers. + Data subscriptions are used to automate documents processing, + and may transfer large quantities of documents on a regular basis. + Compressing the data they submit can reduce the traffic volume + and the costs of such automated routines considerably. + +## Compression Algorithm and Ratio + +* TCP Compression uses the [Zstandard compression algorithm](https://en.wikipedia.org/wiki/Zstandard), + continuously learning your data model to create dictionaries that represent the redundant + structural data across transferred documents. + +* Compression ratio tends to ascend as the size of the transferred data grows, + and may **top 85%** for big data transfers. + +## Enabling TCP Compression + +Your server's [license](../studio/server/license-management) +type determines whether TCP compression, among other features, +is activated on it. No additional configuration is needed +to enable this feature. + +![License (Studio View)](images/tcp-compression-license.png "License (Studio View)") + +{PANEL/} + +## Related Articles + +### Studio + +- [Documents Compression](../studio/database/settings/documents-compression) +- [License](../studio/server/license-management) + +### Server + +- [Backup Compression](../server/ongoing-tasks/backup-overview#compression) +- [Database Replication](../server/clustering/replication/replication) + +### Client API + +- [Data Subscriptions](../client-api/data-subscriptions/what-are-data-subscriptions)