1 Reply Latest reply on Apr 13, 2012 2:58 PM by Lars Burgess

    Filter Datasets with Search

    Hector Meza

      I wanted to see if anyone has used the Search to filter very large data sets and if so, what type of performance they had?


      I have a customer with a data sets that is over 1 Million records (hundreds of MB), and we need to find one record - the size of the DB makes pulling the entire record set locally not a realistic option.  I looking at our options, Rho does provide a Search option to filter, question that I have is it realist for continuous look ups or will we be looking a large delays?


      My understanding of the process is that we add the search in the controller and in the Connect app (parameter is passed from one to the other), the RhoConnect then filters the data from the Web Service and passes it back.  Logically it make sense.


      So the 1st scenario, think Retail and large inventory - Scan and display - fairly quick response needed. 

      2nd Scenario - think ticket validation at a large sporting event  - Scan and validate then update.  All devices need rapid updates as they are looking to prevent duplicate (fraud) tickets.  This one can have bulk sync with local data but the updates need to be fast (both up and down).  Also looking for validation of performance but this would be more of a regular sync with a force (timer will not do).


      Hoping someone has gone through this and can validate that the response time is good (yes I know there are a lot of variables when performance is being considered but I need some validation).


      If someone has a working example of the Search model - that would be a big plus.



        • Re: Filter Datasets with Search

          Hello, the store and store-server examples on github (https://github.com/rhomobile/store and https://github.com/rhomobile/store-server, respectively) have a "customer" model and adapter demonstrating search.  The search method is always executed synchronously in the server (until the next version of rhoconnect when we introduce async functionality) and will return data as quickly as your adapter code and backend can process it. 


          The only real way to tell with this particular dataset would be to try it with some ruby code, a simple test of calling it in ruby in irb would be sufficient to get an idea.  We do have customers that use search extensively for very large (100MB+) datasets and it works well.  Note in some cases the backend service endpoints need to be adjusted to fit your mobile use case.