Comments (3)
https://github.com/BBVA/raft-badger
Looks promising..
from chai.
This is a much preferred implementation of a raft framework.
It also supports the new pebble store
https://github.com/lni/dragonboat
from chai.
To have a scalable system with raft, even multiraft, isn't very straight forward. There is quite a bit to consider. MIT 6.824: Distributed Systems can abridge some of this knowledge for anyone not in the know right now.
What should the FSM do? If it is only doing GET/PUT/DEL operations, the database is only highly available. This wont help with scaling data distribution or read/write scaling. It would only be useful as a locking system, from which coordination can be done in addition to.
Assuming that multiraft is used, one group would still need to maintain coordination of other groups. An entire system schema is necessary for that to work effectively.
The common problems to solve for multiraft are:
- how to handle coordination? (the answer is always some form of distributed locking and placement driver)
- scaling reads and writes (each group is fully replicated, think write amplification)
- handling transactions (sometimes these are partitioned to their own raft groups OR timestamping with 2Phase commits on top of MVCC)
from chai.
Related Issues (20)
- genji.IsNotFoundError should include errs.ErrDocumentNotFound HOT 1
- Distributed Go app making use of your DB HOT 2
- How to write sql "group by"/"order by" multi columns?
- versions of object fields HOT 1
- strict schema for ARRAY during CREATE TABLE possible? HOT 1
- UPDATE ... SET * = ... to change the complete document HOT 1
- Does genji support join feature? HOT 2
- Scanning results inside iteration (Result.Iterate, document.ScanIterator) is completely broken HOT 7
- Genji crash with docker compose shared volume HOT 1
- encryptedFile does not implement vfs.File (missing method Preallocate) HOT 1
- insert schemaless row exeption: xxxx not found HOT 3
- table.Info.DocidSequenceName sometimes gets wrong code when insert HOT 4
- The table is deleted, why is the space not freed HOT 1
- v0.15.2 - panic: close of closed channel in peeble HOT 2
- flaky test: drop table HOT 2
- Functions: COALESCE
- Didn't find it in the docs: approx. level of SQL compatibility?
- Add/Expose option to scan a reflect.Value
- Scan: unsupported type reflect.Value. parameter is not a valid reference
- Concurrent INSERT statements hanging 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 chai.