Server-side processing, but using local data storage?
Server-side processing, but using local data storage?
Hi there,
I'm looking into DataTables to provide a UI across a very large data set. The users require the ability to filter and sort any column of data on demand. Datatables definitely fits the requirements for the UI aspect.
Given the amount of data (>100k rows and in some cases over >200k rows), it would seem to make sense to set Datatables to use server-side processing to offload all the filtering & sorting to our servers. The problem is that we're hosting using IBM Domino which is great at the searching part, but very slow at sorting, particularly when the back-end data is changing regularly which ours is.
So my next approach was looking at bringing the data down onto the browser and do the filtering and sorting locally (the users don't mind a few minutes of loading time, so long as the screen is fast once it is being used). Using the JS library YDN DB, I have successfully tested bringing down lots of data, indexing the relevant columns and proving it can return rows as quickly as my users require.
However, I can't see how I can make Datatables offload all of its sorting/filtering functionality using server-side processing (bServerSide=true)but not actually doing the external AJAX call. Ideally I'd like to build a custom handler code that intercepts the AJAX requests from Datatables, searches the local YDN DB for results and then returns them for display - I've tried using fnServerData but this only allows me to handle the AJAX result, not prevent the call itself.
Any ideas I might be able to use to get me started?
Thanks in advance,
Ty
I'm looking into DataTables to provide a UI across a very large data set. The users require the ability to filter and sort any column of data on demand. Datatables definitely fits the requirements for the UI aspect.
Given the amount of data (>100k rows and in some cases over >200k rows), it would seem to make sense to set Datatables to use server-side processing to offload all the filtering & sorting to our servers. The problem is that we're hosting using IBM Domino which is great at the searching part, but very slow at sorting, particularly when the back-end data is changing regularly which ours is.
So my next approach was looking at bringing the data down onto the browser and do the filtering and sorting locally (the users don't mind a few minutes of loading time, so long as the screen is fast once it is being used). Using the JS library YDN DB, I have successfully tested bringing down lots of data, indexing the relevant columns and proving it can return rows as quickly as my users require.
However, I can't see how I can make Datatables offload all of its sorting/filtering functionality using server-side processing (bServerSide=true)but not actually doing the external AJAX call. Ideally I'd like to build a custom handler code that intercepts the AJAX requests from Datatables, searches the local YDN DB for results and then returns them for display - I've tried using fnServerData but this only allows me to handle the AJAX result, not prevent the call itself.
Any ideas I might be able to use to get me started?
Thanks in advance,
Ty
This discussion has been closed.
Replies
Allan
I noticed that you don't even need to specify sAjaxSource at all - as long as bProcessing is true and fnServerData has a valid function it will work.
Now recreating the server-side processing in YDN. This part is complicated!
Thanks for your help :)
Allan