Comments (5)
Hi,
JDBM currently have those layers (from consumer down to raw disk)
- collection with index (BTree, HTree)
- instance cache
- serialization
- primitive record key-value store (long as key, byte[] as value).
- disk store (ram, zip, file)
And if I understand correctly, this proposal is about JDBM using alternative implementations at level 4. I think this is very good idea and will definitely implement it.
My idea is: JDBM will export one more interface called RecordManager with methods like this:
long insert(byte[]) //insert new record, returs recid
void delete(long) //delete record by recid
void update(long,byte[]) //update record with given recid with new data
boolean supportTransaction()
void roolback()
void commit()
User may supply alternative implementation in DBMaker. In this case JDBM will use other db as back-end, but user will still get instance cache, collections, serialization and other honey JDBM provides.
Only problem is that I am not going to write wrapper for DynamoDB (have no access to Amazon WS). Reference wrapper implementation will use LevelDB or Tokyo Cabinet. JDBM will also still support only single transaction per store.
ETA 2 weeks.
from jdbm3.
Thank you for the reply! I'll check back in a couple of weeks.
from jdbm3.
Hi,
JDBM now has very basic support for alternative key-value stores. Checkout RecordManager interface to give you some basic understanding. But it is still not finished.
https://github.com/jankotek/JDBM3/blob/master/src/main/java/net/kotek/jdbm/RecordManager.java
from jdbm3.
I decided not to implement this. Multiple key-value would complicate design too much. I reverted previous GIT commit
from jdbm3.
ok, thanks for letting me know.
from jdbm3.
Related Issues (20)
- Not Serializable Exception HOT 1
- Corruption of index files (double get and IndexOutOfBounds errors) HOT 8
- Found setting where I lose part of a List value 'silently' HOT 1
- DB.defrag(false) ALWAYS increases the size of i.0 file HOT 1
- java.lang.OutOfMemoryError: Map failed HOT 3
- I'm confused about the record, slot, page, physical and logical list. Is there any document?
- Not working with JDK11
- BTree.java is a b plus tree or b tree?
- is someway to repair corrupt data file ? HOT 1
- JDBM and Scala HOT 5
- TreeMap#size() returns wrong values after rollback
- DBMaker#openFile should take a "File" as argument HOT 1
- Support serializing/deserializing Hadoop keys and values HOT 1
- java.lang.OutOfMemoryError: Map failed HOT 2
- NPE on Array deserialization
- floorEntry on BTreeMap behaves incorrectly on border cases
- Null retrieval of inserted keys HOT 1
- Unable to add an element to the beginning of a list HOT 1
- Does not work with JodaTime
- deserialization of HashSet fails HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jdbm3.