Peter Alcibiades wrote:
Maybe I don't understand the question (does happen!) but isn't the answer something like this.

1) Once data storage gets serious, more than a few thousand records, Rev alone is not what to do it in. If you want to do the rest of the app in Rev, you have to add a real database. This means sqlite, mysql (if you need multi user and networked), Valentina, whatever. The issue is not one card versus many, the issue is tab delimited fields versus real databases.

True. If you need a database, Rev has connections available for a wide variety of them, including SQLite, MySQL, Valentina, Oracle, and ODBC for everything else.

But as Mark Smith noted, you may be pleasantly surprised by what you can do with storing data in custom property sets. One could use text files as well, but I tend to use properties so I can have metadata containing field names, types, and sizes in a separate property set from the data itself. I regularly work with data sets from 100 to 50,000 records this way.

Using "repeat for each..." I can search at the rate of 98,000 records per second for a single-criterion search, and more than 34,000 records per second for a three-criteria search. I can extract a single column at the rate of about a million records a second (for field 7; 1.4 million for field 1), and return only unique values in that column at about three-quarter-million records per second. And that's using a generalized (read "slower than is possible") method on a modest Mac. On a top-of-the-line Wintel box I would imagine one can nearly double that.

For smaller data sets of about a thousand records or so, one can still use cards if desired. I prefer the flexibility of separating code from presentation, but for quick-n-dirty solutions using cards can be convenient.

Being able to handle data up to 50,000 records in Rev alone is not bad, and having the connectivity to a variety of well-honed DBMS engines is even better.


2) If data storage retrieval and reports is the primary or only need, its incredibly much quicker to do that sort of thing to some level in Filemaker, but it may not come for your OS and has other limitations. But you do get point and click relational database and report construction. This is a real issue about Rev + sqlite, but its also an issue about alternatives to Rev + sqlite.

FileMaker is in a class by itself for ease of use, and I've seen a few projects done in Rev, even commercial ones, that might well have benefited from having been done with FMP instead. It's a good tool, and if it does what a project needs it can be a very good choice.


3) Even if you can live with tab delimited files for storage, getting reports out of them in Rev is not much fun So you have to add Quartam. Or Perl or Awk. This too is much easier and quicker in FM. But the same comment applies to the alternatives to Rev.

True, reporting in most 4GLs is done through commercial add-ons. VB uses Crystal Reports, HyperCard used Reports Data Pro, and Rev uses Quartam.

That said, I've rolled my own reporting as needed, since my apps tend to have specialized needs, and they've been acceptable in both cost and performance. Though I don't have the direct experience to say with certainty, I would venture to guess that rolling one's one reporting tools would be more costly in VB by at least a factor of two, and perhaps an order of magnitude in Java.


Is there a gui package (except the database packages with end user pretensions like FM) that does data storage and retrieval and reporting much better than Rev? Most seem to be a lot worse. Python for instance, I think you have to use a real database for just about any storage. Nothing is perfect.

This is my own case: 15-20k records of sales during the fiscal year. I accumulate them (with some trepidation) into an external tab delimited text file. Then we need to go through and extract sales by product by month for some 200+ items. After a prolonged meditation on switch, if and repeat, and the prospect of creating a 200 x 12 matrix of fields with each one individually named and scripted, I broke out "Effective Awk Programming". Its like reaching for a plane, after trying to get a smooth finish with a chisel. But chisels have their uses too, and are often the right tool for the job. Don't try doing a mortise with a plane!

Well, please correct if this is not right.

I think you summed it up well. If one needs a database, use a database. If FMP, or even Bento (FileMaker Inc.'s new ultra-simple DB product) will do the trick, it'd be a shame not to use it.

And if one needs more flexibility with the UI than FileMaker accommodates, Rev can be used for tens of thousands of records natively or take advantage of its connectivity options for millions of records with any of its many DBMS engines.

--
 Richard Gaskin
 Managing Editor, revJournal
 _______________________________________________________
 Rev tips, tutorials and more: http://www.revJournal.com
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to