A few of my clients have had similar experiences with the Microsoft Access database system. As a light-weight non mission critical solution it offers ease of use and in the right hands can be extremely functional. The problems start usually after a few years of use when a database moves from the ‘useful’ to the - ‘oh my God…we’re stuck - the database has fallen over!’
The Database Hobbyist
Microsoft Access in the right hands is a useful tool for data capture and reporting. One of my clients started to develop his own in-house client recording system around 2001. He’s in the criminal law business and has pretty specific requirements such as recording hearings and their results. He then started to move some workflow steps into his home-grown solution. The problem is that six years later his Access database could take up to 20 seconds to perform an update.
The problem with MS Access is it’s not designed for large datasets especially if the data is text or image based. When you start experiencing insert and update delays and/or you’re left waiting ages for the database to start-up it’s probably time for an upgrade.
Database Upgrade Options
If you’re tied into the Microsoft camp (and I can’t see why you should be), you have a couple of options. You can pay the big dollars for a SQL Server installation and a relatively straight-forward data migration path using SQL Server’s data migration Wizard. You also have the lower cost option of using the Microsoft Desktop Engine (MSDE). This offers pretty much the same functionality as SQL Server but less in terms of development tools and scalability and backup options. MSDE is not for the Enterprise, it’s for the corner-shop.
Alternatively if the concept of paying license fees does not sit well, you can go for the ‘open source’ solutions of MySQL (pronounced My seequel) and PostgreSQL (pronounced post gres Q L) These are database systems that have been developed by teams who provide them free of charge to the community at large. There are commercial options with each solution where you can get support agreements, training and the like, but if all you want is the database up and running on your site for free, these are the options for you.
Both MySQL and PostgreSQL offer migration options supplied by the database vendors (can you call someone a vendor if they give you stuff for free?). There’s also a couple of third-party solutions such as those provided by SQLMaestro and DBConvert.
Don’t migrate bad data design
Whatever solution you go for, you’ve got to be careful you don’t migrate bad database design. There’s a whole lot more to designing an efficient and workable database than using a point and click wizard to build a table to store your contacts in. Of course, at Peter Mac we’d love to help you in this regard, but if you already know what you’re doing there’s a whole lof of online support you can get from the open source communities.
No Comments // Posted on 26 October, 2008 // Databases
I’ve just spent the best part of two hours fighting with the set-up of clamav on a relatively new Fedora 8 Server. The documentation wasn’t the greatest so I’ve decided to do my bit to patch some of the holes.
Download clam
# sudo yum clamav clamav-server clamav-update
A number of instances of the clamd daemon can run concurrently. Each instance needs to be provided with a unique name. To keep things simple, we’re going to run one instance and call it ’server’. This name has implications for what is to follow.
Setting up the daemon up as running service involves the following steps:
Phase 1 - create a daemon user
When you install clamav using the yum utility, a new user is created automatically - The user is clamav. Most documentation uses this user as the daemon user - this isn’t a good idea. The clamav user has rights to update the database containig the list of known virii. Create a new user clamd with no login rights.
#sudo useradd -s /sbin/nologin/ clamd
Phase 2 - Copying and renaming config files
Copy assorted files from /usr/share/doc/clamav-server-nn.nn.nn/ (where nn is the version number of your install) to assorted folders, renaming them and modifying their content.
# cp /usr/share/doc/clam-server-nn.nn.nn/clamd.conf /etc/clamd.d/
# cp /usr/share/doc/clam-server-nn.nn.nn/clamd.sysconfig /etc/sysconfig/clamd.server
# cp /usr/share/doc/clam-server-nn.nn.nn/clamd.logrotate /etc/logrotate.d/clamd
Phase 3 - Editing the configuration files
Start by editing the /etc/clamd.d/clamd.conf file.
Firstly, comment out the line saying Example in file clamd.conf
LogFile /var/log/clamd/clamd.log
Edit the LogSysLog setting LogSysLog yes
PidFile /var/run/clamd.server/clamd.pid
LocalSocket /var/run/clamd.server/clamd.sock
TcpAddr 127.0.0.1
User clamd
Phase 3 - Create the folders
Create the /var/run/clamd.server folder
#mkdir /var/run/clamd.server
#chown clamd.clamd /var/run/clamd.server
Create the clamd log folder
#mkdir /var/log/clamd
#touch /var/log/clamd/clamd.log
#chown clamd.clamd -R /var/log/clamd/
#chmod 0620 /var/log/clamd/clamd.log
Copy the clamd-wrapper to clamd.server
# cp /etc/init.d/clamd-wrapper /etc/init.d/clamd.server
Edit the CLAMD_SERVICE variable in the /etc/init.d/clamd.server file
CLAMD_SERVICE=server
Geez..this is getting complicated…one final step
Create a clamd.server file in /usr/sbin that links to the original clamd file
# ln -s /usr/sbin/clamd.server /usr/sbin/clamd
OK..all systems go…
now start the daemon
#etc/init.d/clamd.server start
If you want the daemon to start on reboot add it to the startup list using chkconfig
# /sbin/chkconfig clamd.server start
Hopefully you get the green light and have a running clamd daemon. If you don’t (check using ps auxw | grep clamd) please post a comment and let me know what grief you’re having.
No Comments // Posted on 15 October, 2008 // Linux
—–BEGIN PGP PUBLIC KEY BLOCK—–
Version: GnuPG v1.4.9 (MingW32)
mQGiBEj1SQoRBACbRUMtyYFvFa81V7cnzbYJzSfk5MDuUdV0Wo+ckxKKRfW4Qf30
+ORIJeqzirJp9tOd8/uoPVnxNOK4LBKw47W+lHHLUYNMy2qByy7zVBXfg9EXuIrU
edebiwM92yODj/VoAxTjI1p5Mmr5fhFSSEo8yh7GTqg8g0j4jWPR+eZxywCgi78d
CZ6WmIS+tpNvEqrV/DwQUd0D/R9tyFMuwVKKOcyPxpekJ5RmKk8DDJ7cx6z0s6wM
kpx5qpL2QKhVp/3s7t9M40FT3ZmT2ERjJwZzncM8JMxDOK/vS8CRGlTd/JJIzWNj
8SOo55HCq1gJP8U01P1wU1AK9/7n+RcENOGvHEPvKfWweY8HuE8OwHkPGxkqT4og
1TNgA/97226C/NTf7MmOmV5y3yo5k5VUzGRjPpyvZIxIxnQJR4viquNEJfnW9BQT
kRw4J7qQePvcbYrvDWxHlJJzlIzQxbBUqVry4K79ByudQA8QaQAT+XJIMjjppgHz
rKWB6YVTqsSlfjASM9RqjfDCMZpefpjlq2hvJ2WzyLnYGyEJ+rRuUGV0ZXIgTWFj
IEdpb2xsYWZoZWFyZ2EgKEtleSBmb3IgbWFpbCBmcm9tIHBldGVyQHBldGVybWFj
LmNvbSAtIFBldGVyIE1hYyBBbmQgQXNzb2NpYXRlcykgPHBldGVyQHBldGVybWFj
LmNvbT6IZgQTEQIAJgUCSPVJCgIbIwUJCWYBgAYLCQgHAwIEFQIIAwQWAgMBAh4B
AheAAAoJEJlpD3yHCMV4/qYAn0WbPZejFQGgFi3g5IT2Q0D8u++xAJsGmFMdEwPm
zFi4mAEAbhfO+tuUr7kCDQRI9UkKEAgAhf491b6MaNOCp1qo9hjvX1NLQ1sORkI9
suP7PceRZfXuqc92GMXw8lYds9cPddtOBPpBZCaezxvRZHfERwiSWEVjEdwXyC5z
y8ys8L4jxaPS8YS3SnEjkg+1DCLRb5fry+jiSaFeC2YklFFopSxWiSJQow9+jIPF
hfvE4ZswP3EBx54SYC92sZgqfq/DcDcqlOp7gGAxHhxP+rdt4ow4aEzhdzyzNVpb
C26BwRWH6T1JtsBSiy0PoaxV2eVl3Fb93aHPVldtdk5p6Pqm03KAbowurFfLshK9
jyPuOyaM8cUSN+RXSgi846mXT0EhY6J4Ofb0rClm8maXwtSHpk8wBwADBQf/b4i6
oDa5K69S2tyERpxAPhSBPdUnYT0oxlZvj75Wp1SfBkmUy8O+1jONIE1+OhLslxke
WdFMmDrH8AiRU0q19bGEsKDqUWt58UV7GL26+QZbQWjhz7fWzI6ljftgshmXQozI
3725Y2AVQR3U4BaFNiFrJQECPYLB/yypf8OCsZjspERb+d4J7CXfk5mVkFFAOj7N
5UQv0u+dMVJAP3OCVdEibjXc/c4qPPxLUioAqN8MbixM1OzZDOH55K/oJdRoGyIG
mfWU1lToNDCSi7BSqXjPGC+DMDjFc4QfnBFJfV0301GvLshuw+b/r8qJNfxkYkk4
zK/sgbPlXPL032aM4ohPBBgRAgAPBQJI9UkKAhsMBQkJZgGAAAoJEJlpD3yHCMV4
JQMAnA21n/10YG9hXHrUEel1HTFcU+opAJ9KlShcMzJoLI5VVIqfJTa8y/GE+Q==
=L39p
—–END PGP PUBLIC KEY BLOCK—–
Click here to download this as key as a file
Comments Off // Posted on // Uncategorized