GithubHelp home page GithubHelp logo

Comments (4)

ltamasi avatar ltamasi commented on April 28, 2024

For example, I have a rocksdb instance that is open in read/write mode all the time and is being written to/read from all the time. I have a separate cronjob (different process) that opens rocksdb in read only mode
...

Questions:

  1. in my specific use case, is taking a checkpoint and processing that from a different process better? If so why?

Generally speaking, using a read-only instance this way is not safe/supported: the read/write instance can delete files (e.g. SST files that get compacted away) from underneath the read-only instance. Checkpoints ensure that all the files necessary for a consistent snapshot of the database are preserved (by copying or hard-linking them).

  1. I assume the comment about keeping the iterators short lived still applies even when opening rocksdb in read only mode as it will pin the resources in the process that has the db open in read/write mode?

Having a read-only instance open has no effect on the read/write instance, so files are not protected from being deleted (see above).

from rocksdb.

zaidoon1 avatar zaidoon1 commented on April 28, 2024

got it, so aside from the possible consistency issue, is there any performance benefits of using checkpoint over read only instance for my use case?

from rocksdb.

ltamasi avatar ltamasi commented on April 28, 2024

In general, checkpoints do not offer a performance benefit. They don't have much of a performance overhead either though (other than copying certain types of files where hard linking is not appropriate), so I would suggest using them in use cases like this for the sake of correctness.

from rocksdb.

zaidoon1 avatar zaidoon1 commented on April 28, 2024

got it, thank you!

from rocksdb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.