In my last couple posts, I wrote a bit about how some of the LIMS tools can cause poor performance (Difference Between C# and VGL; LIMSBasic: A Programming Language). It’s possible to really slow-down the system if you’re not careful, and some systems and tools are much more sensitive than others. What’s a person to do?
For the inexperienced person, their first idea is to go around the system – to use any other tool that they can. Anything is faster. Using SQL commands or Visual Basic seems sensible – they’re just so much faster.
Don’t Do It!
Okay, seriously, it’s just so frustrating that these programs get so slow but you can’t just go out and use some other tool. When you do that, you’re often overriding security and the event triggers. You have to know the system you’re working with. So, by using an outside tool, you’ve sped up the programs and queries but you’ve also just bypassed all the things that you just spent a fortune to implement.
For example, with systems such as Thermo Scientific’s SampleManager LIMS /LES and the LabWare LIMS / ELN, one of the great features of them is that they’re database-independent. While some of the code might sit in a database field, it’s just sitting in there – the database isn’t doing anything but storing it. You can move to another database product and it won’t matter, as long as you haven’t built in any database-specific commands, basically.
Here’s my point: when you write a program in LIMSBasic, VGL or C#, for example, it’s the system – the base executable program – that’s enforcing all the security and causing the triggers to run. It’s not the database doing that. So, when you bypass the system by writing external programs and queries, nothing additional runs. You’ve gotten rid of all your security and all your triggers.
On the other hand, there are other types of systems which have their features built right into the database. You can use any program or query language you want with the and you still get all the features of them. However, you shouldn’t assume this is the case with the product you’re using. You need to verify this.
We’ve all seen systems that had lots of charge time spent by people who get frustrated and write outside programs and queries THAT HAVE TO BE THROWN AWAY! That’s money right down the drain – it all has to be rewritten within the application tools. So, just be cautious before you even consider doing anything like this. If you’re new to it, don’t even try it.