From: Derrick Stolee Date: Wed, 07 May 2025 01:00:04 GMT Subject: Re: [PATCH 02/17] object-store: rename `object_directory` to `odb_backend` Message-ID: <41f4a9f0-e758-49e5-8e88-4659966547c1@gmail.com> In-Reply-To: On 5/6/25 8:51 PM, Derrick Stolee wrote: > On 5/6/25 7:09 AM, Patrick Steinhardt wrote: >> Let's preempt this by renaming the structure to `odb_backend` now >> already. This name is agnostic of how exactly objects are stored and >> allows us to easily introduce e.g. a `files_odb_backend` and other >> specific implementations over time. > > But here's where I'll get a little nitpicky and say that these are > "odb"s not "odb_backend"s. > > * odb: a single object database. A repo can have multiple, currently >   only one that is read/write and multiple read-only alternates. > > * odb backend: an _implementation_ of an object database. This would >   be the structure that containts a vtable of implementation methods. >   Each individual 'odb' would point to a single backend describing >   how to access the data in it. > > Does that make sense? If we are going through the effort of renaming > things, I think it's worth being a little more future-proof here. And immediately upon sending this message, I went and looked at another patch and realized that the rename in Patch 1 would be confusing with 'struct object_database' containing a list of 'struct odb's. Perhaps in my head I was thinking that each repository has an "object store" which is an abstraction over possibly multiple "odb"s which each are interacted with via one "odb backend" (and there may be multiple potential odb backends in the future, but only one right now). If we want to keep the 'object_database' name from patch 1 (or replace it with 'odb' for brevity) then we might want a different name for each sub-odb. Perhaps 'odb_shard'? 'odb_slice'? Do any of these sound better? Thanks, -Stolee