Graph processing engines
To select the right technology for a graph processing engine, it is crucial to estimate the size in memory of the network compared to the capacity of the target architecture. You can start by using simple frameworks that allow fast prototyping during the first phases of a project when the goal is to quickly build a minimum viable product (MVP).
Such frameworks can then be substituted for more advanced tools later on when performance and scalability become more crucial. A microservice modular approach and proper structuring of these components will allow the switching of technologies/libraries independently from the rest of the application to target specific issues, which will also guide the choice of the backend stack.
Graph processing engines require information for whole graphs to be accessed quickly, such as having all of the graph in memory, and, depending on the context, you may need distributed architectures. As we saw in Chapter 1, Getting Started...