|
|||||||
Spindex - A ReviewIntroductionOne of the biggest stirs caused in the AREV community in recent years has been occasioned by the release of Spindex from Search Technologies. The product literature promises radically improved throughput on reports and retrievals and these claims are backed up by reports from the field. This review sets out to cover superficially how the product works and identifies the major benefits to be gained from the product - it does not claim to be an exhaustive review. ConclusionSpindex should be seen for what it is, not what it is not. It is purely a tool to permit the more rapid extraction of information from a database. It does this very well but at a cost to flexibility and some speed of data entry. It is a brilliant idea, with the base engine cleverly executed but with a lack of attention to detail at the front end. In this respect it is no worse or no better than most other software products. If you have speed problems with your system we would strongly recommend that you avail yourself of the Search Technologies evaluation license. The licensing policy is very unusual, in that you pay for the amount of users who actually use the software for retrieval. This can be very cost effective as everybody can update Spindex indexes whilst only those who wish to retrieve at speed use Spindex, the other requests being routed via standard AREV. We are very impressed with the product and feel that it has great potential. We look forward to the next major release. Whilst it is not our job to matchmake, it would seem that Search Technologies and Icicle Software could do far worse than to collaborate on this next release of Spindex! What does Spindex do?Spindex is essentially a suite of programs and an MFS which provide a replacement/complement for the AREV SI.MFS indexing system. At this time it does not replace relational indexing. It is used purely for the speeding up of retrievals - in this release it does not support sorting, this being handled by the normal AREV indexes or sort processor. Using Spindex some reports can be made to run up to 2 orders of magnitude quicker than their AREV equivalent, figures quoted by the manufacturer include one specific select that runs 500 times quicker than the corresponding AREV statement. How does Spindex do it?At the simplest level, Spindex places a shell program around RTP18.ENGLISH and examines the SELECT/LIST statement to work out where it can use its own indexes in preference to system indexes. As these indexes are stored in a proprietary compressed format (and as the AND and OR logic is very efficient) retrieval times can be significantly reduced. As with AREV, Spindex stores transaction records which are updated by background processing or calls to a flush routine. How well does Spindex do it?Spindex retrieves data quickly and accurately. The tradeoff is that disk writes are half the speed and index updates are much slower, although the latter can be accomplished by multiple dedicated background workstations. When building indexes however, Spindex is faster than AREV and allows indexes to be rebuilt in parallel at multiple workstations - thus permitting drastically reduced index rebuild times. The Spindex routines that parse the SELECT and RLIST commands are not 100% compatible with AREV but appear to handle "standard" instances quite well. Spindex works cleanly with EASYWRITER, however using it in a Query window requires the insertion of (supplied) subroutines. Unfortunately Spindex does not provide an equivalent for the AREV Browse Cross References window, which accesses AREV Btrees directly, but Search Technologies claims that it is on the way. A lot of thought has obviously gone into the added functionality. One of my favourite features is the ability to either refine or extend an active select list. In our benchmarking we have tried to provide a realistic view by considering the impact of Spindex on all parts of the software development and use lifecycle. Thus whilst we provide the time given to select a set of records, we also provide the time taken to READNEXT through the resulting select list. We present below our results tabulated for ease of use. BenchmarksNote that the results below should be read bearing in mind that on the REBUILD and SELECT tests, non-numeric keys were used. Spindex operates more efficiently with numeric keys and thus these results would be faster. Note further that the more hits Spindex returns for a value, the faster (proportionally) it becomes. However, version 2.0 of AREV was used and this did not permit case- insensitive searching so the results for AREV include the processing as the selected list is resolved for case. All tests performed on a Compaq Systempro 386/33 rated at 41 by Norton SI. Rebuild IndexesThree indexes were added to a database containing 55,318 records. Spindex 6 hours, 24 minutes, 22 seconds AREV 7 hours, 37 minutes, 17 seconds Adding RecordsA database having 1 field, a date, indexed. 500 records were added/deleted ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ¿ ³ ³ Add ³ Flush ³ Delete ³ Flush ³ ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´ ³ Spindex ³121.17 ³ 905.23 ³ 112.21 ³ 922.69 ³ ³ AREV ³ 64.64 ³ 30.87 ³ 65.69 ³ 29.11 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ Retrieval SpeedsDatabase of 55,318 records. Two timings, first to return from "PERFORM SELECT", second to completion of READNEXT through list. SELECT CLIENT WITH SORT_NAME = "SMITH" (130 returned) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ Finish Select ³ Finish Readnext ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Spindex ³ 7.96 ³ 14.72 ³ ³ AREV ³ 15.65 ³ 15.65 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "SMITH" "BROWN" (194 returned) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ Finish Select ³ Finish Readnext ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Spindex ³ 9.23 ³ 17.63 ³ ³ AREV ³ 21.53 ³ 21.58 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "SMITH" "BROWN" "JONES" (263 returned) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ Finish Select ³ Finish Readnext ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Spindex ³ 10.38 ³ 20.21 ³ ³ AREV ³ 27.74 ³ 27.74 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "SMITH" "BROWN" "JONES" "FR]" (730 returned) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ Finish Select ³ Finish Readnext ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Spindex ³ 18.07 ³ 34.60 ³ ³ AREV ³ 512.39 ³ 512.46 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ AS ABOVE AND WITH ADDRESS "LONDON" (130 returned) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ Finish Select ³ Finish Readnext ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Spindex ³ 18.95 ³ 25.54 ³ ³ AREV ³ 837.61 ³ 837.67 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ SELECT CLIENT WITH ADDRESS "[TON" ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ Finish Select ³ Finish Readnext ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ Spindex ³ 34.65 ³ 50.31 ³ ³ AREV ³ 495.21 ³ 495.32 ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ From these results it can readily be seen that Spindex screams when performing complex substring manipulation with ANDing and ORing, and even in normal selects, the time taken before the first record appears on screen can be significantly reduced. Bugs/Restrictions worth mentioningThere is currently a restriction on the amount of records that Spindex can handle under certain circumstances. As this is about to be lifted, contact Search Technologies direct for further details. Sorting is not currently supported by Spindex, though it will be in the next major release, as will database recovery in event of network/hardware crash. Latent lists are not supported in the test release although this has since been rectified. Date comparisons such as TODAY, NEXT TUESDAY, LAST WEDNESDAY, TOMORROW do not work. (Incidentally, LAST comparisons do not work in AREV 2.0 or 2.1 either). It is not possible to produce queries against other fields eg INV_AMT < TOTAL_COST. Multiple select cursors do not function at TCL correctly. EG SELECT CLIENT WITH NAME = "SMITH" - press F5 SELECT CLIENT WITH NAME = "JONES" - press Esc LIST CLIENT NAME - would list all JONES rather than all SMITHs. Language Set support is not included for 2.1. Users having a different language set to that of the user who established the index can still update the index. READNEXTing through a loop to conclusion does not clear the active cursor. LIST CLIENT resolves first rather than just starting to list as in AREV. Supplier Details - Search Technologies. 1916 Pike Place, Suite 1711, Seattle, WA 98101-1013. (206) 441-3220, (509) 547-8432 (Voice) (509) 943 6655 (Fax). In the UK - ICS (Sales) Ltd, 57 Kingsclere Road, Basingstoke. 0256 469460. One licence per querying workstation required. Consult supplier for prices. (Volume 3, Issue 6, Pages 9-11) |
|||||||
| |||||||