Distributed instances of BETYdb

Syncing Databases

Exporting Data

The dump.bety.sh script does the following:

  • dumps all data except:
    • traits or yields where access_level < 3 or checked = -1
    • runs and workflows contents (After implementing benchmarking, we will need to dump reference runs.)
  • anonymizes users
    • sets user1 to carya/illinois with access_level =1, page_access_level = 1,
    • other users get access_level = 3, page_access_level = 4.
    • Users id's are preserved in order to allow admin to identify issues that are uncovered in anonymized version of db.

Output:

  • schema as .sql file, named after the most recent value in migrations table, to ensure that the data can be loaded (schema versions must match in order to sync)
  • each table exported as a csv file, and tar-zipped. (psql function '\copy')

Importing Data

You can sync a local instance of the BETYdb database with other instances. The load.bety.sh script will import data from other servers.

MYSITE=X REMOTESITE=Y load.bety.sh

This will set the number range based on the MYSITE variable

(1,000,000,000 MYSITE) to ((1,000,000,000 (MYSITE + 1)) - 1)

Primary Key Allocations

Assigning a unique set of primary key values to each instance of BETYdb allows each distributed system to create new records that can later be shared, and to import new records from other databases. Ranges with no server listed are reserved but may not be deployed or are used offline.

Any changes to existing records should be done on the server that owns that record.

Institution server url id allocated primary key values
Energy Biosciences Institute / University of Illinois ebi-forecast.igb.illinois.edu https://betydb.org 0 1-1,000,000,000
Boston University psql-pecan.bu.edu https://psql-pecan.bu.edu/bety 1 1,000,000,001-2,000,000,000
Brookhaven National Lab modex.test.bnl.gov http://modex.test.bnl.gov/bety 2 2,000,000,001-3,000,000,000
Purdue bety.bio.purdue.edu http://bety.bio.purdue.edu/ 3 3,000,000,001-4,000,000,000
Virginia Tech 4 4,000,000,001-5,000,000,000
University of Wisconsin tree.aos.wisc.edu http://tree.aos.wisc.edu:6480/bety 5 5,000,000,001-6,000,000,000
TERRA Ref 141.142.209.94 http://terraref.ncsa.illinois.edu/bety 6 6,000,000,001-7,000,000,000
TERRA test 141.142.209.95 http://terraref.ncsa.illinois.edu/bety-test 7 7,000,000,001-8,000,000,000
TERRA MEPP UIUC terra-mepp.ncsa.illinois.edu terra-mepp.ncsa.illinois.edu/bety 8 8,000,000,001-9,000,000,000
TERRA TAMU 9 9,000,000,001-10,000,000,000
Ghent 10 10,000,000,001 - 11,000,000,000
TERRA Purdue 11 11,000,000,001 - 12,000,000,000
Development / Virtual Machine localhost https://localhost:6480/bety 99 99,000,000,000-a zillion

Feedback Tab

New users and 'feedback tab' submissions are sent to all users with Admin privileges (gh-56).

Customization

As of BETYdb v 4.1.3 it is possible to customize the user interface with project-specific design elements including. To do this, it is necessary to create a new file called config/application.yml. Details are in config/application.template.yml. See also https://github.com/PecanProject/bety/issues/368).

Customizable elements include:

  • Database name and descriptions
  • Images found on the home page
  • Sponsor logos and links in footer
  • Database citation and data use policy
  • Contact information

Issues

  • to get latest data, have to query each server (or can get full dump from one server, but this is as out of date as the last sync)
  • to edit data from records owned by another server, must edit on that server (or risk loosing this on next update)

results matching ""

    No results matching ""