|
|
|
|
|
by hga
5824 days ago
|
|
As far as I know ITA's QPX system has no inherent insurmountable bottlenecks, but I'm not sure Google's scale will make much difference anyway: There's a C++ backend that collects and massages the various data streams and then loads the data into an in memory database. Much of that is quite parallelizable, e.g there are various data sources, the massaging probably needs only so much global state, etc. The computational front end is an SBCL process that does its magic based on a copy of the in memory database. One process, one query at a time, that scales out very nicely. I suspect the biggest tricks besides groking the data (hard since it's so messy and special cased) and their secret sauce that does the routing is maintaining the required availability. There I suspect ITA's service/operations culture has things it can teach the corresponding Google culture. |
|