| Computers Forum Index » Computer - Databases - Berkeley » Concurrency control sequence |
|
Page 1 of 1 |
|
| Author |
Message |
| Yoshio |
Posted: Fri Apr 13, 2007 10:54 pm |
|
|
|
Guest
|
Hi guys! This my first question here.
My database need a concurrency control and I am using locks.
In tests I am using 100 Threads to insert anything in database. For
each insert I do:
-lock_id
-lock_get
-txn_begin
-db.put
-txn.commit
-lock_put
This sequence for each insert is correct?
To make checkpoint or syncs I need locks and transactions too?
I am using Python (Bindings for BerkeleyDB[1]), but I believe that
operation is not different in other languages.
[1] - http://pybsddb.sourceforge.net |
|
|
| Back to top |
|
|
|
| Florian Weimer |
Posted: Sat Apr 14, 2007 12:29 am |
|
|
|
Guest
|
* Yoshio:
Quote: Hi guys! This my first question here.
My database need a concurrency control and I am using locks.
In tests I am using 100 Threads to insert anything in database. For
each insert I do:
-lock_id
-lock_get
-txn_begin
-db.put
-txn.commit
-lock_put
This sequence for each insert is correct?
You don't need to use explicit locking when you use the transaction
data store. Just make sure that you set the DB_THREAD flag for the
environment and the databases when you use Berkeley DB from multiple
threads within the same process.
Quote: To make checkpoint or syncs I need locks and transactions too?
You might need some lock to synchronize checkpoints, log archival and
log deletion, depending on your data durability requirements. |
|
|
| Back to top |
|
|
|
| Yoshio |
Posted: Sat Apr 14, 2007 8:56 am |
|
|
|
Guest
|
On 13 abr, 16:29, Florian Weimer <f...@deneb.enyo.de> wrote:
Quote: * Yoshio:
Hi guys! This my first question here.
My database need a concurrency control and I am using locks.
In tests I am using 100 Threads to insert anything in database. For
each insert I do:
-lock_id
-lock_get
-txn_begin
-db.put
-txn.commit
-lock_put
This sequence for each insert is correct?
You don't need to use explicit locking when you use the transaction
data store. Just make sure that you set the DB_THREAD flag for the
environment and the databases when you use Berkeley DB from multiple
threads within the same process.
To make checkpoint or syncs I need locks and transactions too?
You might need some lock to synchronize checkpoints, log archival and
log deletion, depending on your data durability requirements.
I will test the transactions without explicit locking.
Thank you for help. |
|
|
| Back to top |
|
|
|
|