I’m doing some research about migraitng a current web application to XP.
Some facts:
Currently the application contains about 700 000 entries.
The application grows with 120 000 entries per year and the usage is growing
The application is pure REST interface that is used by a webapp and uses paging and gzip for speed and transactions.
The APP uses guava extensively to search and filtering.
Current response times is less < 1 sec. for 10 000 entries
The APP uses guava cache to store alll data in memory so I can use in memory filtering, searching +++ for performance.
My questions are:
Can XP handle these volume of entries out of the box ?
The APP need the Content APP for configuration but not for core data is it possible ?
Can we do simple searches int the complete dataset and get response times with pagination < 500ms
Will XP come with some better REST Routing setup like Node JS with Express ? The APP currently has 70+ REST endpoints that are used by UI and external APIs and must to be documented.
The goal of a migration is to have less code, easier maintenance, real time statiistics and quicker deployment and delivery.
I’m aware that a yes and no isn’t easy. But a some help on the way is appreciated
Ill try to give an answer to some of your questions
Can XP handle these volume of entries out of the box ?
I would guess that the store/search part will do ok at least, 700.000 is not a lot of data search-wise. But we need to do more testing to give a clear answer on what to expect performance-wise and if there is anything we need to fix.
If you are able to do a quick export of data as e.g a CSV I could do some testing.
The APP need the Content APP for configuration but not for core data is it possible ?
You mean that you would like to store the data not as content? We are currently working on a repository/node - API that will allow this. ETA next release.
Can we do simple searches int the complete dataset and get response times with pagination < 500ms
The search part would be trivial. The bottle-neck would be to fetch stuff from disk and parse it to objects. Im not sure about this part without doing some testing with real life data. Whats the page-size you are referring to for the <500ms, 10.000 ?
Will XP come with some better REST Routing setup like Node JS with Express ? The APP currently has 70+ REST endpoints that are used by UI and external APIs and must to be documented.