Difference between revisions of "Tips for large databases"

From Gramps
Jump to: navigation, search
(add template)
(Loading the file)
Line 5: Line 5:
 
==Loading the file==
 
==Loading the file==
  
For small files, you can work on GEDCOM or GRAMPS XML format. This works great.
+
Inital import of a large (100.000+) database from either gramps format or gedcom is
 +
tiresome and can take a few hours. You will need to adjust the
 +
number of allowable locks. For 140.000 people you should use: ''max_locks'' 300000 and
 +
''max_objects'' 300000
  
However, these formats are completely loaded in your computer memory so, for larger files, this becomes slow and might bring your computer to a standstill.
+
The easiest way to do this is to create an empty database the add a file
 +
'''DB_CONFIG''' to the database directory before importing (see '''gramps -l''' output for the directory of a specific family tree. Contents of this DB_CONFIG file should be:
  
Therefore, you should only handle large files by using the GRAMPS GRDB format. You do this by creating a new GRDB file and importing the large file into it. This can take a long time, so do it in the evenings! If you '''enable database transactions''' in the {{man menu|Edit->Preferences->General}} menu tab, the importing of data will then be much faster.
+
  #may want to fiddle with cachesize also
 
+
#set_cachesize 0 200000000 2
Also if you have a file that large it might be prudent to break up file into smaller pieces (i.e. Maternal & Paternal lines in different files, if they are not interrelated) so you only have to use a smaller file.
+
set_lk_max_locks 300000
 +
set_lk_max_objects 300000
  
 
{{-}}
 
{{-}}

Revision as of 07:43, 12 October 2012

Gramps-notes.png This page's factual accuracy may be compromised due to out-of-date information. Please help improve the Gramps Wiki as a useful resource by updating it.

Large data files, what to do, and what not to do.

Loading the file

Inital import of a large (100.000+) database from either gramps format or gedcom is tiresome and can take a few hours. You will need to adjust the number of allowable locks. For 140.000 people you should use: max_locks 300000 and max_objects 300000

The easiest way to do this is to create an empty database the add a file DB_CONFIG to the database directory before importing (see gramps -l output for the directory of a specific family tree. Contents of this DB_CONFIG file should be:

#may want to fiddle with cachesize also
#set_cachesize 0 200000000 2
set_lk_max_locks 300000
set_lk_max_objects 300000


Default view: bookmarks and active person

As there are many people, loading the person view might take some time. See a comparison of performance on large datasets, between different GRAMPS versions.

You can circumvent this load time by going to the relationships view before opening the grdb file. This will open the active person and their family extremely fast, independent of the amount of data you gathered.

You can add bookmarks to common people, or in the branch you are researching. This allows to change person in the relationships view without the need to activate the person in the person view first.

Avoid general filters

Filters search all the data looking for the people who satisfy your query. Try to avoid this on large files.

Tango-Dialog-information.png
Search letters

Fast search can be done by enabling column search (disable Sidebar on View menu), but this will search all letters on words into the column, not only the first letters.


For a surname search:

  • click on a person in the people view. Now start typing the family name of the person you need. The view will automatically go to the family name as you complete your typing.
  • for a more detailed search, use the keyboard shortcut CTRL+F. This will expand all the nodes and allows to search more specifically.

Flat views are faster than Tree views

Using a large database and person treeview needs to often rebuild the view.

Flat person view (list) is faster.

Avoid relationship calculation

Under the preferences dialog, go the to tab item, and select the option to display the "name" on the status bar instead of the "relationship with the home person".

Please contribute

If you have more tips for working with large databases, please share them here.