Sometimes newsagencies are terrible gossipers!
Does our databases with more history cause users slower speeds? No, no and no.
Over the last few days the rumours have been flying around that one of our competitors’ can only store three months of data before the system runs slow. Him being the person he is, automatically assumed the rumour started with us. He then abused me. When I asked him to prove any of this allegation, thinking once done I could issue a denial to fix this problem I was told bluntly “It was none of my business!” Which got me wondering if it is none of my business, why contact me at all? Anyway it appears today he is still upset about this issue as he has decided to blog about it. Like me he wants to put it to rest. In a way I can understand that as it is an important issue.
If you do not understand what is the problem let me explain. Every system has two sections, one is the program which does the work and the other is the database which stores the data. The program asks the database say for stock item “NEW IDEA”, the database takes some time to wake up say X time. It then looks at its index to finds the stock item and then goes to the needed information. Obviously the more information you store the longer it takes to find the information. To simplify the problem say you have one month of history it will take X time to wake up plus Y time to find the NEW IDEA the time taken = X+Y. If you have two months it takes X time to wake up plus twice Y times to find it the time taken here = X +2 x Y. If you have three months it takes X time to wake up plus three Y times to find it the time taken here = X +3 x Y. Eventually in a retail environment where speed is so critical, you might reach a point where it just takes too long. All systems have this problem. Obviously if you are going to keep history you need to lessen Y time to the absolute minimum.
Still I suspect that this rumour has some truth to it as I do recall someone complaining here that to get a decent speed on my competitor’s system they could not store much sales history. I do know a developer that did some work on the same database. He stated that it was good but it was extremely delicate and to get decent speeds they continually fine-tuning the database otherwise the speed degradation was significant as conditions changed. Every system needed a different set up.
Since there are always two sides to a story it may not be the database! There could be many reasons that have nothing to do with the system at all. Maybe viruses or spyware. Maybe this complainer’s system ran slow with more data because the computers hard disk were fragmented and needed a defrag. Another possibility is that it was set up badly at the start with no plans for future growth. Maybe the data was full of errors. Another issue might be that his network was not properly tuned. I do not know all I can say it was the same complaint.
Anyway today I got clients contacting me with comments like “Does our system too slow down like that?” This is why I am writing this entry because obviously this rumour has spread to our clients.
Well the good news for our clients is that our software was designed to store large quantities of data from the start. That is partially why we adopted Microsoft SQL. This database was made by a huge development team. You just cannot match that effort. I could just go on and on about the advantages of this product. It was made to work in a huge organisation like government departments and banks. We are talking of the “Rolls Royce” database. The only product that I think comes close is Oracle. If someone said to me money is not an issue on a project what database would you use, I would say Microsoft SQL.
Another good piece of news because we often use servers, we simply send it to the server and your machine is ready to do the tasks you need now. Also we often scheduled many things of to run automatically at night when no-one is around. Effectively most the daily tasks take no time for you. Lastly as I stated Microsoft SQL is fast. That is why our databases can be so large.
However our old DOS system cannot do these automatic functions. On that we use an old Microsoft database which is extremely fast. On top of that we have added a QTREE. Knowing our clients often have large databases we set everything we could on that system to maximum for speed at the start. We wanted it to run fast.
With an average machine stand alone, a P4 with Windows 2000 with a database of six years of history with a large newsagency. I looked up a NEW IDEA history in less then a second. I did in the cash register sale of a “NEW IDEA” in a second. I processed 1300 customer statements in 15 seconds. I did a run sheet with 200 deliveries in fewer then 5 seconds. I processed an automatic order for a supplier with over 2000 items in fewer then 70 seconds. We do not clear old sales history from a client’s site to get faster processing speed. No-one wants to sit around waiting while the machine churns out, no-one.
So to reassure our clients we have already looked into this issue extensively.