What is the maximum size
The maximum size of a Translation Memory file in Déjà Vu is determined by the Microsoft Jet Database Engine, which is what Déjà Vu uses to handle its databases. The maximum size of a Jet Database file is 2 GigaBytes.
In Déjà Vu, a Translation Memory will be comprised of several different files:
- The main file that contains all the segments, and has the file extension .dvmdb.
- The files that contain the indexes for the main file, and have the file extensions .dvmdi and .dvmdx.
Each of those files is a separate Jet Database, so the 2 gigabyte limit applies to each of them individually, rather than the whole Translation Memory.
What happens when the maximum size is reached
When a Jet Database file reaches its maximum size, the Jet Engine may not be able to operate on it. What this means when you are using Déjà Vu is that basic database operations that always work will start to fail randomly and unpredictably, and will therefore make using Déjà Vu impossible.
You should therefore watch the size of your Translation Memory's files so that you will not be caught unawares when this happens. You should begin to take measures to deal with this when one or more of the Translation Memory's files reaches a size of 1.5 gigabytes, to be safe.
How to deal with this when the Translation Memory grows
Déjà Vu has 2 functions that will be invaluable when it comes to dealing with this situation: Compact and Repair.
Compacting and Repairing
Compact will instruct the Jet Engine to compact all the files that constitute a particular Translation Memory. This will not remove any information from the Translation Memory; it simply rearranges the information the Translation Memory's files contain so that it can be stored more efficiently.
The reason Compacting is necessary is that, during normal use, the Jet Engine (and most other Database engines in existence) will prioritize speed of access over frugality of storage in order to provide the best performance, even at the cost of storage space. The cost of this inefficiency is not high, and compacting the Database every now and then removes its effects anyway.
The Repair function includes the Compact function, as well as several other things, so it can be used instead of the Compact function.
Splitting the Translation Memory
If the Translation Memory contains a lot of segments, it may become too large to use even when it is compacted as much as possible. In this case, the only solution is to split the Translation Memory into several individual Translation Memories, and spread the information among them.
You can do this in several ways:
- Attach your existing large Translation Memory to your projects, but configure Déjà to read from it but never write to it, so that it will not grow any more. Then attach a new Translation Memory to the project, and let Déjà Vu send new segments to that one. This way, only the newer, smaller Translation Memory will grow, but you still benefit from the information stored in the older and larger one.
- Open the Translation Memory and export subsets of it to new Translation Memories. By using filters during the export process, you can ensure that you only export certain segments. If you do this several times, using appropriate export filters, you can export all the segments in the Translation Memory in batches.