Tech Tips: Why Linux/Unix is perferable to Windows for Multivalue DBMS servers

In any business, we must often solve complex problems with creative solutions. To do this effectively and efficiently, we need flexibility in our systems and a wide variety of tools. We also prefer a low cost of operation, low cost of ownership, and a track record of exceptional performance. It is my opinion that Linux possesses these qualities in greater number and quality when compared to Windows in the context of a DBMS server. I’ll include a few example problems that I’ve encountered and explain how we solved them in a Linux or Unix environment. To solve these same problems in Windows, the typical answer is one of the following: Purchase and install a proprietary software package that does, more or less, what you need, or pay a developer to write new software that does exactly what you need.

Example 1: Initiate a DBMS process that exports a file, and transmit that file to a third party. This must be automated and performed periodically.

This, in my opinion, is the most common problem we encounter. Examples of this include sending statements to customers via email, transferring phone numbers to a dialing service via sftp, and notifying system administrators of backup results.

In cases like these, we set up a scheduled task in cron that executes a shell script (or Perl or PHP). The shell script can initiate a DBMS session, execute a command in the DBMS that runs the data export program. After this process returns control to Linux, the script can execute the mail command to send the file via email. Alternatively, the file could be transmitted using an scp command.

This works in reverse, as well. Files can be retrieved from other machines, locally or across the internet, via a variety of protocols, and then processed by a combination of Linux tools and DBMS software (UniBasic). Tools like grep, sort and cut can be used effectively to reduce the volume of string operations in the DBMS.
Read more