I have been building a grails application for quite a while with dummy data using MySQL server, this was eventually supposed to be connected to Greenplum DB (postgresql cluster). But this is not feasible anymore due to firewall issues.
We were contemplating connecting grails to a CSV file on a shared drive( which is constantly updated by greenplum DB, data is appended hourly only) These CSV files are fairly large(3mb, 30mb and 60mb) The last file has 550,000+ rows. Quick questions:
1. Is this even feasible? Can CSV be treated as a database and can grails directly access this CSV file and run queries on it, similar to that of a DB?
2. Assuming this is feasible, how much rework will be required in the grails codes in Datasource, controller and index ( Currently, we are connected to Mysql and we filter data in controller and index using sql queries and ajax calls using remotefunction)
3. Will the constant reading( csv -> grails ) and writing (greenplum -> csv) render the csv file corrupt or bring up any more problems?
4. Is it possible to use some other RDBMS or MongoDB (NOSQL) where I can store my CSV files, but this will then become a prerequisite for every user who wants to use my deployed app (WAR file, grails app will be used by multiple users) Is there a way where users don't have to install any other softwares except the WAR file only and use it then?
5. Lastly, is it possible to store the CSV files in the default H2 DB of grails and constantly update/schedule it using quartz?
I know this is not a very robust method, but I really need to understand the feasibility of this idea. Can grails function without any DB and merely a CSV file on a shared drive accesssible to multiple users?