Questions tagged [durability]

Many databases implement durability by writing all transactions into a transaction log that can be played back to recreate the system state right before a failure. A transaction can only be deemed committed after it is safely in the log.

45 questions
0
votes
0 answers

How to do atomic file write & fsync to stable storage on Linux?

I'm writing a specialized database-like thingie targeting Linux. It needs to support atomic and durable modification. I'm trying to implement this using write-ahead logging, but having trouble figuring out how to properly atomically commit the log…
yuri kilochek
  • 12,709
  • 2
  • 32
  • 59
0
votes
0 answers

What are posix/linux/filesystem durability guarantees for ordered file writes?

Suppose I have a (single-threaded) program that (exclusively) opens a large file and does two non-overlapping writes: int fd = open(path, O_RDWR); pwrite(fd, data1, size1, offset1); pwrite(fd, data2, size2, offset2); close(fd); Are there any…
yuri kilochek
  • 12,709
  • 2
  • 32
  • 59
0
votes
1 answer

Making redis durable with a slave redis queue

Maybe I am missing something, this seems too simple. Is it possible to make redis durable by having a master redis node duplicate data to a slave redis node? My situation I have a REST endpoint which upon recieving a request from a client sticks the…
friartuck
  • 2,954
  • 4
  • 33
  • 67
0
votes
2 answers

Testing durability by automatically killing a C program at file/line?

I'm writing a bit of software that uses the fsync() system call to ensure a file is persisted to disk. I've done this before, and I'm aware of various "gotchas" you need to be aware of (i.e., when replacing a file, you need to fsync() the file,…
magnus
  • 4,031
  • 7
  • 26
  • 48
0
votes
1 answer

Why durable subscription can have only one active subscriber at a time

From official doc At the cost of higher overhead, you can use the Session.createDurableSubscriber method to create a durable subscriber. A durable subscription can have only one active subscriber at a time Can you explain why design was chosen…
gstackoverflow
  • 36,709
  • 117
  • 359
  • 710
0
votes
2 answers

rabbitmq-server start losing data over durable queues

On windows, when I am using rabbitmq-server start/stop commands, data over the RabbitMQ durable queues are deleted. It seems queues are re-created when I start the RabbitMQ server. If I use rabbitmqctl stop_app/start_app, I am not losing any data.…
melihcoskun
  • 326
  • 1
  • 4
  • 19
0
votes
1 answer

What happens if a Publisher terminates before receive ack?

I want to ensure that certain kind of messages couldn't be lost, hence I should use Confirms (aka Publisher Acknowledgements). The broker loses persistent messages if it crashes before said messages are written to disk. Under certain conditions,…
gabrielgiussi
  • 9,245
  • 7
  • 41
  • 71
0
votes
1 answer

Couchbase View Consistency

The following code guarantees that any given document will be saved in a durable manner to the active node in a Couchbase cluster, as well as replicated to 1 additional node: cas, err := myBucket.UpsertDura(docToStore, valueToStore, 1, 1) Given…
Paul Mooney
  • 1,576
  • 12
  • 28
0
votes
1 answer

What happens to Local SSD if the entire zone were to lose power?

What happens to data on local SSD if the entire google data center were to suffer a cataclysmic loss of power? When the compute engine instance comes back online eventually, will it still have the data on the Local SSD? It seems like it handles…
Eloff
  • 20,828
  • 17
  • 83
  • 112
0
votes
2 answers

Really durable queue in RabbitMQ

I checked "Message durability" part of RabbitMQ tutorial. But it has this note: Marking messages as persistent doesn't fully guarantee that a message won't be lost. Although it tells RabbitMQ to save the message to disk, there is still a short…
Guy Fawkes
  • 2,313
  • 2
  • 22
  • 39
0
votes
1 answer

Can I specify CAS value and durability requirements together in a store operation?

I am using Couchbase .NET SDK 1.3. The task is to store a value, provided the data under its key has not been modified in the DB since the value was read, and be sure the new value is persisted/replicated to a certain number of nodes. For…
Evgeny A.
  • 731
  • 2
  • 8
  • 19
0
votes
1 answer

Durable network communication dilemma

Lets imagine that we have a bank and an ATM. They communicate over network, which could fail. Is it possible to create a scenario, where communication between them is 100% durable. In this case it means, that: client withdrawn physical amount of…
Denis Kulagin
  • 8,472
  • 17
  • 60
  • 129
0
votes
1 answer

Durably reordering values on disk

I have a large number (100s of millions) of fixed-size values stored in a random order on a disk. I have the same set of values stored in memory, in a different order. I need to store the values in the order they are in memory, on disk. The…
Max
  • 2,760
  • 1
  • 28
  • 47
0
votes
2 answers

CouchDB's crash-only design is for durability,why?

When I research on couchDB's durability , I find that couchDB use crash-only design to get durability.But I don't know what's the relationship between crash-only and durability.
wuchang
  • 3,003
  • 8
  • 42
  • 66
0
votes
1 answer

Is Journal + Majority 100% safe?

I have been reading a few articles on MongoDB fault tolerance, and some people complain it can never really be achieved with MongoDB (like in this article: http://hackingdistributed.com/2013/01/29/mongo-ft/), and this got be confused. Can someone…
Flavien
  • 7,497
  • 10
  • 45
  • 52
1 2
3