![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Hi, I'm *really* new to bdb so I apologize in advance for the question. I have a db on a remote machine. Once initializated and filled up, this db is not modified anymore. I'd want to "connect" to this remote db from another machine, in a read only mode. My questions are: 1) Is replication the simplest/most correct way to achieve this? I want to focus on the point that, once created, the db is accessed *always* in read only. 2) When replication starts, is its content update driven by client's db->get()s ? In my specific aplication, I have on thread which asks for some data, the desired behaviour whould be to tell the client db to start fetching the data from the master db. If the data is already in the local copy of the db, then I use it, otherwise that get() should fail as I expect (and desire, since for this specific case I can't block until the data is ready). 3) If the db update is ::get() driven, does bdb have some kind of prefetch based on locality or have I to implement my own policy? Think to my application as a google-earth-like application. I have the data in a remote repository, then on demand a client asks for some of them and, if not already present, falls back to a lower resolution representation of the data. Thank you in advance! |
#3
| |||
| |||
|
|
On Mar 11, 8:11 pm, spatt... (AT) gmail (DOT) com wrote: Hi, I'm *really* new to bdb so I apologize in advance for the question. I have a db on a remote machine. Once initializated and filled up, this db is not modified anymore. I'd want to "connect" to this remote db from another machine, in a read only mode. My questions are: 1) Is replication the simplest/most correct way to achieve this? I want to focus on the point that, once created, the db is accessed *always* in read only. 2) When replication starts, is its content update driven by client's db->get()s ? In my specific aplication, I have on thread which asks for some data, the desired behaviour whould be to tell the client db to start fetching the data from the master db. If the data is already in the local copy of the db, then I use it, otherwise that get() should fail as I expect (and desire, since for this specific case I can't block until the data is ready). 3) If the db update is ::get() driven, does bdb have some kind of prefetch based on locality or have I to implement my own policy? Think to my application as a google-earth-like application. I have the data in a remote repository, then on demand a client asks for some of them and, if not already present, falls back to a lower resolution representation of the data. Thank you in advance! Replication maintains one or more identical copies of the database. So if the database was created on a remote machine, do you want to have a local read-only replica on the machine where you're accessing it? If not, then replication is not a solution. Can the disk/storage on the remote machine be accessed from the local machine? |
![]() |
| Thread Tools | |
| Display Modes | |
| |