Web Design Web Application Development Database Development

Database Development. Our Experience.

We have designed and optimized databases that kept track of things ranging from simple blog entries and comments to hundreds of gigabytes of genetic sequence data. We've also integrated with existing databases used for e-commerce systems that kept track of customers, orders, products, and various other things associated with selling over the Internet.

With blog entries and comments, we had to create a good design that handled relationships between journal entries and comments, and allow for comments to have parents and children (a recursive system). It also had to make sure that comments were linked to journal entries and didn't just stand on their own.

Handling genetic sequence data meant that we had to take performance into account very soon into the project. It's one thing to just store gene sequences, but quite another when the data quickly balloons as each sequence is compared against many other sequences. In order to keep the application usable and make it more responsive, we created indexes and partitioned the tables horizontally. We also moved the database to FreeBSD instead of keeping it on Linux, because the Linux kernel at the time could not handle the database load properly.

Integrating with existing databases meant that we had to respect the existing designs while getting work done. (Not respecting existing designs often means even more work down the line!) We did this by getting a good handle on the most important, most frequently accessed tables first. We created our own tables that referenced the existing ones through foreign keys rather than modify the existing table designs, because higher-level application code expected the tables to have a certain structure.

bullet1 bullet2 bullet3