About | Domains | Data | API | Use Cases | FAQ | Home

Architecture

Overview

BioGUID.org consists of four separate database files, a set of web services, and a website. The database files contain the data indexes themselves, as well as supporting information, and code related to data services that are called internally by the databases themselves as well as by the web services. The web services are the foundation of the BioGUID.org APIs, and serve as the interface between the data services and the website. The website includes a series of pages that include documentation (Overview, APIs, FAQ, and Use Cases), as well as access to data import and export interfaces and the Identifier Domain management system.

Most of the development effort for BioGUID.org focused on the Data Model and associated data services, which is where most of the "heavy lifting" happens. The web services are intended to provide a functional yet relatively light-weight ("thin") web-based interface to the data services, for use by external parties and used internally by the BioGUID.org website. Although never intended as a website per se (the original intention of BioGUID was as a set of data indexes and services; not as a website for direct user interaction), the website has proven useful for storing documentation, and providing very simple user interfaces to some of the core web services. Depending on how BioGUID.org evolves (in terms of user demand, data content, and funding), the website may be improved and expended to include access to more services, be more user-friendly, and function as a full-blown portal to the BioGUID.org system.

The data model is described below, and the web services are described on the API page. The database files and web service and website files are all hosted on a GoDaddy server with an Intel Core i5-2400 processor operating at 3.1Ghz, 32GB of RAM and two 1TB drives, installed with Microsoft Windows Server 2012 Standard. The database platform is Microsoft SQL Server 2014 (v12) Standard Edition, and the website and services are operating on Apache Tomcat 7.0. All source Code is or soon will be deposited on the BioGUID GitHub site.

Databases

At the heart of BioGUID.org are four separate database files. These were created and are currently maintained on the Microsoft SQL Server DBMS platform (though they could easily be ported to a different relational database platform, such as MySQL). All code (Stored Procedures, Functions and Views) are written in TSQL, and as much as possible they avoid the use of any proprietary features proprietary to Microsoft's implementation. The four database files in BioGUID.org include:

BioGUID

FileName: BioGUID.mdf
Size: 550GB
Tables:

Views: Stored Procedures:
Functions:
Other:

Figure 1.
The relationships among core data tables in the BioGUID database.
Figure 2.
The relationships among core data tables and supporting data tables in the BioGUID database.

BioGUIDDataServices

FileName: BioGUIDDataServices.mdf
Size: 0.5GB
Tables:

Views: Stored Procedures: Functions: Other:

BioGUIDLocalLog

FileName: BioGUIDLocalLog.mdf
Size: 0.8GB
Tables:

Views: None.
Stored Procedures: None.
Functions: None.
Other: None.

BioGUID_IMPORT

FileName: BioGUID_IMPORT.mdf
Size: 19GB
Tables:

Note: This database also contains various temporary tables used when importing certain bulk datasets internally.
Views: None.
Stored Procedures: None.
Functions: None.
Other: None.


Creative Commons Zero All content within the BioGUID.org site is available under the Creative Commons Zero license (Public Domain).