Replies: 3 comments
-
Thanks for your proposal, this is an exciting idea! I agree with your point that:
This is exactly why OpenDAL is built up: Access data freely, painless, and efficiently We take So we have the following undocumented rules:
Let's come back to this proposal.
OpenDAL will treat
That's true. We will add this as a noted behavior for the
That's true. OpenDAL decides not to support this case hence nearly no one depends on this behavior. We can add this into behavior too.
That's true. OpenDAL should clarify that NOTE: no storage system supports this even on
As described in the previous introduction, However, OpenDAL is allowed to add new features like We will clarify the detailed behavior for every operation. |
Beta Was this translation helpful? Give feedback.
-
I think my intention is misunderstood. Proposal is not to fragment opendal layer based on backend. OpenDAL will have exactly same api and semantics for all backends. The things i listed are Thus, OpenDAL cannot create Same-way, with OpenDAL, creating For such cases, proposal is to provide a flag indicating what is the kind |
Beta Was this translation helpful? Give feedback.
-
So the problem here is you want to get a
So does this. Do you expect to get an error if |
Beta Was this translation helpful? Give feedback.
-
Service backends fundamentally vary in organizing their object space.
Backends like
fs
,solid
hasHierarchical
object space. Where asS3
, and major cloud object stores haveFlat
object space. This different leads to different semantics over operations on objects in them, like following:/
has special meaning in hierarchical space, that represents an hierarchical level. where as in flat space it doesn't have any semantics.a/b/c
with out creatinga/
,a/b/
in flat space, where as in hierarchical space we cannot. (Thus current implementation offs
service createsa/
,a/b/
`implicitly.)a/
,a
paths in flat space, where as that is not the case in hierarchical space.a/b/
with out deletinga/b/c
in case of hierarchical space. Where as in flat space, one can.These subtle differences diverges expected layout. For applications that rely on predictable layouts, it creates serious errors.
Hence proposal is to have a
object_space_kind
property with an enum inAccessorMetadata
. So that applications can customize control flow based on that if required.Beta Was this translation helpful? Give feedback.
All reactions