|
|
|
|
|
by mkramlich
5824 days ago
|
|
A Google buyout of ITA could improve things in one simple area: resources. As in, way way more. Hardware and cash. Even if Google made no significant changes to the behavior of ITA's existing code, if they instead just tweaked it to run on say millions of cores, highly distributed and parallelized in Google data centers, with gajillions of cached results -- endusers would probably be able to see better, fresher, more "long tail-y & last mile-y" and faster results. I'm just making an educated guess here, I could be wrong if there's some fundamental bottleneck in the ITA architecture I haven't considered (and someone chime in if you know that to be the case) but I don't think this will be an issue. |
|
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.