TECHNICAL COMPUTING USING SYBASE DATABASE FOR BIOMEDICAL SIGNAL ANALYSIS

Josef Krůpa, A. Proch · 2009

Design a storage for a large amount of biomedical data in a structured way is a hard task. Especially if there is a requirement for realtime access to all of the stored data. For this purpose we decided to use Sybase Adaptive Server Enterprise as a main database engine and MathWorks MATLAB for mathematical data manipulation. Our database consists of approximately 40000 patient EEG anamneses. Each of them is around 120000 records in size. Many programming languages contain native libraries for Sybase database access. We tried the implementation in Python and PHP programming languages. For the demonstration there is an example of distributed computing platform based on the database access from all of the application components- Python worker and data dumper, PHP web interface and MATLAB data manipulation script. 1 EEG Database Structure Because of the large quantity of data which we needed to store into database we had to design the right database architecture to be able to use the database effectively. We worked with two possible database schemas. One of the schemas consist of three tables. The main table with all of the records from all patients with foreign key for patient identification, the other two for list of patients and measures. Because of the massive amount of rows needed for this solution and also because there wasn’t demand to use just part of the data for one patient we decided not to use this schema for production use. We although used this schema for simple comparison on how to add large amount of data into the database. The second schema consists of two tables- one for list of patients, one for list of patient anamneses and binary blob as a storage for the 120000 * 19 records. It’s not possible to select parts of the patients anamneses on database level but it is much faster in terms of adding and later access to the data in the database. All recordings are stored in both filtered variation with 50Hz frequency component removed [6] as well as original data without any filters applied. Because the binary MAT file format has publicly available specification [2] we decided to use it for the binary storage of the data in the database.

Read the paper · More papers on PaperTik