This content has been marked as final. Show 11 replies
I have a chart application, which currently is fetching info from an xml file using http service, i dont know whether the method, im using is reliable, as the data would be fetched in real time, & would be continuous, & maybe XML is not the right method.
so i would like to know how would i use mysql db & flex for huge data & continous realtime fetching!
can anybody help me on FDS? Any Experts
What is "huge" and do you need "push", or would periodic polling work?
The RPC data services can typically handle "very large" amounts of data very quickly.
I think you will need to do some benchmarking tests with some real sample data.
what i mean by "huge" is i'll fetch around 50000 records from mysql into an xml file,
i dont know if there is a better way.
Im using http service method to read an xml file.
I tried testing an xml file with 20000 records, the application is slow.
How much of the time is due to the dataservice call and how much is due to the rendering? Benchmark this, I think you will see that the bottleneck is the rendering.
You might look into FDS, as it supports data paging, but investigate before you decide.
Or... (since FDS is very expensive software, at least for my case)
I did create a chart that takes alot records, but, I create a WebService that takes parameters. I don't think you need all the records (50000) at once? Hopefully you are not trying to create a chart based on all those records which doesn't make sense at all. Find ways to separate those records for example based on dates, times? or something and create some user input box or combo box...
hope this helps..
thanks for the help, may be ur suggestions may help?
Now, here is what i need to know how to do this?
- how can i cache or store a query result on the client side in flex using arraycollection or objects etc ? - so that if the user queries on certain data & if it is available in the local cache (query result), flex does not need to query the server again, this would speed the process...
- Secondly, is there a way where i can have client side caching, i.e. using client side memory
I hope im able to explain you'll what i need? to summarize, i dont need continuous queries from user to server to get the data, i.e. if the user's criteria is available in a cached query result locally, it should fetch it locally, rather than connecting to the server.
Look into WebORB, it's a better option(cost wise) than FDS.
One option is to pre complie those XML data.
you can save XML data to client side caching using SharedObject.
One of application I developed using Flash is that during preload process it loads a huge XML containing product information which doesn't get updated often. So we had SQL server to pre complied the product xml and write to server but, this still slow down a bit. So, I setup a service that returns fales/true based on whether this product xml is updated or not. If not updated then load from SharedObject file if exists.
Sounds complicated but, once you start coding it's pretty simple.
hope this helps.
checked Shared objects in flex, have a limitation of 100kb for a file, so how can i store the huge chunk of fetched data through a query at a time?
- would arraycollection help.
basically what i mean is how do i locally check the data, if the data doesn't match the user criteria, then query the server.
Another point, a chart with 50,000 records may not be such a good idea. A typical screen has about 1200-ish pixels across. A line cannot be drawn narrower than a single pixel. So cramming 50,000 data points means, on average, about 41 data points per pixel.
If possible, thin out your data (average it, take median points, etc) on the server-side. Then use the interactivity of the charts to drill-down and fetch more data as needed.
There are some interesting 3rd party controls for this type of thing. Check the Adobe Exchange and other Flex-related blogs.
are there any references, examples which i can try?