Skip to content

Ludicrous mode in dgraph . eventual consistency  #3903

Open
@bjzhaoqing

Description

@bjzhaoqing

Ludicrous mode is available in Dgraph v20.03.1 and later.

Ludicrous mode allows a Dgraph database to ingest data at an incredibly fast speed, but with fewer guarantees. In normal mode, Dgraph provides strong consistency. In Ludicrous mode, Dgraph provides eventual consistency, so any mutation that succeeds should be available eventually. This means changes are applied more slowly during periods of peak data ingestion, and might not be immediately reflected in query results.

In dgraph, every node in the raft cluster is readable (leader and follower).

In normal mode, Dgraph provides strong consistency. When a network partition occurs, minority nodes cannot write or read.

But in Ludicrous mode,Dgraph provides eventual consistency. When a network partition occurs, minority nodes are not writable, but readable.

I would like to have this feature in the nebula graph, when I only need eventual consistency then each follower node is readable.

Take a nebula cluster consisting of three machines as an example, each machine has a meta node, a graph node and a storage node.

I would expect that when a network partition occurs, the majority nodes are readable and writable; the minority nodes are readable and non-writable.

When two machines go down at the same time and cannot be recovered, I hope that the only remaining machine can have a way to break away from the original cluster and become a new cluster to provide read and write services as soon as possible. After all, this machine has meta and storage nodes "complete data". We can expand online later

There is a possibility that the machine of the cloud manufacturer we use is a three-node nebula cluster, and the underlying host of two machines may be a physical server.

In the current nebula cluster, if two machines go down, it will take a long time for the business to recover. We focus more on avalibility, especially readability. So I need these features above.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    communitySource: who proposed the issuetype/feature reqType: feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions