Skip to content

Commit

Permalink
Merge pull request ravendb#1390 from reebhub/RDoc-2005_TCPcompression
Browse files Browse the repository at this point in the history
RDoc-2005 - TCP Compression page
  • Loading branch information
arekpalinski authored Nov 10, 2021
2 parents 547db18 + 78ff07f commit 03444b4
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 4 deletions.
14 changes: 10 additions & 4 deletions Documentation/5.3/Raven.Documentation.Pages/server/.docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": []
}
]
]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit 03444b4

Please sign in to comment.