Skip to content

Grabbit - Fast Content Sync tool for AEM/CQ

License

Notifications You must be signed in to change notification settings

brianchilders/grabbit

 
 

Repository files navigation

Grabbit

grabbit grabbit

download

Project Purpose

The purpose of Grabbit is to provide a fast and reliable way of copying content from one Sling (specifically Adobe CQ/AEM) instance to another.

Existing solutions have been tried and found insufficient for very large data sets (GB-TB), especially over a network. CQ’s .zip packages are extremely space inefficient, causing a lot of extra I/O. vlt rcp and Mark Adamcin’s recap use essentially the same mechanism: WebDAV using XML, doing an HTTP handshake for every node and many sets of properties, which means that any latency whatsoever on the network hurts performance enormously.

Grabbit creates a stream of data using Google’s Protocol Buffers aka "ProtoBuf". Protocol Buffers are an extremely efficient (in terms of CPU, memory and wire size) binary protocol that includes compression.

Moreover, by doing a continuous stream, we avoid the latency issues. Depending on the size and nature of the data, as well as network latency, we have so far seen speed improvements ranging from 2 to 10 times that of Recap/vlt.

Note
"Grabbit" obviously refers to this "grabbing" content from one CQ/AEM instance and copying it to another. However it also refers to "Jackrabbit," the reference JCR implementation that the content is being copied to and from.

download

About

Grabbit - Fast Content Sync tool for AEM/CQ

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Groovy 99.1%
  • Shell 0.9%