RE: questions about LMDB
Sorry for the wrong mail list , I will forward this request to technical list Cheers, xinxin -Original Message- From: Howard Chu [mailto:h...@symas.com] Sent: Thursday, March 19, 2015 11:52 PM To: Shu, Xinxin; openldap-devel@openldap.org Subject: Re: questions about LMDB Shu, Xinxin wrote: > Several other questions about lmdb > > 1) does lmdb store one key-value pair in a single page? How lmdb organizes > these key-value pairs in a single page > 2) if size is larger than single page size , how lmdb process this request? This list is for developers to discuss actual coding issues inside the OpenLDAP code; your questions are too elementary and don't belong here. Use the -technical list for user-oriented questions. > > Any help will be appreciated ? thanks > > Cheers, > xinxin > > -Original Message- > From: Shu, Xinxin > Sent: Thursday, March 19, 2015 3:49 PM > To: openldap-devel@openldap.org > Cc: Shu, Xinxin > Subject: questions about LMDB > > Hi list , > > Recently I read docs about lmdb , there are two sentences > 1) readers do not block writers > 2) writers do not block readers > I can understand 'readers do not block writers' , but cannot understand the > second one , can someone help explain , how lmdb achieve 'writers do not > block readers', below is my understandings , please correct me if anything > wrong. > if the access pattern is write - read, since lmdb only support two version > of data , when the write has been started but not committed , the > concurrent read may read stale data since write has not been committed. > > Cheers, > xinxin > > > -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
Re: questions about LMDB
Shu, Xinxin wrote: Several other questions about lmdb 1) does lmdb store one key-value pair in a single page? How lmdb organizes these key-value pairs in a single page 2) if size is larger than single page size , how lmdb process this request? This list is for developers to discuss actual coding issues inside the OpenLDAP code; your questions are too elementary and don't belong here. Use the -technical list for user-oriented questions. Any help will be appreciated ? thanks Cheers, xinxin -Original Message- From: Shu, Xinxin Sent: Thursday, March 19, 2015 3:49 PM To: openldap-devel@openldap.org Cc: Shu, Xinxin Subject: questions about LMDB Hi list , Recently I read docs about lmdb , there are two sentences 1) readers do not block writers 2) writers do not block readers I can understand 'readers do not block writers' , but cannot understand the second one , can someone help explain , how lmdb achieve 'writers do not block readers', below is my understandings , please correct me if anything wrong. if the access pattern is write - read, since lmdb only support two version of data , when the write has been started but not committed , the concurrent read may read stale data since write has not been committed. Cheers, xinxin -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
Re: questions about LMDB
Shu, Xinxin wrote: Hi list , Recently I read docs about lmdb , there are two sentences 1) readers do not block writers 2) writers do not block readers I can understand 'readers do not block writers' , but cannot understand the second one , can someone help explain , how lmdb achieve 'writers do not block readers', below is my understandings , please correct me if anything wrong. if the access pattern is write - read, since lmdb only support two version of data , when the write has been started but not committed , the concurrent read may read stale data since write has not been committed. This is fundamental to ACID transactions. The reader's data is not "stale" because in ACID, data doesn't actually exist until it's committed. This is what Atomicity and Isolation are all about. Sounds to me like you have never used a real transactional database before; you need to do more reading on them because this is a very basic principle. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/
RE: questions about LMDB
Several other questions about lmdb 1) does lmdb store one key-value pair in a single page? How lmdb organizes these key-value pairs in a single page 2) if size is larger than single page size , how lmdb process this request? Any help will be appreciated ? thanks Cheers, xinxin -Original Message- From: Shu, Xinxin Sent: Thursday, March 19, 2015 3:49 PM To: openldap-devel@openldap.org Cc: Shu, Xinxin Subject: questions about LMDB Hi list , Recently I read docs about lmdb , there are two sentences 1) readers do not block writers 2) writers do not block readers I can understand 'readers do not block writers' , but cannot understand the second one , can someone help explain , how lmdb achieve 'writers do not block readers', below is my understandings , please correct me if anything wrong. if the access pattern is write - read, since lmdb only support two version of data , when the write has been started but not committed , the concurrent read may read stale data since write has not been committed. Cheers, xinxin
questions about LMDB
Hi list , Recently I read docs about lmdb , there are two sentences 1) readers do not block writers 2) writers do not block readers I can understand 'readers do not block writers' , but cannot understand the second one , can someone help explain , how lmdb achieve 'writers do not block readers', below is my understandings , please correct me if anything wrong. if the access pattern is write - read, since lmdb only support two version of data , when the write has been started but not committed , the concurrent read may read stale data since write has not been committed. Cheers, xinxin