You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ka...@apache.org on 2014/05/09 12:27:02 UTC

svn commit: r1593510 - in /directory/site/trunk/content/mavibot/user-guide: 1.1-btree-basics.mdtext 2-btree-types.mdtext

Author: kayyagari
Date: Fri May  9 10:27:02 2014
New Revision: 1593510

URL: http://svn.apache.org/r1593510
Log:
minor edits

Modified:
    directory/site/trunk/content/mavibot/user-guide/1.1-btree-basics.mdtext
    directory/site/trunk/content/mavibot/user-guide/2-btree-types.mdtext

Modified: directory/site/trunk/content/mavibot/user-guide/1.1-btree-basics.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/mavibot/user-guide/1.1-btree-basics.mdtext?rev=1593510&r1=1593509&r2=1593510&view=diff
==============================================================================
--- directory/site/trunk/content/mavibot/user-guide/1.1-btree-basics.mdtext (original)
+++ directory/site/trunk/content/mavibot/user-guide/1.1-btree-basics.mdtext Fri May  9 10:27:02 2014
@@ -22,13 +22,13 @@ Notice: Licensed to the Apache Software 
 
 # 1.1 - B-tree Basics
 
-**B-tree** was invented back in 1971 by **Bayer** and **McCreight**  (the **B** does not main anything know, speculations are that it comes either form the **B** of **Bayer** or from **Boing** they were working for back then). It was an extension to binary search tree, which was just able to store 2 elements per page.
+**B-tree** was invented back in 1971 by **Bayer** and **McCreight**  (the **B** does not mean anything known, speculations are that it comes either form the **B** of **Bayer** or from **Boing** they were working for back then). It was an extension to binary search tree, which was just able to store 2 elements per page.
 
 A **B-tree** is a "tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time." (see [Wikipedia](http://en.wikipedia.org/wiki/B-tree))
 
 The important point here is the last one : it guarantees **O(logn)** operations, compared to any other data structures (a hashed data structure offers **O(n)** average operations, but can degenerate to **O(n2)**, and ordering is not kept. But there is more : by gathering N elements in a page, which leads to  more comparisons than necessary, but still save a lot of disk accesses, as those comparison will be done in memory when a page is fully loaded. That's the reason for **B-trees** to have been invented. 
 
-**B-trees** are everywhere : databases, OS, etc. It's a critical data structure when you are to deal with a huge number of data.
+**B-trees** are everywhere : databases, OS, etc. It's a critical data structure when you are to deal with a large set of data.
 
 1.1.1 - Inside a B-tree
 
@@ -46,7 +46,7 @@ A few more rules are enforced :
 
 1.1.2 - Concurrent access
 
-The real problem with **B-trees** is that we need to use some locks to allow concurrent access to the data, especially when some updates occur. The rational is that when browsing a **B-tree**, changing it will just break the browse operation. There are some technics to avoid having such an issue, up to a point no read locks are needed, assuming some extra information is added to the pages : a pointer to the next page at the same level. Sadly, it comes with drawbacks, like it's difficult to remove empty pages from the **B-tree**.
+The real problem with **B-tree**s is that we need to use some locks to allow concurrent access to the data, especially when some updates occur. The rationale is that when browsing a **B-tree**, changing it will just break the browse operation. There are some technics to avoid having such an issue, up to a point no read locks are needed, assuming some extra information is added to the pages : a pointer to the next page at the same level. Sadly, it comes with drawbacks, like it's difficult to remove empty pages from the **B-tree**.
 
 
 

Modified: directory/site/trunk/content/mavibot/user-guide/2-btree-types.mdtext
URL: http://svn.apache.org/viewvc/directory/site/trunk/content/mavibot/user-guide/2-btree-types.mdtext?rev=1593510&r1=1593509&r2=1593510&view=diff
==============================================================================
--- directory/site/trunk/content/mavibot/user-guide/2-btree-types.mdtext (original)
+++ directory/site/trunk/content/mavibot/user-guide/2-btree-types.mdtext Fri May  9 10:27:02 2014
@@ -34,15 +34,15 @@ You have many different flavors of **B-t
 
 ## 2.1 - B+tree
 
-This is a **B-tree** which does not store values in the **Nodes**, and a link between **leaves** is added, to fasten the browsing : no need to go up to the parent's node to get the next value when reaching the end of a leaf. Also the **nodes** don't contain value anymore.
+This is a **B-tree** which does not store values in the **Nodes**, and a link between **Leaves** is added, to speed up the browsing : no need to go up to the parent's node to get the next value when reaching the end of a leaf. Also the **nodes** don't contain values.
 
 ## 2.2 - B*tree
 
-A slightly different form of **B+tree**, where the number of element per page is enforced to be at leat 2/3rd of the maximum numbers of elements the page can hold. It fasten a bit the retrieval of elements, as we have a denser tree.
+A slightly different form of **B+tree**, where the number of elements per page is enforced to be at leat 2/3rd of the maximum numbers of elements the page can hold. It speeds up the retrieval of elements a bit, as we have a denser tree.
 
 ## 2.3 - Counted B-tree
 
-Another slightly different implementation of a **B+tree**, where the number of elements stored in the descendants is stored withing each key. This allows an easy count of elements on the left and right to any element, at the price of a additional piece of information being added on each page.
+Another slightly different implementation of a **B+tree**, where the number of elements stored in the descendants is stored within each key. This allows an easy count of elements on the left and right to any element, at the price of additional piece of information being added on each page.
 
 ## 2.4 - MVCC B-tree
 
@@ -50,8 +50,8 @@ This is a new 'style' of **B+tree**, whe
 
 In other words, you may have many reads at the same time, still being able to update the data.
 
-It comes to a price though : a lot of pages are copied for every updates, as we create a new copy of every modified pages, up to the root page. 
+It comes with a price though : a lot of pages are copied during every update, as we create a new copy of every modified page, up to the root page. 
 
-We also have to manage old pages that can be removed as they belong to unused versions, which requires an extra work.
+We also have to manage old pages that can be removed as they belong to unused versions, which requires some extra work.
 
 **Mavibot** is a Java based implementation of a **MVCC B+tree**.
\ No newline at end of file