No offset-limit DataProvider for Grids

I have a really large data set, which would be pretty inefficient to list in a grid with the default limit-offset solution that’s used in the lazy data providers. Does Vaadin support any other methods (like seek), and if not where should I start on writing a custom lazy data provider?