views:

42

answers:

3

I have a rather large amount of data (100 MB or so), that I would like to present to a user. The format of the data is similar to the following...

Date              Location      Log File          Link
03/21/2010   San Diego   some_log.txt   http://somelink.com
etc

My problem is that I would like to have some nice/slick way for the user to filter the information. Unfortunately, because there is so much of it, the jQuery Table Filter plugin does not work (crashes the browser). I was wondering if there is a nice solution or if I have to simply do the filtering on the server end and have a bland pull-down menu / select-box interface for the client to use.

A: 

Use paging. (Maybe a little ajax).

Corey Hart
+1  A: 

100MB is pretty huge. You don't want to transfer all that data at once to the client side on a single request and then do the paging/filtering/sorting actions over there. It would take ages to transfer it and it would eat all the client's memory. Rather do that entirely at the server side on every request using SQL powers. SQL can do it much more efficient than Java/JavaScript. I've posted a similar answer with more technical details and code examplpes before here.

BalusC
This is on an intranet, so 100MB might seem like a lot, but it downloads rather quickly. The real issue is that it is a bit too much for the browser to handle all at once (obviously). The other issue is that this information doesn't reside in a database! Otherwise I would be able to use your SQL solution quite nicely.
prometheus
I would then consider storing it in a SQL capable datastore. That's pretty much the only which excels in this kind of jobs.
BalusC
A: 

If the browser has Google Gears installed for its DB API or supports HTML5's Web SQL Database (e.g. Opera 10.5+), you can import all the data into a client-side SQL database and perform the sorting+paging queries with SQL.

orip