Topic: multi-stage user interaction with big data but no models

Hi all,

I am new to Rails and have a question about architecture of a project which essentially is a UI for an OLAP kind of a system, except that I am trying to keep it simple and cheap (i.e. no huge databases with multidimensional schemas).

OK, now I think a disclaimer is in order: I understand that RoR is MVC, and so doing things with data which is not represented by model(s) is not quite normal. But I still think there are cases where you just can't store all the data in models.

So, basically, I have a lot of data, which has many dimensions. And what I need is a UI which will ask user to provide definitions of the

... oops. somehow half the post didn't make it through =( Editing for the missed content:

... so, the point is: Users will need to answer several (i.e. 2 or more) questions about the dimensions of the "slice" of the data cube (or a hypercube). Each answer will restrict the data which will be rendered to them in the end - and the second question will depend on the answer to the first one, and so on. And, naturally, I want to be able to keep data between these steps. And rails actions don't exactly share variables - which in my case will be nested hashes up to 100MB in size. So I am trying to figure out how to organize this...

Last edited by alexakarpov (2011-03-29 18:42:00)

Re: multi-stage user interaction with big data but no models

I think a fantastic new way of persisting sort of ad-hoc/mushy data is MongoDB and specifically the Mongoid ORM(or ODM I think they call it). Basically you just write your schema in a DSL in the classes themselves and code away. There are no migrations or other schema management to worry about

There are risks in using something new and less structured like this, but if a rigid RDBMS isn't what you want Mongoid just might be

Re: multi-stage user interaction with big data but no models

Thanks pogodan. I will look into it. I take it, this MongoDB can exist parallel to the "normal" DB to which my Rails app is hooked up? (I mean, I don't store the OLAP data in a DB, but I do have some models which are persisted in a DB).

What does Mongo feel like? How does it store things? Are records somehow keyed of a session id?