Engine #55
Replies: 5 comments 15 replies
-
This part looks weird to me. If txn1 and txn2 operate on the same collection of And if either of the txn in a collection fails, how can we know which txn failed? |
Beta Was this translation helpful? Give feedback.
-
@huachaohuang Have you considered adding condition checks in Txn? |
Beta Was this translation helpful? Give feedback.
-
On database domain, data migration, replication, or general stream processing require stream api or observable data structure. It seems the design above omits this part. |
Beta Was this translation helpful? Give feedback.
-
To make the ideas more clear, I add a simple example to demonstrate the possible usage here. |
Beta Was this translation helpful? Give feedback.
-
From #99 (comment) we encountered a situation where the same API name can imply different semantic and probably require to be configured (hints). I'd like to share the client API design from Apache Curator which allows fruitful configuration on mutation or query. |
Beta Was this translation helpful? Give feedback.
-
Applications can use different data APIs to manipulate data in Engula. We can provide some common APIs like map, hash map, queue ...
An example usage may be like this:
We should also support cross-collection transactions. For example:
We may also have nested data types like
HashMap<Bytes, List<Bytes>>
, but the API needs some further design.The benefits of such APIs are multi-fold:
The implementation of these APIs can be very similar:
Journal
WriteBuffer
WriteBuffer
to aStorage
when they see fitBeta Was this translation helpful? Give feedback.
All reactions