Skip to content

Index layer overhaul plan

Paul Haesler edited this page May 13, 2022 · 2 revisions

ODC Index layer overview

Work is now underway, lead by to overhaul the ODC index layer to support Enhancement Proposals:

Work Plan and Current Status:

  • Separate index driver API definition from the implementation of the default index driver (DONE: #1226)
  • Modularise default index driver into a separate Python sub-package (DONE: #1231)
  • Implement "null" index driver - an index driver that presents an always-empty index. (Validates driver abstraction layer, potentially useful for ODC use-cases that do not make use of the index. (DONE: #1236)
  • Implement an "in-memory" index driver that presents a fully-functional but transient index that runs purely in memory and does not persist beyond the lifetime of the Datacube instance. (UNDERWAY)
  • Rework and refinement of the index driver API to support new features, as discussed in ODC-EP03. Aim would be to maintain 100% backwards compatibility of the default drive, with the in-memory driver being the test-bed for validating approaches and determining how much backwards compatibility will be possible with future persistent index drivers. Ideally the in memory driver will fully support both the legacy API and the future enhanced API. Once full simultaneous compatiblity of both APIs becomes impossible, a configuration option would allow switching between the two APIs once full compatibility becomes impossible.
  • Development of a new geotemporal search-optimised index driver based on PostGIS.
  • Bless the new PostGIS driver as default index driver and relegate the old PostGres driver as a legacy driver. (ODC v2.0.0 release)

This is presented as a linear progression of tasks, but in the real world, there will be regular revisiting and refinement of earlier steps as work progresses.

SUPERCEDED

This plan has been superceded by the more detailed ODCv2 Road Map