When: Friday, October 24, at 14.00
Where: PCRI building, room 445
Who: Dan Olteanu, associate professor at University of Oxford
Title: *Yo Dawg, We Heard You Like Datalog Engines* … so we put a Datalog engine inside your Datalog engine, so you can derive while you derive!
The emerging category of smart database systems aims for integrated handling of mixed transactional and analytical workloads (aka HTAP), graph analyses, and predictive workloads that involve mathematical optimization and machine learning. Having such an integrated system is enormously useful for application developers, but building one poses formidable engineering and language design challenges. In this talk, I briefly overview the LogicBlox smart database system and its Datalog-based language LogiQL, then zoom in and focus on one such technical challenge I’ve worked on in my sabbatical at LogicBlox: the problem of handling updates to LogiQL programs on running database servers. This problem turns out to be surprisingly difficult, but fairly crucial to solve properly in the system for reasons which I shall explain. The solution I present is based on introducing an engine for meta-data supporting declarative rules in an object-oriented, Datalog-like language. Incremental view maintenance in the meta-engine takes care of propagating the effects of LogiQL code updates correctly and efficiently. This is joint work with TJ Green, Todd Veldhuizen, and the LogicBlox runtime team.