Migration of existing APP to XP - 700 000 entries and counting

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 :smile:

(The customer is a Enonic customer)

// Runar

Hi Runar, interesting case.

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.

@srs will have to answer this.

Hi.

Restful routing of requests is something we are looking at. For now you have similar functionality that’s declared in xml files.

1 Like

Yes - check out the mappings definitions!