แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

2019 แƒฌแƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒ“แƒ’แƒแƒ›แƒแƒ–แƒ” Mail.ru Cloud iOS แƒ’แƒฃแƒœแƒ“แƒจแƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒœแƒแƒœแƒแƒขแƒ แƒ˜ แƒฆแƒแƒœแƒ˜แƒกแƒซแƒ˜แƒ”แƒ‘แƒ แƒ’แƒแƒ˜แƒ›แƒแƒ แƒ—แƒ. แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ”แƒ’แƒ–แƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒแƒ›แƒงแƒแƒ แƒแƒกแƒ—แƒ•แƒ˜แƒก Lightning Memory-Mapped แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ (LMDB). แƒญแƒ แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ, แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ˜แƒžแƒงแƒ แƒแƒ‘แƒก แƒ›แƒ˜แƒก แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ  แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒแƒก แƒแƒ—แƒฎ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ“. แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒแƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒแƒ แƒแƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ แƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜แƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ–แƒ”. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— แƒกแƒแƒ›แƒ˜ แƒ•แƒ”แƒจแƒแƒžแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒ•แƒแƒ–แƒ” LMDB แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ’แƒฃแƒšแƒจแƒ˜: แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒแƒ–แƒ” แƒ“แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜, B + แƒฎแƒ”, แƒแƒกแƒšแƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒ›แƒฃแƒšแƒขแƒ˜แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ“แƒ”แƒกแƒ”แƒ แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก - แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜. แƒ›แƒแƒกแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ แƒ’แƒแƒœแƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒ— แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒกแƒฅแƒ”แƒ›แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒ—, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒฃแƒ แƒ˜, แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก API-แƒก แƒ—แƒแƒ•แƒ–แƒ”.

แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก

  1. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒขแƒ˜แƒ•แƒแƒชแƒ˜แƒ
  2. LMDB แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ
  3. แƒกแƒแƒ›แƒ˜ แƒ•แƒ”แƒจแƒแƒžแƒ˜ LMDB
    3.1. แƒ•แƒ”แƒจแƒแƒžแƒ˜ #1. แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜
    3.2. แƒ•แƒ”แƒจแƒแƒžแƒ˜ #2. B+-แƒฎแƒ”
    3.3. แƒ•แƒ”แƒจแƒแƒžแƒ˜ #3. แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ แƒฉแƒแƒฌแƒ”แƒ แƒแƒ–แƒ”
  4. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก API-แƒก แƒ—แƒแƒ•แƒ–แƒ”
    4.1. แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜
    4.2. แƒ›แƒแƒ’แƒ˜แƒ“แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ
    4.3. แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ

1. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒขแƒ˜แƒ•แƒแƒชแƒ˜แƒ

แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ”แƒ แƒ—แƒฎแƒ”แƒš, 2015 แƒฌแƒ”แƒšแƒก, แƒ•แƒ˜แƒ–แƒ แƒฃแƒœแƒ”แƒ— แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒก แƒแƒ  แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ—. แƒฉแƒ•แƒ”แƒœ แƒฃแƒคแƒ แƒ แƒ“แƒ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜ แƒžแƒ แƒ”แƒขแƒ”แƒœแƒ–แƒ˜แƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒžแƒแƒกแƒฃแƒฎแƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ–แƒ”: แƒฆแƒ˜แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜, แƒกแƒ˜แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ”แƒ•แƒ แƒ“แƒ แƒ.แƒจ. แƒ’แƒแƒ–แƒแƒ›แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ’แƒแƒœแƒฃแƒชแƒฎแƒแƒ“แƒ AvitoTech-แƒ–แƒ”, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒฅ แƒ›แƒ” แƒ•แƒแƒซแƒšแƒ”แƒ• แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒแƒก.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ’แƒแƒ–แƒแƒ›แƒ•แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒชแƒ˜แƒ•แƒ˜ แƒจแƒฎแƒแƒžแƒ˜ แƒ’แƒแƒฎแƒ“แƒ. แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› แƒงแƒ˜แƒœแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒแƒ–แƒ” แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒ›แƒ”แƒขแƒ˜แƒ. แƒ—แƒฃ แƒแƒ› แƒคแƒแƒฅแƒขแƒ˜แƒก แƒ’แƒแƒชแƒœแƒแƒ‘แƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒแƒ•แƒแƒ แƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒคแƒแƒ™แƒฃแƒกแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ“แƒแƒ˜แƒœแƒแƒชแƒ•แƒšแƒ แƒ’แƒแƒงแƒ˜แƒœแƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒคแƒ แƒงแƒ˜แƒœแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ’แƒแƒแƒขแƒแƒ แƒ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ ะธ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜ แƒ›แƒแƒ—แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒ—, แƒชแƒฎแƒแƒ“แƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒขแƒ”แƒ แƒ˜ - แƒ›แƒซแƒ˜แƒ›แƒ” แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ—แƒ”แƒ›แƒแƒจแƒ˜. แƒแƒ› แƒกแƒ˜แƒ แƒชแƒฎแƒ•แƒ˜แƒšแƒ–แƒ” แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ แƒ”แƒแƒฅแƒชแƒ˜แƒ แƒ˜แƒงแƒ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒก แƒ›แƒฌแƒ•แƒแƒ•แƒ” แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜. แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒ”แƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒซแƒแƒคแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒกแƒฃแƒ‘แƒฃแƒฅ แƒ›แƒกแƒแƒฎแƒ˜แƒแƒ‘แƒ”แƒ‘แƒ–แƒ”. แƒ›แƒ” แƒ›แƒ˜แƒ•แƒฃแƒซแƒฆแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒก แƒแƒ“แƒแƒžแƒขแƒแƒชแƒ˜แƒ”แƒ‘แƒก iOS แƒกแƒแƒ›แƒงแƒแƒ แƒแƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜ แƒซแƒแƒคแƒ˜ แƒ™แƒแƒšแƒ”แƒฅแƒขแƒ˜แƒฃแƒ  แƒขแƒ•แƒ˜แƒขแƒ”แƒ แƒจแƒ˜ แƒ“แƒ แƒกแƒขแƒแƒขแƒ˜แƒ แƒฐแƒแƒ‘แƒ แƒ”แƒ–แƒ”. แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ›แƒ˜แƒœแƒ“แƒ แƒฎแƒแƒ–แƒ˜ แƒ’แƒแƒ•แƒฃแƒกแƒ•แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ› แƒแƒกแƒžแƒ”แƒฅแƒขแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ›แƒแƒช แƒ’แƒแƒ•แƒšแƒ”แƒœแƒ แƒ›แƒแƒแƒฎแƒ“แƒ˜แƒœแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒแƒ–แƒ”.

แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜ แƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ›แƒ แƒแƒ•แƒแƒšแƒซแƒแƒšแƒ˜แƒแƒœแƒแƒ‘แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ”แƒแƒ แƒ” แƒแƒ แƒกแƒ˜. แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒก แƒ›แƒแƒกแƒจแƒ˜ แƒ›แƒแƒกแƒฌแƒแƒœแƒ— แƒซแƒแƒคแƒ˜แƒก แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ™แƒ•แƒ”แƒ—แƒ. แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ›แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ”แƒœ แƒแƒ แƒ แƒฎแƒแƒœแƒ“แƒแƒฎแƒแƒœ แƒ“แƒ แƒ–แƒแƒ’แƒแƒœ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒš แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒฅแƒ•แƒแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜ แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒ. แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒแƒ แƒ›แƒแƒ™แƒ แƒ แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ แƒกแƒแƒ”แƒ แƒ—แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ. แƒ—แƒฃ แƒกแƒแƒฌแƒแƒ แƒ›แƒแƒ—แƒ แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒซแƒแƒคแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“, แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒช แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒก แƒแƒ  แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ’แƒแƒœ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒซแƒแƒคแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ แƒ“แƒ แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒชแƒ•แƒแƒšแƒ”แƒ‘แƒแƒ“แƒ˜. แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒซแƒแƒคแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ แƒแƒช แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ–แƒ”.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ’แƒแƒ•แƒšแƒ”แƒœแƒ แƒ›แƒแƒแƒฎแƒ“แƒ˜แƒœแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ–แƒ”, แƒ˜แƒงแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ API. แƒ˜แƒก แƒจแƒ—แƒแƒ’แƒแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก git แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒ—. แƒ›แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“ แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ–แƒœแƒแƒ“ แƒ“แƒแƒ•แƒ˜แƒกแƒแƒฎแƒ”แƒ— แƒฎแƒแƒ–แƒ’แƒแƒ แƒ”แƒจแƒ” แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ API, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒคแƒ แƒ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜แƒ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ˜แƒ—แƒ•แƒšแƒ”แƒ‘แƒแƒ“แƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ‘แƒ“แƒœแƒ”แƒœ แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒก แƒกแƒ แƒฃแƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒฃแƒ›แƒ”แƒขแƒ”แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒ–แƒ˜แƒ—. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒš แƒ–แƒแƒœแƒแƒจแƒ˜แƒ แƒ“แƒ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ›แƒ แƒแƒ  แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ”แƒก แƒžแƒแƒขแƒฉแƒ”แƒ‘แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ. แƒแƒ›แƒแƒก แƒแƒ แƒแƒ”แƒ แƒ—แƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒแƒฅแƒ•แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒจแƒ”แƒกแƒแƒ•แƒแƒšแƒ˜ แƒ แƒแƒ› แƒแƒ  แƒ“แƒแƒ•แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ, แƒคแƒ แƒฉแƒฎแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ•แƒขแƒแƒ•แƒ”แƒ‘แƒ—. แƒแƒฎแƒšแƒ แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ แƒ’แƒแƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒฃแƒšแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช API-แƒ› แƒ—แƒฅแƒ•แƒ "A" แƒ“แƒ แƒ›แƒ˜แƒกแƒ›แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒแƒ  แƒ—แƒฅแƒ•แƒ "B".

แƒแƒกแƒ” แƒ แƒแƒ›, แƒ—แƒฃ แƒฌแƒแƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒ’แƒ”แƒœแƒ˜แƒแƒ— git, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช pull แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒšแƒแƒ™แƒแƒšแƒฃแƒ  แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ–แƒ” แƒžแƒแƒฉแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒแƒ“แƒแƒ แƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒกแƒ แƒฃแƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก แƒกแƒ แƒฃแƒš แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒ”แƒฅแƒœแƒ”แƒ‘แƒแƒ— แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ–แƒฃแƒกแƒขแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒฎแƒ“แƒ”แƒ‘แƒ แƒฆแƒ แƒฃแƒ‘แƒ”แƒš แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒจแƒ˜. แƒแƒ“แƒ•แƒ˜แƒšแƒ˜ แƒ›แƒ˜แƒกแƒแƒฎแƒ•แƒ”แƒ“แƒ แƒ˜แƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒ แƒ˜ DOM แƒฎแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ แƒ›แƒ”แƒขแƒ-แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒกแƒ แƒ“แƒ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› แƒ—แƒฃ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก 500 แƒแƒ—แƒแƒก แƒคแƒแƒ˜แƒšแƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ แƒ˜ แƒฎแƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒ“แƒ’แƒฃแƒ แƒ”แƒ‘แƒ 1 แƒ›แƒ˜แƒšแƒ˜แƒแƒœแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒ—. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒแƒ แƒ˜แƒก แƒแƒ’แƒ แƒ”แƒ’แƒแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฅแƒ•แƒ”แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒก. แƒแƒ› แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒ›แƒแƒกแƒแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒžแƒ แƒแƒคแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜. แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”แƒช แƒ™แƒ˜, แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒ›แƒชแƒ˜แƒ แƒ” แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒœแƒแƒ“แƒ’แƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒซแƒ•แƒ˜แƒ แƒ˜ แƒฆแƒ˜แƒ แƒก.แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒก แƒแƒ›แƒซแƒ˜แƒ›แƒ”แƒ‘แƒก แƒ˜แƒก แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ“แƒ˜แƒก แƒ“แƒ˜แƒ“ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒจแƒ˜. แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ— แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒ™แƒ แƒ˜แƒขแƒ”แƒ แƒ˜แƒฃแƒ›แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒกแƒแƒก - CRUD แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜แƒ.

  1. แƒซแƒแƒคแƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ.
  2. แƒ›แƒ แƒแƒ•แƒแƒšแƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒ แƒ”แƒ‘แƒ. แƒœแƒแƒ™แƒแƒ แƒœแƒแƒฎแƒ”แƒ•แƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒ—, แƒ แƒแƒ—แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒซแƒแƒคแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ แƒ“แƒ iOS แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก.
  3. แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒชแƒ•แƒแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ
  4. แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒ CRUD แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜.
  5. แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ACIDแƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜: แƒแƒขแƒแƒ›แƒฃแƒ แƒแƒ‘แƒ, แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ‘แƒ, แƒ˜แƒ–แƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒแƒ‘แƒ.
  6. แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ–แƒ”.

แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒ› แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—, SQLite แƒ˜แƒงแƒ แƒ“แƒ แƒแƒ แƒ˜แƒก แƒ™แƒแƒ แƒ’แƒ˜ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜, แƒฌแƒแƒ•แƒแƒฌแƒงแƒ“แƒ˜ แƒฌแƒ˜แƒ’แƒœแƒก "LevelDB-แƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ". แƒ›แƒ˜แƒกแƒ˜ แƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ— แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒ แƒกแƒแƒแƒ แƒ˜แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ แƒœแƒ˜แƒจแƒแƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ“แƒแƒ แƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ—แƒแƒœ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒกแƒชแƒ”แƒœแƒแƒ แƒ”แƒ‘แƒจแƒ˜. แƒจแƒ”แƒ“แƒ”แƒ’แƒ›แƒ แƒ’แƒแƒ“แƒแƒแƒญแƒแƒ แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒ˜แƒ“ แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒก. แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ–แƒ” - แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒแƒ–แƒ” แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ - LMDB แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ 10-แƒฏแƒ”แƒ  แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ•แƒ˜แƒ“แƒ แƒ” SQLite. แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒแƒจแƒ™แƒแƒ แƒ แƒ’แƒแƒฎแƒ“แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

2. LMDB แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ

LMDB แƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ, แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒชแƒ˜แƒ แƒ” (แƒ›แƒฎแƒแƒšแƒแƒ“ 10K แƒฎแƒแƒ–แƒ˜), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒแƒ‘แƒแƒš แƒคแƒฃแƒœแƒ“แƒแƒ›แƒ”แƒœแƒขแƒฃแƒ  แƒคแƒ”แƒœแƒแƒก - แƒกแƒแƒชแƒแƒ•แƒก.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ› LMDB-แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ SQLite-แƒ—แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ›แƒแƒฆแƒแƒš แƒ“แƒแƒœแƒ”แƒ”แƒ‘แƒก, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒกแƒฌแƒแƒ แƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” SQLite Core Data-แƒ˜แƒ—. แƒฃแƒคแƒ แƒ แƒกแƒแƒ›แƒแƒ แƒ—แƒšแƒ˜แƒแƒœแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒ˜ แƒซแƒ แƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ - BerkeleyDB, LevelDB, Sophia, RocksDB แƒ“แƒ แƒ.แƒจ. แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒช แƒ™แƒ˜, แƒกแƒแƒ“แƒแƒช LMDB แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช SQLite-แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒซแƒ แƒแƒ•แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒกแƒ”แƒ—แƒ˜ แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ˜ 2012 แƒฌแƒ”แƒšแƒก แƒ’แƒแƒแƒขแƒแƒ แƒ แƒแƒ•แƒขแƒแƒ แƒ˜ LMDB แƒฐแƒแƒ•แƒแƒ แƒ“ แƒฉแƒฃ. แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜ แƒ˜แƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ“แƒแƒ›แƒแƒ˜แƒœแƒขแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒขแƒ˜แƒ•แƒ OSS-แƒ˜แƒก แƒ”แƒœแƒ—แƒฃแƒ–แƒ˜แƒแƒกแƒขแƒ”แƒ‘แƒ›แƒ แƒแƒ˜แƒขแƒแƒชแƒ”แƒก แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ แƒ˜แƒžแƒแƒ•แƒ”แƒก. LumoSQL. 2020 แƒฌแƒšแƒ˜แƒก แƒ˜แƒแƒœแƒ•แƒแƒ แƒจแƒ˜ แƒแƒ› แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒ แƒ“แƒ”แƒœ แƒจแƒ˜แƒ แƒ”แƒ แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ˜แƒก LinuxConfAu-แƒ–แƒ”.

LMDB-แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒซแƒ แƒแƒ•แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ—แƒแƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ’แƒœแƒแƒ‘แƒแƒก แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒก แƒ”แƒ•แƒแƒšแƒ”แƒ‘แƒ OpenLDAP, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“ แƒฃแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒแƒœแƒ˜ แƒ˜แƒงแƒ•แƒœแƒ”แƒœ BerkeleyDB-แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ—แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜. แƒฃแƒ‘แƒ˜แƒซแƒ’แƒ”แƒ‘แƒก แƒ›แƒแƒจแƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ—แƒแƒ•แƒ›แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ แƒ‘แƒฎแƒ”แƒฐแƒแƒ•แƒแƒ แƒ“ แƒฉแƒฃแƒ› แƒจแƒ”แƒซแƒšแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒ แƒแƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ. แƒ›แƒแƒœ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ’แƒแƒ แƒ˜ แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒฃแƒซแƒฆแƒ•แƒœแƒ แƒแƒ› แƒแƒ›แƒ‘แƒแƒ•แƒก, แƒแƒกแƒ”แƒ•แƒ” LMDB-แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก. "แƒ”แƒšแƒ•แƒ˜แƒกแƒ”แƒ‘แƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒฅแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ". แƒšแƒ”แƒแƒœแƒ˜แƒ“ แƒ˜แƒฃแƒ แƒ˜แƒ”แƒ•แƒ˜ (aka แƒ˜แƒšแƒ”แƒ) Positive Technologies-แƒ“แƒแƒœ แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒ•แƒšแƒแƒจแƒ˜ Highload 2015-แƒ–แƒ” "LMDB แƒซแƒ แƒแƒ•แƒ แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒ”แƒ›แƒžแƒ˜แƒแƒœแƒ˜แƒ". แƒ›แƒแƒกแƒจแƒ˜ แƒ˜แƒก แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒก LMDB-แƒ–แƒ” ReOpenLDAP-แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜ แƒ“แƒ LevelDB แƒฃแƒ™แƒ•แƒ” แƒ“แƒแƒ”แƒฅแƒ•แƒ”แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ™แƒ แƒ˜แƒขแƒ˜แƒ™แƒแƒก. แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ Positive Technologies-แƒ›แƒแƒช แƒ™แƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒฉแƒแƒœแƒ’แƒแƒšแƒ˜ MDBX แƒซแƒแƒšแƒ˜แƒแƒœ แƒ’แƒ”แƒ›แƒ แƒ˜แƒ”แƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—, แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒ— แƒ“แƒ แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ˜แƒก แƒจแƒ”แƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ.

LMDB แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Mozilla Firefox แƒ‘แƒ แƒแƒฃแƒ–แƒ”แƒ แƒ˜ แƒแƒ˜แƒ แƒฉแƒ˜แƒ แƒ˜แƒ’แƒ˜ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ, แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ 9 แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ, Xcode แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ˜ SQLite แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“.

แƒซแƒ แƒแƒ•แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ“แƒแƒ˜แƒญแƒ˜แƒ แƒ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜. แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ™แƒ•แƒแƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ˜แƒžแƒแƒ•แƒแƒก iOS แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒจแƒ˜ Telegram-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. LinkedIn-แƒ›แƒ แƒ”แƒ แƒ—แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜แƒ— แƒฌแƒ˜แƒœ แƒฌแƒแƒ•แƒ˜แƒ“แƒ แƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒ LMDB, แƒ แƒแƒ’แƒแƒ แƒช แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒฉแƒแƒกแƒ—แƒ•แƒ˜แƒก, Rocket Data, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘แƒแƒช แƒฃแƒ—แƒฎแƒ แƒ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ 2016 แƒฌแƒ”แƒšแƒก.

LMDB แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒ‘แƒ แƒซแƒ•แƒ˜แƒก แƒ›แƒ–แƒ”แƒจแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒœแƒ˜แƒจแƒแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒขแƒแƒ•แƒ BerkeleyDB-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  Oracle-แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒแƒก แƒฃแƒงแƒ•แƒแƒ แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒกแƒฌแƒ แƒแƒคแƒ˜แƒ—แƒ แƒ“แƒ แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒแƒ‘แƒ˜แƒ—, แƒ—แƒฃแƒœแƒ“แƒแƒช แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒขแƒ˜แƒžแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒฃแƒคแƒแƒกแƒ แƒšแƒแƒœแƒฉแƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒ แƒ›แƒ˜แƒœแƒ“แƒ แƒฎแƒแƒ–แƒ’แƒแƒกแƒ›แƒ˜แƒ— แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ แƒ™แƒแƒ›แƒžแƒ แƒแƒ›แƒ˜แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒจแƒ”แƒฎแƒ•แƒ“แƒ”แƒ— LMDB-แƒกแƒ แƒ“แƒ SQLite-แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒกแƒแƒก. แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒœแƒแƒ—แƒšแƒแƒ“ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒšแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒ˜แƒฎแƒ“แƒ˜แƒ— แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒคแƒ”แƒœแƒ”แƒ‘แƒก แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ”. แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ™แƒแƒ แƒ’ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜, แƒ›แƒแƒ— แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ›แƒแƒ˜แƒœแƒช แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒก แƒ™แƒแƒ“แƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒ›แƒแƒ— แƒแƒ  แƒ”แƒฅแƒœแƒ”แƒ‘แƒแƒ— แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, SQL แƒ”แƒœแƒแƒ–แƒ” แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ–แƒ”. แƒ—แƒฃ SQLite แƒฉแƒ”แƒ›แƒก แƒกแƒแƒ›แƒกแƒแƒฎแƒฃแƒ แƒจแƒ˜ แƒ›แƒแƒ“แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœ, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ›แƒ, แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒชแƒ˜แƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒชแƒ”แƒœแƒแƒ แƒ”แƒ‘แƒ˜. แƒฃแƒคแƒ แƒ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒ’แƒแƒ“แƒแƒ˜แƒฎแƒแƒ“แƒแƒ— แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒšแƒ˜ แƒคแƒแƒกแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

3. แƒกแƒแƒ›แƒ˜ แƒ•แƒ”แƒจแƒแƒžแƒ˜ LMDB

แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒแƒช LMDB-แƒก แƒฉแƒ˜แƒขแƒ˜แƒก แƒ—แƒ•แƒแƒšแƒ˜แƒ— แƒจแƒ”แƒฎแƒ”แƒ“แƒ”แƒ—, แƒ“แƒ แƒแƒ แƒฃแƒคแƒ แƒ แƒฆแƒ แƒ›แƒแƒ“ แƒจแƒ”แƒฎแƒ•แƒ˜แƒ“แƒ”แƒ—. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒแƒ›แƒ˜ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ”แƒ—แƒ›แƒแƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ•แƒ”แƒจแƒแƒžแƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ:

  1. แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒ˜แƒกแƒ™แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ˜แƒ“แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ.
  2. B+-แƒฎแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ.
  3. Copy-on-Write แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ ACID แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒกแƒแƒงแƒแƒคแƒแƒ“.

3.1. แƒ•แƒ”แƒจแƒแƒžแƒ˜ #1. แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜

แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒฃแƒšแƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒแƒชแƒแƒ•แƒจแƒ˜แƒช แƒ™แƒ˜ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ. แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒแƒ. LMDB แƒแƒ  แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒฅแƒ”แƒจแƒก แƒ—แƒแƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒจแƒ˜. แƒ”แƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒก แƒจแƒ”แƒ’แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒแƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ แƒฃแƒ™แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒญแƒ แƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒฃแƒ—แƒฎแƒ” แƒซแƒ แƒแƒ•แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒแƒจแƒ˜. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ.

  1. แƒกแƒแƒชแƒแƒ•แƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒ. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒ”แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ™แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ“แƒ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒฃแƒšแƒ˜.
  2. แƒฅแƒ”แƒจแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒก LMDB-แƒก แƒ–แƒ”แƒ“แƒœแƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ  แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ. แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒฌแƒแƒ  แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ›แƒ”แƒขแƒ˜ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜. แƒŸแƒฆแƒ”แƒ แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒคแƒแƒœแƒขแƒแƒ–แƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ calloc แƒ–แƒแƒ แƒ˜ แƒ™แƒแƒœแƒชแƒ”แƒœแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒจแƒ˜.
  3. แƒฅแƒ”แƒจแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ แƒแƒกแƒ”แƒ•แƒ” แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒกแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ›แƒแƒ—แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ“แƒ”แƒก, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ™แƒ”แƒœ แƒ›แƒ˜แƒ›แƒแƒ•แƒแƒš แƒ’แƒ–แƒแƒ–แƒ” แƒแƒ แƒช แƒ”แƒ แƒ— แƒ›แƒฃแƒขแƒ”แƒฅแƒกแƒก แƒแƒ  แƒแƒฌแƒงแƒ“แƒ”แƒ‘แƒ˜แƒแƒœ. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒก แƒแƒฅแƒ•แƒก แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒฎแƒแƒ–แƒแƒ•แƒแƒœแƒ˜ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒ CPU-แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. LMDB-แƒจแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒ›แƒฌแƒ”แƒ แƒแƒšแƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“.
  4. แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ™แƒแƒ“แƒก แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ แƒ—แƒฃแƒšแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ แƒแƒ•แƒแƒš แƒฎแƒ แƒแƒฎแƒœแƒ˜แƒแƒœ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒกแƒ—แƒแƒœ. Usenix OSDI 2014 แƒ™แƒแƒœแƒคแƒ”แƒ แƒ”แƒœแƒชแƒ˜แƒแƒ–แƒ” แƒแƒ แƒ˜ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ˜แƒงแƒ: "แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ—แƒแƒœแƒแƒ‘แƒแƒ แƒ˜: Craft-แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ–แƒ”" ะธ แƒ’แƒแƒ แƒ—แƒแƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ›แƒ”แƒ‘แƒ. แƒ›แƒแƒ—แƒ’แƒแƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช LMDB-แƒ˜แƒก แƒฃแƒžแƒ แƒ”แƒชแƒ”แƒ“แƒ”แƒœแƒขแƒ แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒแƒกแƒ”แƒ•แƒ” แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก ACID แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒฃแƒœแƒแƒ™แƒšแƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒช แƒ›แƒแƒก แƒแƒญแƒแƒ แƒ‘แƒ”แƒ‘แƒก แƒ˜แƒ›แƒแƒ•แƒ” SQLite-แƒจแƒ˜.
  5. LMDB-แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒ˜แƒ–แƒ›แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒœแƒฅแƒแƒœแƒฃแƒ  แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒแƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก L1 แƒฅแƒ”แƒจแƒจแƒ˜ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒ—.

แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, iOS-แƒจแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒแƒ–แƒ” แƒ“แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ•แƒแƒ แƒ“แƒ˜แƒกแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก. แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒ˜แƒœแƒฃแƒกแƒ”แƒ‘แƒ–แƒ” แƒฃแƒคแƒ แƒ แƒจแƒ”แƒ’แƒœแƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ แƒแƒ› แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒแƒ—, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ•แƒ˜แƒฎแƒกแƒ”แƒœแƒแƒ— แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒแƒ› แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒก แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒ˜.

แƒ–แƒแƒ’แƒแƒ“แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒกแƒ—แƒแƒœ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒก แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒ˜แƒฏแƒœแƒแƒ•แƒ” แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ˜แƒก แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒก, แƒ แƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“. แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒก แƒ™แƒแƒ“แƒ˜แƒ— แƒ“แƒ แƒ›แƒงแƒแƒ แƒ˜ แƒ™แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒแƒ“แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ›แƒ–แƒแƒ แƒ“แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒ แƒ’แƒแƒ“ แƒแƒ แƒ˜แƒก แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒ แƒแƒ•แƒ. แƒ˜แƒก แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ–แƒ”แƒ“แƒ แƒแƒ แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ แƒ—แƒแƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒขแƒ”แƒ™แƒ˜. แƒ˜แƒก แƒแƒœ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ, แƒแƒœ แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ›แƒ˜แƒก แƒ–แƒแƒ›แƒแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ. แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ“แƒแƒกแƒขแƒ แƒ“แƒ แƒ’แƒ แƒแƒ•แƒ แƒแƒ  แƒแƒ˜แƒซแƒฃแƒšแƒแƒก แƒ“แƒ แƒแƒ  แƒฉแƒแƒ”แƒ แƒ˜แƒแƒก แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒœแƒชแƒแƒšแƒ™แƒ”แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒจแƒ˜, แƒแƒ  แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ  แƒ›แƒแƒœแƒแƒ™แƒ•แƒ”แƒ—แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒฎแƒ•แƒ แƒ”แƒšแƒ˜ แƒ–แƒ”แƒ“แƒ แƒ“แƒ แƒฅแƒ•แƒ”แƒ“แƒ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜. แƒแƒ› แƒจแƒฃแƒ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒคแƒแƒ˜แƒšแƒ–แƒ” แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜. แƒแƒกแƒ”แƒ— แƒคแƒแƒ˜แƒšแƒก แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜

แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ” แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜แƒ. แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“, แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒจแƒ”แƒ›แƒแƒ˜แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ‘แƒ˜แƒขแƒ˜แƒฃแƒ แƒแƒ‘แƒ˜แƒ—. แƒ—แƒฃ แƒ›แƒแƒก แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒ”แƒœแƒ˜แƒญแƒ”แƒ‘แƒ 1-แƒจแƒ˜-1, แƒ›แƒแƒจแƒ˜แƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒ—แƒ”แƒš RAM-แƒก แƒฌแƒแƒšแƒ”แƒ™แƒแƒ•แƒก แƒ“แƒ แƒแƒ แƒแƒ•แƒ˜แƒ—แƒแƒ แƒ˜ แƒ›แƒ แƒแƒ•แƒแƒšแƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ–แƒ” แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒฃแƒ‘แƒแƒ แƒ˜.

แƒ—แƒฃแƒ›แƒชแƒ, แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ•แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒ› แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒ›แƒ“แƒ”แƒœแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒช แƒ’แƒกแƒฃแƒ แƒ— แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“. แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒแƒ›แƒ แƒแƒ• แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒฃแƒ—แƒ›แƒแƒ‘แƒ”แƒœ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฅแƒแƒฆแƒแƒšแƒ“แƒ–แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ”แƒœ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒœแƒแƒฌแƒ˜แƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒ“แƒ˜แƒ แƒแƒฅ แƒ“แƒ แƒแƒฎแƒšแƒ. แƒแƒ›แƒ˜แƒขแƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒแƒฌแƒงแƒแƒ‘แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ“แƒ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒแƒ“. แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒแƒ“แƒ˜แƒ, แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒ›แƒแƒก แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ‘แƒแƒก แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜. แƒ—แƒฃ แƒแƒ  แƒแƒ แƒ˜แƒก แƒฃแƒคแƒแƒกแƒ แƒกแƒšแƒแƒขแƒ”แƒ‘แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒแƒ“แƒ แƒ” แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒ™แƒแƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒšแƒ˜ แƒ˜แƒ™แƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒก. แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ›แƒแƒšแƒ” แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒ’แƒแƒชแƒ•แƒšแƒ แƒฐแƒฅแƒ•แƒ˜แƒ. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒคแƒ˜แƒ’แƒฃแƒ แƒ แƒแƒกแƒแƒฎแƒแƒ•แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒก. แƒ›แƒแƒกแƒ–แƒ” แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ A แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ 0 แƒ“แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” 4 แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒ—. แƒ”แƒก แƒคแƒแƒฅแƒขแƒ˜ แƒแƒ˜แƒกแƒแƒฎแƒ แƒ™แƒแƒ แƒ”แƒกแƒžแƒแƒœแƒ“แƒ”แƒœแƒชแƒ˜แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜ แƒฃแƒฏแƒ แƒ˜แƒก แƒœแƒแƒ›แƒ”แƒ แƒ˜ 0-แƒจแƒ˜.โ€‹

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ›แƒ‘แƒแƒ•แƒ˜ แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒ. แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒแƒ“, แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ“แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ“แƒ˜แƒแƒœ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜-แƒ’แƒ•แƒ”แƒ แƒ“ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒ—. แƒแƒกแƒ”แƒ—แƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒคแƒแƒ˜แƒšแƒ—แƒแƒœ. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒคแƒแƒ˜แƒšแƒ˜ I/O, แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ—แƒแƒœ - แƒงแƒ•แƒ”แƒšแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒ˜แƒชแƒ”แƒ›แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒคแƒแƒ˜แƒšแƒจแƒ˜.
โ€‹
แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒแƒฎแƒ“แƒ”แƒœแƒก LMDB แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒกแƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒกแƒ แƒ“แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒคแƒแƒ˜แƒšแƒ–แƒ” แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ“แƒ” แƒคแƒแƒฅแƒขแƒ แƒ•แƒแƒ•แƒแƒšแƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ— แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒขแƒ แƒแƒœแƒ–แƒ˜แƒชแƒ˜แƒฃแƒšแƒแƒ“ แƒ›แƒแƒแƒฎแƒ“แƒ˜แƒœแƒแƒก แƒ›แƒแƒ—แƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ—แƒแƒœ, แƒกแƒแƒ“แƒแƒช LMDB แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ.
โ€‹

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒœแƒ˜แƒฃแƒแƒœแƒกแƒ˜แƒ แƒ˜แƒก, แƒ แƒแƒ› LMDB แƒชแƒ•แƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒแƒ˜แƒšแƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ–แƒแƒ แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒคแƒแƒ˜แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒแƒ› แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒแƒก แƒแƒฅแƒ•แƒก แƒแƒ แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒกแƒแƒ”แƒ แƒ—แƒแƒ แƒงแƒ•แƒ”แƒšแƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒฃแƒœแƒ”แƒ‘แƒšแƒ˜แƒ” แƒ“แƒแƒ–แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒชแƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜ แƒ™แƒแƒ“แƒ˜แƒ—. แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ“แƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒแƒ“ แƒแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜แƒ“แƒแƒœ. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒฎแƒšแƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒก, แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ-แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒแƒก แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒชแƒ•แƒšแƒ. แƒ—แƒฃ แƒ˜แƒก แƒแƒ›แƒแƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒ— แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒ“แƒ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒฌแƒ”แƒ แƒแƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜ แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒ›แƒแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒ› แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ”, แƒ แƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ’แƒแƒคแƒฃแƒญแƒ”แƒ‘แƒแƒก. แƒ—แƒฃ แƒคแƒแƒ˜แƒšแƒ˜ แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒแƒ•แƒแƒ แƒ˜แƒแƒก แƒกแƒ˜แƒ’แƒœแƒแƒšแƒ—แƒแƒœ. SIGSEGVแƒ“แƒ แƒคแƒแƒ˜แƒšแƒ˜ แƒฎแƒ”แƒšแƒฃแƒฎแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ”แƒ‘แƒ.

แƒ›แƒ”แƒแƒ แƒ” แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒฃแƒ™แƒ•แƒ” แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ แƒ˜แƒ iOS-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ แƒช แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ“แƒ แƒแƒ แƒช แƒกแƒฎแƒ•แƒ แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜ แƒชแƒแƒšแƒกแƒแƒฎแƒแƒ“ แƒแƒ  แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” LMDB แƒจแƒ”แƒฃแƒกแƒแƒ‘แƒแƒ›แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒแƒ› แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ  แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ–แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ”แƒซแƒฆแƒ•แƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒ•แƒแƒก.

แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒ iOS-แƒจแƒ˜

2018 แƒฌแƒ”แƒšแƒก แƒ˜แƒงแƒ แƒจแƒ”แƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ WWDC-แƒ–แƒ” iOS แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฆแƒ แƒ›แƒ แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ. แƒ˜แƒก แƒ’แƒ•แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ› iOS-แƒจแƒ˜ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒ›แƒ˜แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ”แƒ‘แƒ 3 แƒขแƒ˜แƒžแƒก: แƒญแƒฃแƒญแƒงแƒ˜แƒแƒœแƒ˜, แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒฃแƒšแƒ˜ แƒ“แƒ แƒกแƒฃแƒคแƒ—แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒกแƒฃแƒคแƒ—แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ“ แƒจแƒ”แƒชแƒ•แƒšแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒ›แƒแƒ—แƒจแƒ˜ แƒจแƒ”แƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก แƒ›แƒแƒ—แƒ˜ แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ . แƒแƒ› แƒ™แƒแƒขแƒ”แƒ’แƒแƒ แƒ˜แƒแƒก แƒ›แƒ˜แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ“แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒ. iOS-แƒก แƒแƒ  แƒ”แƒจแƒ˜แƒœแƒ˜แƒ แƒคแƒแƒ˜แƒšแƒ–แƒ” แƒ“แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก แƒ’แƒแƒœแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒคแƒแƒ˜แƒšแƒ—แƒแƒœ.
โ€‹
แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒ›แƒแƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒ‘แƒ˜แƒœแƒซแƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜, แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒกแƒแƒ“ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“. แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ™แƒšแƒแƒกแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒแƒ–แƒ” แƒ“แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒ—. LMDB-แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ แƒ“แƒ แƒแƒจแƒ˜แƒ— MDB_WRITEMAPแƒ›แƒแƒกแƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒขแƒแƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ—แƒแƒ•แƒแƒ“ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒ—.

แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒแƒก, iOS แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒแƒ•แƒก แƒ›แƒ˜แƒก แƒ‘แƒ˜แƒœแƒซแƒฃแƒ  แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒก. แƒ‘แƒ˜แƒœแƒซแƒฃแƒ แƒ˜ แƒ“แƒ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒšแƒ”แƒฅแƒชแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”.แƒฌ. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒก แƒ›แƒ˜แƒแƒฆแƒฌแƒ”แƒ•แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ–แƒฆแƒ•แƒ แƒฃแƒš แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก, OOM แƒ›แƒ™แƒ•แƒšแƒ”แƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ“แƒ”แƒ›แƒแƒœแƒ˜ แƒ›แƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ›แƒแƒก. แƒ”แƒก แƒแƒ แƒ˜แƒก iOS-แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ”แƒ‘แƒฃแƒ แƒ”แƒ‘แƒ แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ›แƒ˜แƒก แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒแƒ“, แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒชแƒ•แƒšแƒ˜แƒ— แƒแƒ  แƒแƒ แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ iOS-แƒจแƒ˜, แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒœแƒแƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ. แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ, แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒœแƒกแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒแƒ“แƒ’แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒ แƒฃแƒ™แƒแƒœ แƒซแƒแƒšแƒ˜แƒแƒœ แƒจแƒ แƒแƒ›แƒแƒขแƒ”แƒ•แƒแƒ“แƒ˜แƒ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒœ iOS แƒ“แƒแƒ–แƒแƒ’แƒแƒ•แƒก SSD แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ–แƒ” แƒฃแƒฏแƒ แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒก, แƒแƒœ แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ˜แƒงแƒ•แƒœแƒ”แƒœ แƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜แƒ. แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒแƒ“แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก, แƒคแƒแƒฅแƒขแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ“ แƒ แƒฉแƒ”แƒ‘แƒ.

แƒ™แƒแƒ แƒ’แƒ˜ แƒแƒ›แƒ‘แƒแƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ”แƒ—, แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› LMDB แƒแƒ  แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก mmap แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ’แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ™แƒšแƒแƒกแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฃแƒคแƒ—แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ iOS-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒ  แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒฎแƒ”แƒšแƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ•แƒแƒšแƒก. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ Xcode แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— VM Tracker. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒœแƒจแƒแƒขแƒ˜ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก iOS Cloud แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒ›แƒแƒกแƒจแƒ˜ แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ›แƒแƒฎแƒ“แƒ 2 LMDB แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒก แƒ›แƒ˜แƒ”แƒชแƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ”แƒฌแƒ”แƒ แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ 1GiB แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒ–แƒ”, แƒ›แƒ”แƒแƒ แƒ”แƒก - 512MiB. แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒแƒ แƒ˜แƒ•แƒ” แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ˜แƒ™แƒแƒ•แƒ”แƒ‘แƒก แƒ แƒ”แƒ–แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒแƒ แƒชแƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒแƒ  แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒฎแƒ”แƒšแƒก แƒ‘แƒ˜แƒœแƒซแƒฃแƒ  แƒ–แƒแƒ›แƒแƒก.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒแƒฎแƒšแƒ แƒชแƒฃแƒ“แƒ˜ แƒแƒ›แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒ. 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒจแƒ˜ แƒกแƒ•แƒแƒžแƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒžแƒ แƒแƒชแƒ”แƒกแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ•แƒแƒก แƒ˜แƒ›แƒ“แƒ”แƒœแƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“แƒแƒช แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒ›แƒงแƒแƒ  แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ˜แƒซแƒšแƒ”แƒ•แƒ แƒ›แƒ˜แƒก แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒฃแƒ  แƒ’แƒแƒชแƒ•แƒšแƒแƒก. IOS-แƒจแƒ˜ แƒกแƒ•แƒแƒžแƒ˜แƒก แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒ•แƒ˜แƒ— แƒจแƒ”แƒชแƒ•แƒšแƒ แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒแƒ“ แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒก แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒš แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒฃแƒ›แƒก. แƒแƒฎแƒšแƒ แƒงแƒ•แƒ”แƒšแƒ แƒชแƒแƒชแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  (แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— RAM) แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ˜แƒก, แƒ แƒแƒช แƒแƒ  แƒฏแƒ“แƒ”แƒ‘แƒ, แƒ”แƒฅแƒ•แƒ”แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒ‘แƒ แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒแƒก. แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ, แƒ“แƒ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, iOS แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒแƒ“ แƒ–แƒฆแƒฃแƒ“แƒแƒ•แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ mmap-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒแƒคแƒแƒ“. แฒแƒฅ แƒแƒฅ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ”แƒ›แƒžแƒ˜แƒ แƒ˜แƒฃแƒšแƒ˜ แƒšแƒ˜แƒ›แƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” แƒแƒ› แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ–แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒกแƒ›แƒแƒ แƒขแƒคแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” แƒ›แƒแƒ“แƒ”แƒšแƒ”แƒ‘แƒ–แƒ” iOS 2 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜แƒ— แƒ™แƒ”แƒ—แƒ˜แƒšแƒจแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒฎแƒ“แƒ, แƒฎแƒแƒšแƒ iPad-แƒ˜แƒก แƒขแƒแƒž แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ–แƒ” - 4-แƒ˜แƒ—. แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ›แƒแƒฎแƒ•แƒ˜แƒšแƒแƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒฎแƒแƒšแƒ’แƒแƒ–แƒ แƒ“แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ”แƒ‘แƒ–แƒ”, แƒกแƒแƒ“แƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒฃแƒแƒ แƒ”แƒกแƒ˜, แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒก VM Tracker-แƒจแƒ˜, แƒแƒฆแƒ›แƒแƒแƒฉแƒ”แƒœแƒ—, แƒ แƒแƒ› LMDB แƒจแƒแƒ แƒก แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒฃแƒ™แƒแƒ–แƒ” แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒš แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก. แƒ™แƒแƒ แƒ’ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒก แƒญแƒแƒ›แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜, แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒžแƒแƒขแƒแƒ แƒ แƒ›แƒขแƒแƒชแƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜.

Cloud-แƒจแƒ˜ แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— LMDB-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ™แƒแƒ›แƒžแƒ แƒแƒ›แƒ˜แƒกแƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜: 384 แƒ›แƒ”แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ 32-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ 768 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ› แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒ™แƒแƒ“แƒ˜แƒ— MDB_MAP_FULL. แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒกแƒ”แƒ— แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒแƒ“ แƒ›แƒชแƒ˜แƒ แƒ”แƒ, แƒ แƒแƒ› แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ” แƒฃแƒ’แƒฃแƒšแƒ”แƒ‘แƒ”แƒšแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ˜แƒงแƒแƒก.

แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒแƒ แƒ‘แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒชแƒฎแƒแƒ“แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒก แƒแƒ แƒ˜ แƒคแƒ”แƒœแƒแƒ›แƒ”แƒœแƒ˜, แƒ“แƒแƒ’แƒ•แƒ”แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜ LMDB แƒ•แƒ”แƒจแƒแƒžแƒ˜.

3.2. แƒ•แƒ”แƒจแƒแƒžแƒ˜ #2. B+-แƒฎแƒ”

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ›แƒ˜แƒก API-แƒจแƒ˜:

  1. แƒแƒฎแƒแƒšแƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ.
  2. แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒ”แƒ— แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ—.
  3. แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒฌแƒแƒจแƒšแƒ.
  4. แƒ’แƒแƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ—แƒ˜ แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒแƒ—แƒฎแƒ˜แƒ•แƒ” แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ, แƒแƒ แƒ˜แƒก แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒฎแƒ”. แƒ›แƒ˜แƒกแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒแƒคแƒก แƒ‘แƒแƒ•แƒจแƒ•แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒš แƒฅแƒ•แƒ”แƒฏแƒ’แƒฃแƒคแƒก แƒแƒ  แƒฅแƒ•แƒ”แƒฎแƒ”แƒแƒ“. แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ• แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒช แƒฃแƒคแƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ”แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒจแƒแƒ‘แƒ”แƒšแƒ˜, แƒฎแƒแƒšแƒ แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ• - แƒ˜แƒก, แƒ แƒแƒช แƒฃแƒคแƒ แƒ แƒ“แƒ˜แƒ“แƒ˜แƒ. แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ™แƒšแƒแƒกแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒฎแƒ˜แƒก แƒ’แƒแƒ“แƒแƒ™แƒ•แƒ”แƒ—แƒ˜แƒ—.

แƒแƒ แƒแƒ‘แƒ˜แƒ— แƒฎแƒ”แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒแƒ แƒ˜ แƒคแƒฃแƒœแƒ“แƒแƒ›แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒœแƒแƒ™แƒšแƒ˜, แƒ แƒแƒช แƒฎแƒ”แƒšแƒก แƒฃแƒจแƒšแƒ˜แƒก แƒ›แƒแƒ— แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ›แƒแƒ—แƒ˜ แƒ‘แƒแƒšแƒแƒœแƒกแƒ˜แƒก แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜ แƒแƒ แƒแƒžแƒ แƒแƒ’แƒœแƒแƒ–แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜แƒ. แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒฎแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ แƒ˜แƒกแƒ™แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒจแƒ˜แƒช แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒขแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒแƒฆแƒšแƒ” แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก, แƒ แƒแƒช แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒแƒฃแƒแƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒฃแƒš แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒก แƒ›แƒแƒกแƒแƒšแƒแƒ“แƒœแƒ”แƒšแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฏแƒ•แƒแƒ แƒ”แƒ“แƒ˜แƒœแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒ แƒแƒ•แƒšแƒ” แƒแƒ แƒ—แƒ›แƒ”แƒ•แƒก แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒฎแƒ”แƒ”แƒ‘แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒšแƒแƒ™แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก.แƒ“แƒแƒฎแƒฃแƒ แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ (แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ‘แƒ›แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—) แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ“แƒ”แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒš แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ–แƒ”. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฎแƒ”แƒ–แƒ” แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒ”แƒ–แƒแƒ‘แƒ”แƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒ แƒ’แƒแƒ“แƒแƒ™แƒ•แƒ”แƒ—แƒแƒช แƒ™แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒแƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ“แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ. แƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ•แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ— แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒฎแƒ”แƒ”แƒ‘แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒแƒ–แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ‘แƒ แƒฃแƒœแƒ•แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒแƒคแƒ˜. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒแƒฅแƒ›แƒ” แƒ”แƒฎแƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒ“แƒแƒœ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒ›แƒแƒฆแƒšแƒ”แƒ‘แƒแƒก, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒชแƒฃแƒ“แƒแƒ“ แƒฎแƒ“แƒ”แƒ‘แƒ. แƒกแƒแƒ•แƒแƒšแƒแƒšแƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜B-แƒฎแƒ”แƒ”แƒ‘แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒฎแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ•แƒแƒšแƒฃแƒชแƒ˜แƒ, แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒฌแƒ˜แƒœแƒ แƒแƒ‘แƒ–แƒแƒชแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒš แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก. แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ‘แƒฃแƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒ›แƒแƒ—แƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ˜ แƒงแƒแƒคแƒก แƒจแƒ•แƒ˜แƒšแƒแƒ‘แƒ˜แƒš แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒก แƒแƒ แƒ 2, แƒแƒ แƒแƒ›แƒ”แƒ“ M แƒ›แƒแƒฌแƒ”แƒกแƒ แƒ˜แƒ’แƒ”แƒ‘แƒฃแƒš แƒฅแƒ•แƒ”แƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒแƒ“ แƒ“แƒ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜ M แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒแƒกแƒ”แƒฃแƒšแƒ˜ แƒแƒœ แƒ—แƒฃแƒœแƒ“แƒแƒช แƒแƒ—แƒแƒกแƒแƒ‘แƒ˜แƒ— แƒ แƒ˜แƒ’แƒ˜แƒ—.

แƒแƒ›แƒ˜แƒ—:

  1. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ™แƒ•แƒแƒœแƒซแƒก แƒแƒฅแƒ•แƒก แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ“แƒ แƒฎแƒ”แƒ”แƒ‘แƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒแƒ‘แƒแƒšแƒ˜แƒ.
  2. แƒฎแƒ” แƒ˜แƒซแƒ”แƒœแƒก แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒแƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ— แƒแƒฎแƒšแƒแƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒแƒ“ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ— แƒ”แƒ แƒ— แƒแƒœ แƒ›แƒ”แƒ–แƒแƒ‘แƒ”แƒš แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”.
  3. แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒก แƒกแƒแƒขแƒ แƒแƒœแƒ–แƒ˜แƒขแƒ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒกแƒแƒซแƒ˜แƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก แƒฎแƒ”แƒ–แƒ” แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก.
  4. แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒ˜แƒ–แƒœแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒฃแƒ™แƒ•แƒ” แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒš แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒก.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

LMDB แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก B-แƒฎแƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ B+ แƒฎแƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“. แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒ–แƒ” แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒกแƒแƒ›แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ˜แƒก แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก:

  1. แƒ–แƒ”แƒ•แƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒคแƒ”แƒกแƒ•แƒ˜. แƒ˜แƒก แƒ›แƒแƒขแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜, แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ แƒกแƒแƒชแƒแƒ•แƒจแƒ˜. แƒ”แƒ แƒ—แƒ˜ LMDB แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ˜แƒ–แƒ˜แƒแƒ แƒ”แƒ‘แƒ”แƒœ แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒš แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ—แƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒก. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒคแƒ”แƒกแƒ•แƒ˜แƒ“แƒแƒœ.
  2. แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒแƒ‘แƒแƒš แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒแƒ แƒ˜แƒก แƒคแƒแƒ—แƒšแƒ”แƒ‘แƒ˜ (แƒคแƒแƒ—แƒแƒšแƒ˜). แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒš แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒก. แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ”แƒก แƒแƒ แƒ˜แƒก B+-แƒฎแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒ”แƒ‘แƒฃแƒ แƒ”แƒ‘แƒ. แƒ—แƒฃ แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ B-แƒฎแƒ” แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒแƒœแƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ B+-แƒ•แƒแƒ แƒ˜แƒแƒชแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒแƒ‘แƒแƒšแƒ–แƒ”แƒ. แƒแƒ› แƒคแƒแƒฅแƒขแƒ˜แƒก แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ— LMDB-แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ˜แƒก แƒฅแƒ•แƒ”แƒขแƒ˜แƒžแƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ B-แƒฎแƒ”แƒก.
  3. แƒคแƒ”แƒกแƒ•แƒกแƒ แƒ“แƒ แƒคแƒแƒ—แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก 0 แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ“แƒแƒœแƒ” แƒกแƒแƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ (แƒขแƒแƒขแƒ˜) แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ—แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒแƒ แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒคแƒแƒ—แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒงแƒแƒ—.

แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒแƒ“, แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ’แƒ แƒซแƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ—แƒ˜ แƒ–แƒแƒ›แƒ แƒแƒ แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒฏแƒ”แƒ แƒแƒ“แƒ˜, แƒ แƒแƒ–แƒ”แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ—. แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ—. แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ›แƒ”แƒขแƒ-แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒ’แƒแƒœ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒจแƒ™แƒแƒ แƒแƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒฏแƒแƒ›แƒ˜. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ“แƒ˜แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒแƒคแƒกแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒ“แƒแƒช แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฃแƒฏแƒ แƒ”แƒ“แƒ”แƒ‘แƒ˜. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒแƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜, แƒ—แƒฃ แƒ•แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ— แƒœแƒแƒ•แƒ˜แƒ’แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ–แƒ”, แƒแƒœ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒคแƒแƒ—แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ”แƒขแƒ˜ แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒœแƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒจแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. "แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒคแƒแƒกแƒ”แƒ‘แƒ".

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒฌแƒแƒ แƒ›แƒแƒ•แƒแƒ“แƒ’แƒ”แƒœแƒ— LMDB B- แƒฎแƒ”แƒก แƒ’แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒฎแƒ˜แƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ—.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜ แƒœแƒแƒ›แƒ แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ‘แƒแƒšแƒแƒก. แƒ”แƒ’แƒ แƒ”แƒ— แƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ (แƒ›แƒ”แƒขแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜) แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒแƒคแƒกแƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒฎแƒ˜แƒก แƒคแƒ”แƒกแƒ•แƒ”แƒ‘แƒ˜. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒคแƒแƒ˜แƒšแƒ˜ แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ, LMDB แƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒก แƒคแƒแƒ˜แƒšแƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ’แƒ•แƒ”แƒ แƒ“ แƒ‘แƒแƒšแƒแƒ“แƒแƒœ แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒแƒ›แƒ“แƒ” แƒกแƒฌแƒแƒ แƒ˜ แƒ›แƒ”แƒขแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ›แƒแƒกแƒแƒซแƒ”แƒ‘แƒœแƒแƒ“ แƒ“แƒ แƒ›แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒžแƒแƒฃแƒšแƒแƒ‘แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒก.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒแƒฎแƒšแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ  แƒ“แƒ แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒ–แƒ”, แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— LMDB-แƒ˜แƒก แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ•แƒ”แƒจแƒแƒžแƒ˜. แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒกแƒ’แƒแƒœ แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒแƒ“, แƒ แƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒแƒจแƒ˜ แƒแƒซแƒšแƒ”แƒ•แƒก แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒ แƒแƒ•แƒแƒšแƒ•แƒ”แƒ แƒกแƒ˜แƒฃแƒš แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒแƒก.

3.3. แƒ•แƒ”แƒจแƒแƒžแƒ˜ #3. แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ แƒฉแƒแƒฌแƒ”แƒ แƒแƒ–แƒ”

B-แƒฎแƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ›แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒš แƒกแƒ”แƒ แƒ˜แƒแƒก. แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ™แƒ•แƒแƒœแƒซแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒฃแƒ™แƒ•แƒ” แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒกแƒ˜แƒ›แƒซแƒšแƒแƒ•แƒ แƒ”แƒก. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒแƒ แƒแƒ“ แƒ’แƒแƒงแƒแƒคแƒ แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒ›แƒ˜แƒก แƒ›แƒจแƒแƒ‘แƒ”แƒšแƒจแƒ˜ แƒแƒฎแƒแƒš แƒ“แƒแƒจแƒšแƒ˜แƒšแƒ˜ แƒ‘แƒแƒ•แƒจแƒ•แƒ˜แƒก แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ‘แƒ›แƒฃแƒšแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ. แƒ”แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒจแƒ˜แƒจแƒ˜แƒ. แƒ—แƒฃ แƒ แƒแƒ˜แƒ›แƒ” แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ— (แƒแƒ•แƒแƒ แƒ˜แƒ, แƒ”แƒšแƒ”แƒฅแƒขแƒ แƒแƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒ˜แƒก แƒ’แƒแƒ—แƒ˜แƒจแƒ•แƒ แƒ“แƒ แƒ.แƒจ.) แƒ›แƒแƒฎแƒ“แƒ แƒกแƒ”แƒ แƒ˜แƒ˜แƒ“แƒแƒœ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒฎแƒ” แƒ“แƒแƒ แƒฉแƒ”แƒ‘แƒ แƒแƒ แƒแƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒฌแƒงแƒœแƒแƒ แƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒขแƒ แƒแƒ“แƒ˜แƒชแƒ˜แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก, แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒกแƒ”แƒ•แƒ” แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฌแƒ˜แƒœแƒ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜ (WAL), B-แƒฎแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ‘แƒแƒšแƒแƒก, แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ—แƒแƒ•แƒแƒ“ B-แƒฎแƒ˜แƒก แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ›แƒ“แƒ”, แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒ’แƒแƒœแƒ–แƒ แƒแƒฎแƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ—แƒฃ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ™แƒแƒ แƒฃแƒคแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ•แƒšแƒ˜แƒœแƒ“แƒ แƒ—แƒ•แƒ˜แƒ—แƒ“แƒ˜แƒแƒ’แƒœแƒแƒกแƒขแƒ˜แƒ™แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ™แƒแƒœแƒกแƒฃแƒšแƒขแƒแƒชแƒ˜แƒแƒก แƒฃแƒฌแƒ”แƒ•แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜แƒก แƒ’แƒแƒกแƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒšแƒแƒ“.

LMDB-แƒ› แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒแƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒแƒ“ แƒกแƒฎแƒ•แƒ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒแƒ˜แƒ แƒฉแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ-แƒฉแƒแƒฌแƒ”แƒ แƒแƒก แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ”แƒœ. แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ˜ แƒ˜แƒ›แƒแƒจแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก, แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ˜แƒก แƒฏแƒ”แƒ  แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ“แƒ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒแƒก แƒฃแƒ™แƒ•แƒ” แƒแƒกแƒšแƒจแƒ˜.โ€‹

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ‘แƒ›แƒฃแƒšแƒ˜ แƒ˜แƒ› แƒ™แƒ•แƒแƒœแƒซแƒ—แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ แƒ›แƒจแƒแƒ‘แƒ”แƒš แƒ™แƒ•แƒแƒœแƒซแƒจแƒ˜ แƒ›แƒแƒกแƒ—แƒแƒœ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒแƒจแƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ แƒ”แƒ™แƒฃแƒ แƒกแƒ˜แƒฃแƒšแƒแƒ“ แƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒแƒ›แƒ“แƒ”. แƒ›แƒ”แƒขแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ–แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ‘แƒแƒšแƒแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ—แƒฃ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ˜แƒก แƒ“แƒ แƒแƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒ˜แƒจแƒšแƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒœ แƒแƒ  แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ”แƒขแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, แƒแƒœ แƒ˜แƒก แƒ‘แƒแƒšแƒแƒ›แƒ“แƒ” แƒแƒ  แƒฉแƒแƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒแƒ› แƒแƒ แƒ˜แƒ“แƒแƒœ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒ–แƒ” แƒแƒ  แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก. แƒ”แƒก แƒ’แƒแƒ›แƒแƒ แƒ˜แƒชแƒฎแƒแƒ•แƒก LMDB-แƒก แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒšแƒแƒ“. แƒ“แƒ” แƒคแƒแƒฅแƒขแƒ, แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ—แƒแƒ•แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก. แƒแƒจแƒ™แƒแƒ แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒแƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ LMDB-แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ›แƒแƒฆแƒแƒš แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒก.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ B-แƒฎแƒ”, แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒแƒ“ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ˜แƒ–แƒแƒšแƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก. LMDB-แƒจแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒฆแƒ˜แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก แƒแƒฅแƒ•แƒก แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ˜แƒก แƒคแƒ”แƒกแƒ•แƒ˜. แƒกแƒแƒœแƒแƒ› แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜ แƒแƒ แƒแƒกแƒแƒ“แƒ”แƒก แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒแƒœ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— แƒ˜แƒ›แƒ“แƒ”แƒœ แƒฎแƒแƒœแƒก, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒช แƒ’แƒกแƒฃแƒ แƒ— แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฅแƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒงแƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก แƒ“แƒ แƒแƒก, แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ—แƒฃ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ™แƒ•แƒšแƒแƒ• แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒœแƒแƒฎแƒšแƒ“แƒ”แƒ‘แƒ แƒแƒ› แƒ“แƒ แƒแƒก. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒฃแƒšแƒขแƒ˜แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒแƒ แƒกแƒ˜, แƒ แƒแƒช LMDB-แƒก แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒแƒ“ แƒแƒฅแƒชแƒ”แƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒงแƒ•แƒแƒ แƒ”แƒšแƒ˜ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก UICollectionView. แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒ, แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฉแƒฅแƒแƒ แƒ”แƒ•แƒแƒ“ แƒ’แƒแƒ“แƒแƒขแƒฃแƒ›แƒ‘แƒ•แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜, แƒ’แƒ”แƒจแƒ˜แƒœแƒ˜แƒแƒ—, แƒ แƒแƒ› แƒแƒ แƒแƒคแƒ แƒ˜แƒก แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ. แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ’แƒแƒœแƒแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒก LMDB-แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ” SQLite-แƒกแƒ’แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ•แƒ”แƒ  แƒ“แƒแƒ˜แƒ™แƒ•แƒ”แƒฎแƒœแƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒกแƒ แƒฃแƒšแƒ˜ แƒ˜แƒ–แƒแƒšแƒแƒชแƒ˜แƒ˜แƒ—. แƒแƒ› แƒฃแƒ™แƒแƒœแƒแƒกแƒ™แƒœแƒ”แƒšแƒจแƒ˜ แƒแƒ แƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก แƒ“แƒ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒจแƒ˜ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฌแƒแƒจแƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒ•แƒ”แƒฆแƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ›แƒ”แƒแƒ แƒ” แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒจแƒ˜.

แƒ›แƒแƒœแƒ”แƒขแƒ˜แƒก แƒ›แƒ”แƒแƒ แƒ” แƒ›แƒฎแƒแƒ แƒ” แƒแƒ แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ. แƒกแƒšแƒแƒ˜แƒ“แƒ˜ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ, แƒ—แƒฃ แƒ˜แƒ’แƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ 3 แƒฆแƒ˜แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ”แƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒก. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ LMDB-แƒก แƒแƒ  แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก แƒ™แƒ•แƒแƒœแƒซแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒคแƒ”แƒกแƒ•แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ—แƒแƒœ, แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒกแƒฎแƒ•แƒ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒแƒ  แƒแƒฅแƒ•แƒก แƒ’แƒแƒ แƒ“แƒ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒงแƒแƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ”แƒแƒ—แƒฎแƒ” แƒคแƒ”แƒกแƒ•แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ›แƒแƒแƒฎแƒ“แƒ˜แƒœแƒแƒก แƒ›แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒ™แƒšแƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒแƒฅ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒแƒ› แƒ“แƒ˜แƒ“แƒแƒ“ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ’แƒ•แƒแƒฌแƒฃแƒฎแƒแƒก, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ”แƒก แƒแƒ  แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒฎแƒ”แƒšแƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ•แƒแƒšแƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒ, แƒ แƒแƒ› iOS แƒซแƒแƒšแƒ˜แƒแƒœ แƒซแƒฃแƒœแƒฌแƒ˜แƒ แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒแƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒแƒœ แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ–แƒ” แƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ“แƒแƒœ แƒ›แƒ˜แƒ•แƒแƒฌแƒแƒ“แƒแƒ— 1 แƒขแƒ”แƒ แƒแƒ‘แƒแƒ˜แƒขแƒ˜ LMDB แƒ แƒ”แƒ’แƒ˜แƒแƒœแƒ˜ แƒ“แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒ•แƒ˜แƒคแƒ˜แƒฅแƒ แƒแƒ— แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒ–แƒ”. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒฃแƒœแƒ“แƒ แƒ”แƒชแƒแƒ“แƒแƒ—, แƒ แƒแƒ› แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ•แƒแƒ“แƒ แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ™แƒšแƒ” แƒ˜แƒงแƒแƒก.

4. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒฅแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก API-แƒก แƒ—แƒแƒ•แƒ–แƒ”

แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— API-แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜ LMDB-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒแƒฌแƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฎแƒ•แƒ˜แƒ—: แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜, แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ™แƒฃแƒ แƒกแƒแƒ แƒ”แƒ‘แƒ˜.

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ แƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘

LMDB แƒกแƒแƒฏแƒแƒ แƒ API-แƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒจแƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒšแƒแƒ™แƒแƒœแƒฃแƒ แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ“แƒ˜แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ™แƒแƒ“แƒก แƒกแƒแƒชแƒแƒ•แƒ—แƒแƒœ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒแƒœแƒ’แƒแƒšแƒ˜ C++ แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ”แƒ‘แƒ˜ lmdbxx, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒ›แƒแƒขแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช C++ แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ˜.

แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ’แƒ–แƒ LMDB iOS แƒแƒœ macOS แƒžแƒ แƒแƒ”แƒฅแƒขแƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“, แƒ›แƒ” แƒ’แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ— แƒฉแƒ”แƒ›แƒก CocoaPod-แƒก POSLMDB.

4.1. แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜

แƒ’แƒแƒ แƒ”แƒ›แƒ

แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ MDB_env แƒแƒ แƒ˜แƒก LMDB-แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ˜. แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒแƒฏแƒแƒฎแƒ˜ mdb_env แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ. แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒซแƒ แƒแƒ•แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ.

mdb_env_create(env);โ€‹
mdb_env_set_map_size(*env, 1024 * 1024 * 512)โ€‹
mdb_env_open(*env, path.UTF8String, MDB_NOTLS, 0664);

Mail.ru Cloud แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ”แƒ— แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ–แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒ“แƒแƒช แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ˜แƒ›แƒแƒ•แƒ” แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”แƒช แƒ™แƒ˜, แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒ›แƒ“แƒ”. iOS-แƒ˜แƒก แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒกแƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“. แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒœแƒแƒฎแƒ”แƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒ›แƒ“แƒ” mdb_env_open แƒแƒ  แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒกแƒฎแƒ•แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒก แƒ’แƒแƒ แƒ“แƒ ENOMEM. แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“, แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒกแƒแƒžแƒ˜แƒ แƒ˜แƒกแƒžแƒ˜แƒ แƒ แƒ’แƒ–แƒ - แƒฏแƒ”แƒ  แƒ“แƒแƒฃแƒ—แƒ›แƒ”แƒ— แƒซแƒ แƒแƒ•แƒแƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒกแƒแƒก. MDB_MAP_FULL, แƒ’แƒแƒ–แƒแƒ แƒ“แƒ”แƒ—. แƒ—แƒฃแƒ›แƒชแƒ แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒ”แƒ™แƒšแƒ˜แƒแƒœแƒ˜แƒ. แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ mdb_env_set_map_size แƒ’แƒแƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒก แƒซแƒ แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ“แƒ แƒ” แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒก (แƒ™แƒฃแƒ แƒกแƒแƒ แƒ”แƒ‘แƒก, แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก, แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒก แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก). แƒ™แƒแƒ“แƒจแƒ˜ แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒ›แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒ•แƒ แƒ›แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒ’แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก. แƒ—แƒฃ, แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒแƒ›แƒ˜แƒกแƒ, แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒซแƒ•แƒ˜แƒ แƒคแƒแƒกแƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜, แƒ แƒแƒ› แƒ’แƒแƒ“แƒแƒฎแƒ”แƒ“แƒแƒ— แƒ˜แƒ› แƒฉแƒแƒœแƒ’แƒแƒšแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒ˜แƒœ แƒฌแƒแƒ•แƒ˜แƒ“แƒ. MDBX, แƒกแƒแƒ“แƒแƒช แƒ“แƒ”แƒ™แƒšแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก โ€žแƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒคแƒ แƒ”แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒ™แƒแƒ แƒ”แƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒโ€œ.

แƒ›แƒ”แƒแƒ แƒ” แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ”แƒคแƒ”แƒ แƒ”แƒ‘แƒ, แƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒก แƒซแƒแƒคแƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒก. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, iOS 10-แƒจแƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ› แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ—, แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜, แƒกแƒแƒชแƒแƒ•แƒ˜ แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒจแƒ˜แƒ— MDB_NOTLS. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ“แƒ แƒฉแƒแƒœแƒ’แƒแƒšแƒ˜ C++ แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒ lmdbxxแƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒญแƒ แƒ แƒแƒ› แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜แƒ— แƒ“แƒ.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒแƒ แƒ˜แƒก B-แƒฎแƒ˜แƒก แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ–แƒ”แƒช แƒ–แƒ”แƒ›แƒแƒ— แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ—. แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒฎแƒกแƒœแƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—, แƒ แƒแƒช แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒชแƒแƒขแƒ แƒฃแƒชแƒœแƒแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ’แƒ”แƒฉแƒ•แƒ”แƒœแƒแƒ—.

MDB_txn *txn;โ€‹
MDB_dbi dbi;โ€‹
mdb_txn_begin(env, NULL, MDB_RDONLY, &txn);โ€‹
mdb_dbi_open(txn, NULL, MDB_CREATE, &dbi);โ€‹
mdb_txn_abort(txn);

แƒ›แƒแƒ แƒ—แƒšแƒแƒช, แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ LMDB-แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜ แƒ“แƒ แƒแƒ แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ. แƒ”แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒ— แƒแƒขแƒแƒ›แƒฃแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ” แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ–แƒ”. แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“, แƒ”แƒก แƒฎแƒกแƒœแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒ แƒ— แƒ“แƒ แƒแƒก แƒ›แƒ” แƒฌแƒแƒ•แƒ”แƒ“แƒ˜ แƒกแƒฎแƒ•แƒ แƒ’แƒ–แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒฅแƒ•แƒ”แƒ›แƒแƒ—.

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜

แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ MDB_val แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒชแƒ”แƒคแƒชแƒ˜แƒแƒก. แƒกแƒแƒชแƒแƒ•แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒแƒ—แƒ˜ แƒกแƒ”แƒ›แƒแƒœแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒฆแƒแƒช แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ–แƒแƒ›แƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜. แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ–แƒแƒ›แƒแƒ 512 แƒ‘แƒแƒ˜แƒขแƒ˜.

typedef struct MDB_val {โ€‹
    size_t mv_size;โ€‹
    void *mv_data;โ€‹
} MDB_val;โ€‹โ€‹

แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒจแƒ”แƒกแƒแƒ“แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ–แƒ แƒ“แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ“แƒแƒกแƒแƒšแƒแƒ’แƒ”แƒ‘แƒšแƒแƒ“. แƒ—แƒฃ แƒแƒ  แƒฉแƒแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ— แƒ›แƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜แƒ—, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ‘แƒแƒ˜แƒข-แƒ‘แƒแƒ˜แƒข แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒ’แƒ แƒแƒคแƒ˜แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—.

แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ”แƒ‘แƒ˜

แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒฌแƒ˜แƒœแƒ แƒ—แƒแƒ•แƒ˜แƒแƒกแƒ” แƒ แƒแƒ›, แƒแƒฅ แƒ’แƒแƒ•แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘ แƒ›แƒแƒ— แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ›แƒแƒ™แƒšแƒ” แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒจแƒ˜:

  1. แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒงแƒ•แƒ”แƒšแƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ACIDแƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜: แƒแƒขแƒแƒ›แƒฃแƒ แƒแƒ‘แƒ, แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ‘แƒ, แƒ˜แƒ–แƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒแƒ‘แƒ. แƒแƒ  แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒ  แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ, แƒ แƒแƒ› macOS-แƒกแƒ แƒ“แƒ iOS-แƒ–แƒ” แƒ’แƒแƒ›แƒซแƒšแƒ”แƒแƒ‘แƒ˜แƒก แƒ›แƒฎแƒ แƒ˜แƒ• MDBX-แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ. แƒ›แƒ”แƒขแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ— แƒ›แƒแƒ—แƒจแƒ˜ README.
  2. แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒ›แƒ แƒแƒ•แƒแƒšแƒซแƒแƒšแƒ˜แƒแƒœแƒแƒ‘แƒ˜แƒกแƒแƒ“แƒ›แƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒกแƒฅแƒ”แƒ›แƒ˜แƒ— โ€žแƒ”แƒ แƒ—แƒ˜ แƒ›แƒฌแƒ”แƒ แƒแƒšแƒ˜/แƒ›แƒ แƒแƒ•แƒแƒšแƒฏแƒ”แƒ แƒแƒ“แƒ˜ แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜โ€œ. แƒ›แƒฌแƒ”แƒ แƒšแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒ‘แƒšแƒแƒ™แƒแƒ•แƒ”แƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ”แƒ‘แƒก แƒแƒ  แƒ‘แƒšแƒแƒ™แƒแƒ•แƒ”แƒœ. แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜ แƒแƒ  แƒ‘แƒšแƒแƒ™แƒแƒ•แƒก แƒ›แƒฌแƒ”แƒ แƒšแƒ”แƒ‘แƒก แƒแƒœ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก.
  3. แƒฉแƒแƒ“แƒ’แƒ›แƒฃแƒšแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ.
  4. แƒ›แƒ แƒแƒ•แƒแƒšแƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ.

LMDB-แƒจแƒ˜ แƒ›แƒฃแƒšแƒขแƒ˜แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ˜แƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ™แƒแƒ แƒ’แƒ˜แƒ, แƒ แƒแƒ› แƒ›แƒกแƒฃแƒ แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒ”แƒ›แƒแƒœแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒแƒจแƒ˜. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ แƒแƒ› แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ› แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒกแƒ—แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฅแƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒงแƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒฎแƒกแƒœแƒ˜แƒก แƒ“แƒ แƒแƒก แƒ“แƒ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ. แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒแƒกแƒจแƒ˜ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ”แƒก แƒ แƒ˜แƒขแƒฃแƒแƒšแƒ”แƒ‘แƒ˜ แƒ แƒฉแƒ”แƒ‘แƒ แƒกแƒžแƒแƒ˜แƒšแƒ”แƒ แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ.

แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ

MDB_env *env;
MDB_dbi dbi;
MDB_txn *txn;

mdb_env_create(&env);
mdb_env_open(env, "./testdb", MDB_NOTLS, 0664);

mdb_txn_begin(env, NULL, 0, &txn);
mdb_dbi_open(txn, NULL, 0, &dbi);
mdb_txn_abort(txn);

char k = 'k';
MDB_val key;
key.mv_size = sizeof(k);
key.mv_data = (void *)&k;

int v = 997;
MDB_val value;
value.mv_size = sizeof(v);
value.mv_data = (void *)&v;

mdb_txn_begin(env, NULL, 0, &txn);
mdb_put(txn, dbi, &key, &value, MDB_NOOVERWRITE);
mdb_txn_commit(txn);

MDB_txn *txn1, *txn2, *txn3;
MDB_val val;

// ะžั‚ะบั€ั‹ะฒะฐะตะผ 2 ั‚ั€ะฐะฝะทะฐะบั†ะธะธ, ะบะฐะถะดะฐั ะธะท ะบะพั‚ะพั€ั‹ั… ัะผะพั‚ั€ะธั‚
// ะฝะฐ ะฒะตั€ัะธัŽ ะฑะฐะทั‹ ะดะฐะฝะฝั‹ั… ั ะพะดะฝะพะน ะทะฐะฟะธััŒัŽ.
mdb_txn_begin(env, NULL, 0, &txn1); // read-write
mdb_txn_begin(env, NULL, MDB_RDONLY, &txn2); // read-only

// ะ’ ั€ะฐะผะบะฐั… ะฟะตั€ะฒะพะน ั‚ั€ะฐะฝะทะฐะบั†ะธะธ ัƒะดะฐะปัะตะผ ะธะท ะฑะฐะทั‹ ะดะฐะฝะฝั‹ั… ััƒั‰ะตัั‚ะฒัƒัŽั‰ัƒัŽ ะฒ ะฝะตะน ะทะฐะฟะธััŒ.
mdb_del(txn1, dbi, &key, NULL);
// ะคะธะบัะธั€ัƒะตะผ ัƒะดะฐะปะตะฝะธะต.
mdb_txn_commit(txn1);

// ะžั‚ะบั€ั‹ะฒะฐะตะผ ั‚ั€ะตั‚ัŒัŽ ั‚ั€ะฐะฝะทะฐะบั†ะธัŽ, ะบะพั‚ะพั€ะฐั ัะผะพั‚ั€ะธั‚ ะฝะฐ
// ะฐะบั‚ัƒะฐะปัŒะฝัƒัŽ ะฒะตั€ัะธัŽ ะฑะฐะทั‹ ะดะฐะฝะฝั‹ั…, ะณะดะต ะทะฐะฟะธัะธ ัƒะถะต ะฝะตั‚.
mdb_txn_begin(env, NULL, MDB_RDONLY, &txn3);
// ะฃะฑะตะถะดะฐะตะผัั, ั‡ั‚ะพ ะทะฐะฟะธััŒ ะฟะพ ะธัะบะพะผะพะผัƒ ะบะปัŽั‡ัƒ ัƒะถะต ะฝะต ััƒั‰ะตัั‚ะฒัƒะตั‚.
assert(mdb_get(txn3, dbi, &key, &val) == MDB_NOTFOUND);
// ะ—ะฐะฒะตั€ัˆะฐะตะผ ั‚ั€ะฐะฝะทะฐะบั†ะธัŽ.
mdb_txn_abort(txn3);

// ะฃะฑะตะถะดะฐะตะผัั, ั‡ั‚ะพ ะฒ ั€ะฐะผะบะฐั… ะฒั‚ะพั€ะพะน ั‚ั€ะฐะฝะทะฐะบั†ะธะธ, ะพั‚ะบั€ั‹ั‚ะพะน ะฝะฐ ะผะพะผะตะฝั‚
// ััƒั‰ะตัั‚ะฒะพะฒะฐะฝะธั ะทะฐะฟะธัะธ ะฒ ะฑะฐะทะต ะดะฐะฝะฝั‹ั…, ะตั‘ ะฒัั‘ ะตั‰ั‘ ะผะพะถะฝะพ ะฝะฐะนั‚ะธ ะฟะพ ะบะปัŽั‡ัƒ.
assert(mdb_get(txn2, dbi, &key, &val) == MDB_SUCCESS);
// ะŸั€ะพะฒะตั€ัะตะผ, ั‡ั‚ะพ ะฟะพ ะบะปัŽั‡ัƒ ะฟะพะปัƒั‡ะตะฝ ะฝะต ะฐะฑั‹ ะบะฐะบะพะน ะผัƒัะพั€, ะฐ ะฒะฐะปะธะดะฝั‹ะต ะดะฐะฝะฝั‹ะต.
assert(*(int *)val.mv_data == 997);
// ะ—ะฐะฒะตั€ัˆะฐะตะผ ั‚ั€ะฐะฝะทะฐะบั†ะธัŽ, ั€ะฐะฑะพั‚ะฐัŽั‰ะตะน ั…ะพั‚ัŒ ะธ ั ัƒัั‚ะฐั€ะตะฒัˆะตะน, ะฝะพ ะบะพะฝัะธัั‚ะตะฝั‚ะฝะพะน ะฑะฐะทะพะน ะดะฐะฝะฝั‹ั….
mdb_txn_abort(txn2);

แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ , แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒกแƒชแƒแƒ“แƒแƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒฎแƒ แƒ˜แƒ™แƒ˜ SQLite-แƒ˜แƒ— แƒ“แƒ แƒœแƒแƒฎแƒแƒ— แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ.

Multiversioning แƒ›แƒแƒแƒฅแƒ•แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ™แƒแƒ แƒ’แƒ˜ แƒกแƒแƒ แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ iOS แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒแƒจแƒ˜. แƒแƒ› แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ“แƒ แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒแƒ“ แƒ“แƒแƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒงแƒแƒ แƒแƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒคแƒแƒ แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ•แƒ˜แƒฆแƒแƒ— Mail.ru Cloud แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ”แƒ“แƒ˜แƒ แƒ’แƒแƒšแƒ”แƒ แƒ”แƒ˜แƒ“แƒแƒœ. แƒ™แƒแƒ แƒ’แƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒ— แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒฌแƒแƒ›แƒจแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒคแƒแƒขแƒแƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ. แƒ—แƒฃ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒ”แƒ‘แƒ— แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ UICollectionView แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒ›แƒ”แƒ“แƒ˜แƒ แƒ™แƒแƒœแƒขแƒ”แƒœแƒขแƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ˜แƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 60 fps แƒ“แƒ แƒ’แƒšแƒฃแƒ•แƒ˜ แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ”แƒ•แƒ แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒ”แƒ™แƒ แƒแƒœแƒ˜แƒก แƒฎแƒจแƒ˜แƒ แƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” UICollectionViewDataSource.

แƒ—แƒฃ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒแƒ  แƒฃแƒญแƒ”แƒ แƒก แƒ›แƒฎแƒแƒ แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก แƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒ—, แƒ›แƒแƒจแƒ˜แƒœ แƒ“แƒ แƒแƒ˜แƒก แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒแƒ— แƒ˜แƒ’แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ แƒแƒœ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜. แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒซแƒ•แƒ˜แƒ แƒ˜แƒ. แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ แƒฏแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜แƒ แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒ—, แƒแƒกแƒ”แƒ•แƒ” แƒ“แƒ แƒแƒ˜แƒก แƒฎแƒแƒ แƒฏแƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ ORM แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒกแƒฃแƒคแƒ แƒแƒก, แƒ”แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒซแƒ•แƒ˜แƒ แƒ˜ แƒกแƒ˜แƒแƒ›แƒแƒ•แƒœแƒ”แƒ‘แƒแƒ, แƒ แƒแƒกแƒแƒช แƒแƒ–แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ แƒ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒจแƒ˜.

แƒ›แƒ แƒแƒ•แƒแƒšแƒ•แƒ”แƒ แƒกแƒ˜แƒ LMDB แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒฌแƒงแƒแƒ แƒแƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ”แƒšแƒ”แƒ’แƒแƒœแƒขแƒฃแƒ แƒแƒ“. แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒฎแƒกแƒœแƒ แƒ“แƒ voila - แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ—, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒแƒฎแƒšแƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒžแƒ แƒ”แƒ–แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒคแƒ”แƒœแƒ˜แƒก แƒฎแƒ”แƒšแƒจแƒ˜แƒ, แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒ™แƒฃแƒ แƒกแƒแƒ แƒ”แƒ‘แƒ˜

แƒ™แƒฃแƒ แƒกแƒแƒ แƒ”แƒ‘แƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ”แƒœ แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒก แƒ›แƒแƒฌแƒ”แƒกแƒ แƒ˜แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ–แƒ” B-แƒฎแƒ˜แƒก แƒ’แƒแƒ•แƒšแƒ˜แƒก แƒ’แƒ–แƒ˜แƒ—. แƒ›แƒแƒ— แƒ’แƒแƒ แƒ”แƒจแƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฎแƒšแƒ แƒ›แƒ˜แƒ•แƒ›แƒแƒ แƒ—แƒแƒ•แƒ—.

4.2. แƒ›แƒแƒ’แƒ˜แƒ“แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒฃแƒ›แƒแƒฆแƒšแƒ”แƒกแƒ˜ แƒ“แƒแƒœแƒ˜แƒก แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ”. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ”แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒ˜แƒกแƒ แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘.

แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ

แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒ™แƒแƒชแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒแƒ แƒ˜แƒก แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ” แƒงแƒ•แƒ”แƒšแƒ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ. แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ แƒ’แƒ˜ แƒ›แƒแƒ“แƒ”แƒšแƒ˜ แƒแƒ› แƒขแƒ˜แƒžแƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒ›แƒ˜แƒฏแƒœแƒแƒ•แƒ”แƒ—แƒ แƒกแƒ˜แƒ. แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒ–แƒ” แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒฏแƒ’แƒฃแƒคแƒ“แƒ”แƒก แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, Windows-แƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒœแƒแƒชแƒœแƒแƒ‘แƒ˜ แƒคแƒแƒ แƒ›แƒ˜แƒ— แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜แƒก แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ— (แƒฏแƒ”แƒ  แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒ”แƒ‘แƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒแƒ แƒ˜แƒ•แƒ” แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒœแƒ‘แƒแƒœแƒฃแƒ แƒแƒ“), แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒจแƒ˜ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ.

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—. แƒฏแƒ”แƒ  แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒ›แƒจแƒแƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜แƒ— (แƒฌแƒ˜แƒ—แƒ”แƒšแƒ˜), แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒขแƒ˜แƒžแƒ˜แƒ— (แƒ›แƒฌแƒ•แƒแƒœแƒ”) แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒ™แƒฃแƒ“แƒจแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— (แƒšแƒฃแƒ แƒฏแƒ˜) แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ LMDB แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒ’แƒ แƒแƒคแƒ˜แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ’แƒ–แƒ. แƒ˜แƒ›แƒแƒ•แƒ” แƒฌแƒ˜แƒ—แƒ”แƒšแƒ˜ แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ•แƒšแƒ แƒ’แƒ•แƒแƒซแƒšแƒ”แƒ•แƒก แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ˜แƒ› แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒจแƒ˜ (แƒ›แƒแƒ แƒฏแƒ•แƒœแƒ˜แƒ•), แƒงแƒแƒ•แƒ”แƒšแƒ’แƒ•แƒแƒ แƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ

แƒ›แƒกแƒแƒคแƒšแƒ˜แƒแƒจแƒ˜ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒแƒ  แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ, แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒฌแƒ แƒแƒคแƒ˜ - แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒœแƒแƒฌแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ C แƒ”แƒœแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒ—. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ“แƒ”แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒ—. NodeKey.

typedef struct NodeKey {โ€‹
    EntityId parentId;โ€‹
    uint8_t type;โ€‹
    uint8_t nameBuffer[256];โ€‹
} NodeKey;

แฒจแƒ”แƒœแƒแƒฎแƒ•แƒ NodeKey แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒจแƒ˜ MDB_val แƒ’แƒแƒœแƒแƒ—แƒแƒ•แƒกแƒ”แƒ— แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” แƒ“แƒ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒแƒšแƒ”แƒ— แƒ›แƒแƒ—แƒ˜ แƒ–แƒแƒ›แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ— sizeof.

MDB_val serialize(NodeKey * const key) {
    return MDB_val {
        .mv_size = sizeof(NodeKey),
        .mv_data = (void *)key
    };
}

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒ™แƒ แƒ˜แƒขแƒ”แƒ แƒ˜แƒฃแƒ›แƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ—แƒแƒ•แƒจแƒ˜ แƒ›แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ” แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช CRUD แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒคแƒแƒฅแƒขแƒแƒ แƒ˜. แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ serialize แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ , LMDB-แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒ—แƒ˜ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒฉแƒแƒกแƒ›แƒฃแƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒ“แƒแƒœ แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜ แƒฏแƒ”แƒ  แƒ’แƒแƒ“แƒแƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒแƒ“, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒ˜แƒงแƒ แƒ”แƒ‘แƒ แƒกแƒแƒชแƒแƒ•แƒจแƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› LMDB-แƒจแƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒคแƒแƒœแƒขแƒแƒกแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒ iOS แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒ”แƒ‘แƒ˜แƒ— - แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒกแƒขแƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒ“แƒแƒœ แƒ“แƒ˜แƒกแƒ™แƒแƒ›แƒ“แƒ”!

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒšแƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒ’แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒซแƒ แƒแƒ•แƒแƒ› แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒชแƒ˜แƒก แƒ›แƒแƒ—แƒจแƒ˜ แƒจแƒ”แƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ›แƒแƒœแƒขแƒ˜แƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ• แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒกแƒฎแƒ•แƒ แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒแƒ  แƒแƒฅแƒ•แƒก แƒ’แƒแƒ แƒ“แƒ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒ’แƒ แƒแƒคแƒ˜แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ— แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒ— แƒ‘แƒแƒ˜แƒข-แƒ‘แƒแƒ˜แƒข แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒแƒ–แƒ”. แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒกแƒแƒฌแƒงแƒแƒ‘แƒแƒ“ แƒฐแƒ’แƒแƒ•แƒก แƒ™แƒ•แƒ”แƒ—แƒ˜แƒก แƒœแƒแƒฏแƒแƒฎแƒ˜แƒ— แƒ’แƒแƒžแƒแƒ แƒกแƒ•แƒแƒก. แƒ—แƒฃแƒ›แƒชแƒ แƒฃแƒ‘แƒ แƒแƒšแƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒจแƒ˜ แƒ”แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ›แƒแƒฉแƒœแƒ˜แƒ. แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅ แƒ›แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ• แƒ’แƒ–แƒแƒ–แƒ” แƒ›แƒ˜แƒ›แƒแƒคแƒแƒœแƒขแƒฃแƒš แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ แƒแƒ™แƒก.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒช แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก, แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒžแƒ แƒ˜แƒ›แƒ˜แƒขแƒ˜แƒฃแƒšแƒ˜ แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ. แƒแƒกแƒ” แƒ แƒแƒ›, Apple-แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ” แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜ แƒžแƒแƒขแƒแƒ แƒ แƒ”แƒœแƒ“แƒ˜แƒแƒœแƒ˜. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒชแƒฎแƒœแƒ˜แƒ• แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ— แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ—แƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜-แƒ‘แƒแƒ˜แƒขแƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ 0-แƒ“แƒแƒœ 511-แƒ›แƒ“แƒ” แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ›แƒ แƒแƒ•แƒšแƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ“แƒ”แƒ’แƒก.

// value (hex dump)
000 (0000)
256 (0001)
001 (0100)
257 (0101)
...
254 (fe00)
510 (fe01)
255 (ff00)
511 (ff01)

แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒšแƒแƒ“, แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒจแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜. แƒแƒฏแƒแƒฎแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒฎแƒ”แƒšแƒก แƒจแƒ”แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒแƒก. hton* (แƒ™แƒ”แƒ แƒซแƒแƒ“ htons แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ“แƒแƒœ แƒแƒ แƒ›แƒแƒ’แƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก).

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒคแƒแƒ แƒ›แƒแƒขแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒแƒ แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒ ะธัั‚ะพั€ะธั. แƒ—แƒฃ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ›แƒแƒœแƒขแƒ˜แƒ™แƒ, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒจแƒ˜แƒคแƒ•แƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜, แƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ‘แƒก, แƒ แƒแƒ› แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ”แƒ แƒ—แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜ แƒ—แƒ˜แƒ—แƒ แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ˜แƒ แƒฃแƒแƒ แƒ˜ แƒ—แƒฅแƒ•แƒแƒœ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒแƒ–แƒ”.

แƒ›แƒ”แƒแƒ แƒ” แƒ แƒแƒช แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ”แƒ‘แƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜. แƒ›แƒแƒ— แƒ’แƒแƒ›แƒ, แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฉแƒแƒ›แƒแƒงแƒแƒšแƒ˜แƒ‘แƒ“แƒ”แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก, แƒ แƒแƒช, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒ แƒฆแƒ•แƒ”แƒ•แƒก แƒ‘แƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒแƒก. แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒแƒฆแƒ›แƒแƒกแƒแƒคแƒฎแƒ•แƒ แƒ”แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒแƒชแƒฎแƒแƒ“แƒแƒ— แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—, แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒœ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ“แƒ”แƒ™แƒšแƒแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜. packed.

แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ แƒ’แƒแƒ แƒ” แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ 

แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ“ แƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ. แƒ›แƒ” แƒ˜แƒšแƒฃแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒ›แƒแƒ•แƒแƒฎแƒ“แƒ”แƒœ แƒ›แƒแƒ— แƒฌแƒแƒ แƒ›แƒแƒฉแƒ”แƒœแƒแƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒฃแƒ™แƒ•แƒ” แƒœแƒแƒชแƒœแƒแƒ‘แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ–แƒ”.

typedef struct NodeKey {โ€‹
    EntityId parentId;โ€‹
    uint8_t type;โ€‹
    uint8_t nameBuffer[256];โ€‹
} NodeKey;

แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒก แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“, แƒฃแƒ›แƒ”แƒขแƒ”แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ‘แƒ”แƒ•แƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ›แƒแƒ˜แƒฎแƒ›แƒแƒ แƒก. แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜แƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜ แƒแƒ แƒ˜แƒก 256 แƒ‘แƒแƒ˜แƒขแƒ˜, แƒ—แƒฃแƒ›แƒชแƒ แƒกแƒแƒจแƒฃแƒแƒšแƒแƒ“ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“ แƒแƒฆแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ 20-30 แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒก.

แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒแƒ แƒ›แƒ˜แƒกแƒ˜ โ€žแƒ›แƒแƒญแƒ แƒโ€œ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ–แƒแƒ›แƒแƒ–แƒ” แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒแƒ“. แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ˜ แƒ˜แƒ›แƒแƒจแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒกแƒ˜แƒ’แƒ แƒซแƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒจแƒ˜แƒ’แƒ—แƒแƒ•แƒกแƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ‘แƒฃแƒคแƒ”แƒ แƒจแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ‘แƒแƒšแƒแƒก, แƒฎแƒแƒšแƒ แƒ›แƒแƒ—แƒ˜ แƒกแƒ˜แƒ’แƒ แƒซแƒ” แƒชแƒแƒšแƒ™แƒ” แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒจแƒ˜.แƒแƒ› แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ NodeKey แƒ’แƒแƒ แƒ“แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“.

typedef struct NodeKey {โ€‹
    EntityId parentId;โ€‹
    uint8_t type;โ€‹
    uint8_t nameLength;โ€‹
    uint8_t nameBuffer[256];โ€‹
} NodeKey;

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ–แƒแƒ›แƒ sizeof แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ•แƒ”แƒšแƒ˜แƒก แƒ–แƒแƒ›แƒ แƒแƒ แƒ˜แƒก แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ’แƒ แƒซแƒ” แƒžแƒšแƒฃแƒก แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒ–แƒแƒ›แƒ.

MDB_val serialize(NodeKey * const key) {
    return MDB_val {
        .mv_size = offsetof(NodeKey, nameBuffer) + key->nameLength,
        .mv_data = (void *)key
    };
}

แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ“แƒแƒœแƒแƒ–แƒแƒ’แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒคแƒ”แƒ แƒแƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” nameLength, แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ แƒแƒฆแƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ•แƒชแƒ•แƒšแƒ˜แƒ— แƒ›แƒแƒก แƒฉแƒ•แƒ”แƒœแƒ˜แƒ—, แƒ›แƒแƒจแƒ˜แƒœ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒกแƒ˜แƒ’แƒ แƒซแƒ” แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฃแƒคแƒ แƒ แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒฃแƒšแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜ แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒแƒจแƒ˜, แƒ•แƒ˜แƒ“แƒ แƒ” แƒ—แƒแƒ•แƒแƒ“ แƒกแƒแƒฎแƒ”แƒšแƒ˜.

LMDB แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ. แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— mdb_set_compare แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ’แƒแƒฎแƒกแƒœแƒแƒ›แƒ“แƒ”. แƒแƒจแƒ™แƒแƒ แƒ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒกแƒแƒก, แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ แƒ˜แƒฆแƒ”แƒ‘แƒก แƒแƒ  แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒก แƒ‘แƒ˜แƒœแƒแƒ แƒฃแƒš แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜, แƒฎแƒแƒšแƒ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ–แƒ” แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒก: (-1-แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜), (1)-แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒแƒœ แƒขแƒแƒšแƒ˜ (0). แƒคแƒกแƒ”แƒ•แƒ“แƒแƒ™แƒแƒ“แƒ˜ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก NodeKey แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ.

int compare(MDB_val * const a, MDB_val * const b) {โ€‹
    NodeKey * const aKey = (NodeKey * const)a->mv_data;โ€‹
    NodeKey * const bKey = (NodeKey * const)b->mv_data;โ€‹
    return // ...
}โ€‹

แƒกแƒแƒœแƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒขแƒ˜แƒžแƒ˜แƒกแƒแƒ, แƒ™แƒแƒœแƒแƒœแƒ˜แƒ”แƒ แƒ˜แƒ แƒ›แƒแƒ—แƒ˜ แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒฃแƒžแƒ˜แƒ แƒแƒ‘แƒแƒ“ แƒ’แƒแƒ“แƒแƒชแƒ”แƒ›แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒขแƒ˜แƒžแƒ–แƒ”. แƒแƒฅ แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—แƒ˜ แƒœแƒ˜แƒฃแƒแƒœแƒกแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒ˜แƒšแƒฃแƒšแƒ˜ แƒชแƒแƒขแƒ แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒฅแƒ•แƒ”แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ "แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜".

แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ

แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—, LMDB แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ˜แƒœแƒขแƒ”แƒœแƒกแƒ˜แƒฃแƒ แƒแƒ“. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒแƒ“แƒแƒ แƒ”แƒ‘แƒ”แƒœ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒ–แƒ”. แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒกแƒแƒ›แƒงแƒแƒ แƒแƒจแƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒแƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ“แƒแƒ แƒ”แƒ‘แƒšแƒแƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฃ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒแƒกแƒจแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒกแƒ”แƒ แƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜.

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒแƒ  แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก Value-แƒœแƒแƒฌแƒ˜แƒšแƒ˜ (แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ). แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒ แƒ‘แƒแƒ˜แƒขแƒ˜แƒ“แƒแƒœ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒแƒ“ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒก แƒฃแƒ™แƒ•แƒ” แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒ˜แƒกแƒ˜ แƒ”แƒ™แƒ แƒแƒœแƒ–แƒ” แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ”แƒก แƒฎแƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“, แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜ แƒแƒ แƒช แƒ—แƒฃ แƒ˜แƒกแƒ” แƒ™แƒ แƒ˜แƒขแƒ˜แƒ™แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒฉแƒ•แƒ”แƒœ แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒแƒ“ แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒคแƒแƒ™แƒฃแƒกแƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ‘แƒแƒ–แƒ”. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฏแƒ”แƒ  แƒแƒ  แƒ’แƒแƒ“แƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— NSKeyedArchiver.

NSData *data = serialize(object);โ€‹
MDB_val value = {โ€‹
    .mv_size = data.length,โ€‹
    .mv_data = (void *)data.bytesโ€‹
};

แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ แƒ˜แƒก แƒ“แƒ แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ›แƒ”แƒขแƒ-แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒกแƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ’แƒแƒ•แƒกแƒแƒงแƒ แƒ”แƒšแƒก. แƒ›แƒแƒ—แƒ˜ แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ›แƒแƒ“แƒ’แƒ”แƒœแƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ˜แƒก แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒแƒกแƒ˜แƒก แƒ˜แƒ”แƒ แƒแƒ แƒฅแƒ˜แƒ˜แƒ—.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

C แƒ”แƒœแƒแƒ–แƒ” แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒ—แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒชแƒแƒšแƒ™แƒ” แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ’แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒแƒกแƒ—แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ˜แƒžแƒ˜แƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒ–แƒฃแƒกแƒขแƒ“แƒ”แƒ‘แƒ. แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒขแƒ˜แƒžแƒ˜แƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—.

typedef struct NodeValue {โ€‹
    EntityId localId;โ€‹
    EntityType type;โ€‹
    union {โ€‹
        FileInfo file;โ€‹
        DirectoryInfo directory;โ€‹
    } info;โ€‹
    uint8_t nameLength;โ€‹
    uint8_t nameBuffer[256];โ€‹
} NodeValue;โ€‹

แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ

แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒแƒก แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒแƒก. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ mdb_put.

// key ะธ value ะธะผะตัŽั‚ ั‚ะธะฟ MDB_valโ€‹
mdb_put(..., &key, &value, MDB_NOOVERWRITE);

แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ–แƒ”, แƒกแƒแƒชแƒแƒ•แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ”แƒชแƒ”แƒก แƒแƒœ แƒแƒ˜แƒ™แƒ แƒซแƒแƒšแƒแƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ—.โ€‹ แƒ—แƒฃ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ แƒ”แƒ‘แƒ แƒแƒ™แƒ แƒซแƒแƒšแƒฃแƒšแƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ˜แƒกแƒแƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ—, แƒ“แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒฃแƒ™แƒ•แƒ” แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ. แƒ—แƒฃ แƒ’แƒแƒคแƒฃแƒญแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ›แƒแƒจแƒ˜แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ–แƒฆแƒ•แƒ˜แƒแƒ— แƒ›แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— NOOVERWRITE.

แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ

LMDB-แƒจแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒแƒ แƒ˜แƒก mdb_get. แƒ—แƒฃ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒแƒ“แƒ แƒ” แƒ’แƒแƒ“แƒแƒงแƒ แƒ˜แƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ.

NodeValue * const readNode(..., NodeKey * const key) {โ€‹
    MDB_val rawKey = serialize(key);โ€‹
    MDB_val rawValue;โ€‹
    mdb_get(..., &rawKey, &rawValue);โ€‹
    return (NodeValue * const)rawValue.mv_data;โ€‹
}

แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒ˜ แƒ’แƒ•แƒ˜แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ’แƒแƒ•แƒกแƒแƒงแƒ แƒ”แƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒ˜แƒชแƒ˜แƒšแƒแƒ— แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒ”แƒ แƒ˜แƒกแƒแƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒแƒก. แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” mdb_get แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก, แƒกแƒแƒ“แƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜แƒก แƒ‘แƒแƒ˜แƒขแƒ˜แƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒแƒก. แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ”แƒ แƒ—แƒ’แƒ•แƒแƒ  ORM-แƒก, แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒฃแƒคแƒแƒกแƒแƒ“, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒฆแƒแƒš แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒก. แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒ˜แƒšแƒแƒ›แƒแƒ–แƒ˜แƒ—, แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒ— แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒ”แƒšแƒ˜.

  1. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒ˜ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ› แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒฎแƒฃแƒ แƒ•แƒแƒ›แƒ“แƒ”. แƒ แƒแƒ’แƒแƒ แƒช แƒฃแƒ™แƒ•แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒ”แƒ—, B-แƒฎแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ–แƒ”แƒช แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ˜ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก, แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ-แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒฃแƒชแƒ•แƒšแƒ”แƒšแƒ˜ แƒ แƒฉแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒ แƒ˜แƒ’แƒ”แƒ‘แƒ แƒ”แƒฎแƒ”แƒ‘แƒ แƒ›แƒแƒ—. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒแƒšแƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ, แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒฉแƒ”แƒœแƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ˜แƒกแƒ˜แƒœแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ™แƒแƒžแƒ˜แƒ แƒ“แƒ”แƒก.
  2. แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ›แƒแƒ“แƒ˜แƒคแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒแƒ›แƒ“แƒ” (แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ แƒแƒœ แƒฌแƒแƒจแƒšแƒ).
  3. แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ NodeValue แƒแƒ แƒ แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒญแƒ แƒ˜แƒšแƒ˜ (แƒ˜แƒฎ. แƒฅแƒ•แƒ”แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ "แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ แƒ’แƒแƒ แƒ” แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—"), แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒจแƒ”แƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ›แƒ˜แƒก แƒ•แƒ”แƒšแƒ”แƒ‘แƒ–แƒ”. แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ, แƒแƒ  แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— แƒ˜แƒ’แƒ˜!
  4. แƒแƒ แƒแƒ•แƒ˜แƒ—แƒแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒงแƒ•แƒ”แƒšแƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜แƒ— mdb_put. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒฃแƒ แƒ•แƒ˜แƒšแƒ˜แƒ—, แƒ”แƒก แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ”แƒแƒšแƒ˜, แƒกแƒแƒ“แƒแƒช แƒ”แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก, แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜.
  5. แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜, แƒ แƒแƒ—แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ’แƒแƒ–แƒแƒ แƒ“แƒแƒ— แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ–แƒแƒ›แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— mdb_env_set_map_size แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒก แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ“แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ”แƒ‘แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“ แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“.

แƒ“แƒแƒ‘แƒแƒšแƒแƒก, แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ แƒ˜แƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ›แƒ–แƒแƒ™แƒ•แƒ แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒŸแƒฆแƒแƒ•แƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ— แƒžแƒฃแƒœแƒฅแƒขแƒจแƒ˜ แƒแƒ  แƒฏแƒ“แƒ”แƒ‘แƒ. B-แƒฎแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒ—แƒแƒ•แƒจแƒ˜ แƒ›แƒ” แƒ›แƒ˜แƒ•แƒ”แƒชแƒ˜ แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ. แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก, แƒ แƒแƒ› แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ‘แƒฃแƒคแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“ แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒ˜. แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ›แƒแƒ—แƒ–แƒ” แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ, แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ MDB_val แƒ“แƒ แƒ›แƒ˜แƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ–แƒ” แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒ›แƒ˜แƒฃแƒ›แƒแƒ แƒ—แƒแƒ•แƒ˜แƒ. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒฉแƒ˜แƒžแƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ (IOS-แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก armv7) แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก, แƒ แƒแƒ› แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜ แƒ˜แƒงแƒแƒก แƒ›แƒแƒœแƒฅแƒแƒœแƒฃแƒ แƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒฏแƒ”แƒ แƒแƒ“แƒ˜, แƒแƒœ, แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ‘แƒ˜แƒขแƒ˜. (armv7-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒก แƒแƒ แƒ˜แƒก 32 แƒ‘แƒ˜แƒขแƒ˜). แƒกแƒฎแƒ•แƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒ— แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ *(int *foo)0x800002 แƒ›แƒแƒ—แƒ–แƒ” แƒ’แƒแƒฅแƒชแƒ”แƒ•แƒแƒก แƒฃแƒขแƒแƒšแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒœแƒแƒฉแƒ”แƒœแƒ˜แƒ— แƒแƒฆแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ›แƒ˜แƒ•แƒงแƒแƒ•แƒแƒ แƒ— EXC_ARM_DA_ALIGN. แƒแƒกแƒ”แƒ—แƒ˜ แƒกแƒ”แƒ•แƒ“แƒ˜แƒแƒœแƒ˜ แƒ‘แƒ”แƒ“แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒแƒ แƒ˜ แƒ’แƒ–แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ แƒชแƒœแƒแƒ‘แƒ˜แƒš แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒš แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒแƒ‘แƒแƒŸแƒ แƒจแƒ”แƒกแƒแƒ“แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ–แƒ”, แƒ”แƒก แƒแƒ˜แƒกแƒแƒฎแƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“.

int compare(MDB_val * const a, MDB_val * const b) {
    NodeKey aKey, bKey;
    memcpy(&aKey, a->mv_data, a->mv_size);
    memcpy(&bKey, b->mv_data, b->mv_size);
    return // ...
}

แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ’แƒ–แƒแƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒšแƒ˜แƒก แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒ˜แƒœแƒคแƒแƒ แƒ›แƒ˜แƒ แƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒ˜แƒงแƒแƒก แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. aligned(1). ARM-แƒ–แƒ” แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ”แƒคแƒ”แƒฅแƒขแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ˜แƒแƒ— แƒ“แƒ แƒจแƒ”แƒคแƒฃแƒ—แƒฃแƒšแƒ˜ แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› แƒ˜แƒก แƒแƒกแƒ”แƒ•แƒ” แƒฎแƒ”แƒšแƒก แƒฃแƒฌแƒงแƒแƒ‘แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก, แƒ”แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒฃแƒคแƒ แƒ แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜แƒ, แƒ—แƒฃแƒ›แƒชแƒ ะฟั€ะธะฒะพะดะธั‚ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—.

typedef struct __attribute__((packed)) NodeKey {
    uint8_t parentId;
    uint8_t type;
    uint8_t nameLength;
    uint8_t nameBuffer[256];
} NodeKey;

แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜

แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ–แƒ” แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, LMDB แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜แƒก แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒแƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฎแƒ”แƒ“แƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ•แƒ˜แƒ›แƒฃแƒจแƒแƒแƒ— แƒ›แƒแƒกแƒ—แƒแƒœ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒฃแƒ™แƒ•แƒ” แƒœแƒแƒชแƒœแƒแƒ‘แƒ˜.

แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ˜แƒžแƒแƒ•แƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ—แƒแƒœแƒแƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ•แƒ˜แƒšแƒแƒ‘แƒ˜แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒ”แƒ‘แƒ˜. แƒฌแƒ˜แƒœแƒ แƒฅแƒ•แƒ”แƒ—แƒแƒ•แƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ NodeKey แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒ—แƒ˜ แƒ›แƒจแƒแƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ ID-แƒ˜แƒ—. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒแƒ“, แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜แƒก แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒก แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒ–แƒ”แƒ“แƒ แƒกแƒแƒ–แƒฆแƒ•แƒแƒ แƒ–แƒ” แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒ—, แƒ แƒแƒกแƒแƒช แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ แƒฅแƒ•แƒ”แƒ“แƒ แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ›แƒ“แƒ”.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒ–แƒ”แƒ“แƒ แƒ–แƒฆแƒ•แƒแƒ แƒ˜ "แƒจแƒฃแƒ‘แƒšแƒ–แƒ”" แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜ แƒ›แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒ˜แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒขแƒฃแƒšแƒแƒ‘แƒก แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› แƒ›แƒ˜แƒก แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒ™แƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜. แƒแƒ› แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒแƒก แƒแƒฅแƒ•แƒก 2 แƒแƒจแƒ™แƒแƒ แƒ แƒœแƒแƒ™แƒšแƒ˜:

  1. แƒซแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ แƒคแƒ˜แƒ•แƒ˜ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”, แƒ—แƒฃแƒ›แƒชแƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒฎแƒ”แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒแƒ“ B-แƒฎแƒ”แƒจแƒ˜, แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒšแƒแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒฃแƒš แƒ“แƒ แƒแƒจแƒ˜.
  2. แƒฃแƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฌแƒ˜แƒœ แƒฃแƒกแƒฌแƒ แƒ”แƒ‘แƒก แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒก, แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒแƒ›แƒแƒฆแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ แƒแƒช แƒซแƒแƒšแƒ˜แƒแƒœ แƒซแƒ•แƒ˜แƒ แƒ˜แƒ.

แƒกแƒแƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ แƒแƒ“, LMDB API แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ™แƒฃแƒ แƒกแƒแƒ แƒ˜แƒก แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ  แƒ’แƒ–แƒแƒก.แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ›แƒแƒแƒงแƒแƒšแƒ˜แƒ‘แƒแƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ, แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒ•แƒแƒšแƒ˜แƒก แƒ–แƒ”แƒ“แƒ แƒ–แƒฆแƒ•แƒแƒ แƒ–แƒ” แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ” แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒแƒœ แƒขแƒแƒšแƒ˜. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒคแƒ˜แƒ’แƒฃแƒ แƒแƒจแƒ˜ แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒกแƒ˜แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ•แƒ”แƒšแƒ˜ parentId แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ 2-แƒ˜แƒก แƒขแƒแƒšแƒ˜, แƒฎแƒแƒšแƒ แƒ“แƒแƒœแƒแƒ แƒฉแƒ”แƒœแƒ˜ แƒ˜แƒ•แƒกแƒ”แƒ‘แƒ แƒœแƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—. แƒแƒกแƒ”แƒ—แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ”แƒฌแƒแƒ“แƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒแƒก mdb_cursor_get แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒ— MDB_SET_RANGE.

NodeKey upperBoundSearchKey = {โ€‹
    .parentId = 2,โ€‹
    .type = 0,โ€‹
    .nameLength = 0โ€‹
};โ€‹
MDB_val value, key = serialize(upperBoundSearchKey);โ€‹
MDB_cursor *cursor;โ€‹
mdb_cursor_open(..., &cursor);โ€‹
mdb_cursor_get(cursor, &key, &value, MDB_SET_RANGE);

แƒ—แƒฃ แƒœแƒแƒžแƒแƒ•แƒœแƒ˜แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฏแƒ’แƒฃแƒคแƒ˜แƒก แƒ–แƒ”แƒ“แƒ แƒ–แƒฆแƒ•แƒแƒ แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ— แƒ›แƒแƒกแƒ–แƒ”, แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒจแƒ”แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒœ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒแƒก. parentId, แƒแƒœ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒแƒ›แƒแƒ˜แƒฌแƒฃแƒ แƒ”แƒ‘แƒ.

do {โ€‹
    rc = mdb_cursor_get(cursor, &key, &value, MDB_NEXT);โ€‹
    // processing...โ€‹
} while (MDB_NOTFOUND != rc && // check end of tableโ€‹
         IsTargetKey(key));    // check end of keys groupโ€‹โ€‹

แƒ แƒ แƒ™แƒแƒ แƒ’แƒ˜แƒ, แƒ แƒแƒ’แƒแƒ แƒช mdb_cursor_get-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒกแƒแƒช. แƒ—แƒฃ แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒแƒ, แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒŸแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

4.3. แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ“แƒ”แƒšแƒ˜แƒ แƒ”แƒ‘แƒ

แƒ“แƒฆแƒ”แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ— แƒ”แƒ แƒ—แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒแƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ. แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ แƒแƒ› แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ“แƒ’แƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒขแƒ˜แƒžแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜-แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ— แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒก แƒ›แƒแƒ แƒ—แƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ— แƒ“แƒ แƒ›แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒงแƒฃแƒ—แƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ  แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒก.

โ€‹

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ—แƒฃแƒ›แƒชแƒ, แƒ แƒ”แƒแƒšแƒฃแƒ  แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒกแƒ˜แƒกแƒฎแƒšแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ แƒฉแƒ”แƒœแƒ. แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒแƒ, แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ แƒ“แƒ แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒ›แƒแƒ—แƒจแƒ˜ แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒฉแƒแƒขแƒแƒ แƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—. แƒ”แƒก แƒ‘แƒแƒšแƒ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒ”แƒซแƒฆแƒ•แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒ แƒ“แƒ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒก.

แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜

แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒแƒฅแƒ•แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ "แƒ’แƒแƒšแƒ”แƒ แƒ”แƒ". แƒ˜แƒก แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒ”แƒ“แƒ˜แƒ แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒšแƒ˜แƒ“แƒแƒœ, แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒแƒ แƒ˜แƒฆแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—. แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ•แƒ”แƒšแƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ—แƒแƒ แƒ˜แƒฆแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒ˜แƒก แƒ™แƒ แƒ˜แƒขแƒ”แƒ แƒ˜แƒฃแƒ›แƒ˜. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ”แƒฎแƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒก, แƒ›แƒแƒ— แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ”แƒœ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒก. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜แƒ แƒคแƒแƒ แƒ—แƒแƒฎแƒšแƒ˜แƒกแƒคแƒ แƒแƒ“ แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒกแƒฃแƒ แƒแƒ—แƒ–แƒ”.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒ˜แƒ›แƒแƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒชแƒแƒšแƒ™แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—, แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ—แƒ’แƒแƒœแƒก แƒ“แƒแƒ”แƒ›แƒแƒขแƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ•แƒ”แƒšแƒ˜ tableId. แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒแƒฆแƒšแƒ”แƒก แƒžแƒ แƒ˜แƒแƒ แƒ˜แƒขแƒ”แƒขแƒแƒ“ แƒ›แƒ˜แƒฅแƒชแƒ”แƒ•แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒฏแƒ’แƒฃแƒคแƒ”แƒ‘แƒ— แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ”แƒ‘แƒก แƒฏแƒ”แƒ  แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ“แƒ แƒฃแƒ™แƒ•แƒ” แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— - แƒฉแƒ•แƒ”แƒœแƒ˜ แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—.

แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ”แƒฎแƒ”แƒ‘แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜. แƒแƒ› แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒแƒกแƒšแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒแƒ แƒแƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜แƒ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—:โ€‹

  1. แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒ“แƒ˜แƒ“แƒแƒ แƒ˜ แƒ˜แƒงแƒแƒก.
  2. แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ— แƒแƒ แƒ˜ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒ”แƒ แƒ.
  3. แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ˜แƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒแƒก, แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒจแƒ˜ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒฃแƒกแƒแƒ‘แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒฎแƒ•แƒ”แƒฌแƒ˜แƒš แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒแƒฆแƒ›แƒแƒ˜แƒคแƒฎแƒ•แƒ แƒแƒก แƒ”แƒก แƒฎแƒแƒ แƒ•แƒ”แƒ–แƒ”แƒ‘แƒ˜.

แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ

แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“ "แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ แƒแƒ’แƒแƒ แƒช แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ". แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒแƒ‘แƒก, แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒแƒกแƒšแƒ˜. แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒ’แƒแƒ›แƒแƒ แƒ˜แƒชแƒฎแƒแƒ•แƒก แƒ–แƒ”แƒ›แƒแƒ— แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒš แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒ˜แƒœแƒฃแƒกแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒก แƒแƒกแƒšแƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒกแƒ—แƒแƒœ. แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒกแƒแƒคแƒแƒกแƒฃแƒ แƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒแƒ“, แƒ”แƒ แƒ—แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, 2 แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜. แƒกแƒฅแƒ”แƒ›แƒแƒขแƒฃแƒ แƒแƒ“, แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜แƒ "แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜". แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก แƒ˜แƒ›แƒแƒจแƒ˜, แƒ แƒแƒ› แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒก แƒ“แƒแƒ”แƒ›แƒแƒขแƒแƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒแƒ แƒ แƒ“แƒแƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒแƒกแƒแƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒก แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. Mail.ru Cloud แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒ”แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜, แƒ—แƒฃแƒ›แƒชแƒ, แƒฆแƒ แƒ›แƒ แƒฉแƒแƒซแƒ˜แƒ แƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ iOS แƒฉแƒแƒ แƒฉแƒแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜, แƒ›แƒ” แƒ›แƒแƒ’แƒชแƒ”แƒ›แƒ— แƒคแƒ˜แƒฅแƒขแƒ˜แƒฃแƒ , แƒ›แƒแƒ’แƒ แƒแƒ› แƒฃแƒคแƒ แƒ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก.

Cloud แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, แƒกแƒแƒ“แƒแƒช แƒœแƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ›แƒ แƒ’แƒแƒฃแƒ–แƒ˜แƒแƒ แƒ แƒกแƒฎแƒ•แƒ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒก. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒแƒกแƒ”แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒชแƒแƒขแƒแƒ แƒ“แƒ แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒกแƒแƒฏแƒแƒ แƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ (แƒ•แƒ˜แƒก แƒแƒฅแƒ•แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ, แƒ แƒ แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ.แƒจ.), แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ แƒแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ—. แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒคแƒšแƒแƒ˜แƒœ แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒแƒ˜แƒœแƒช แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒกแƒแƒ“แƒ›แƒ”. แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜แƒ แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒ›แƒแƒ’แƒ˜แƒ“แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ. แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒš แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒแƒจแƒ˜ แƒ›แƒ˜แƒก แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒก แƒแƒฅแƒ•แƒก แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜ "P", แƒฎแƒแƒšแƒ "propname" แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก แƒฃแƒคแƒ แƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ— "public info".โ€‹

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒงแƒ•แƒ”แƒšแƒ แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒแƒฎแƒแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜, แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒšแƒ˜แƒ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒแƒ  แƒ›แƒกแƒฃแƒ แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒ›แƒ—แƒแƒ•แƒแƒ  แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜. แƒแƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ "P" แƒ™แƒšแƒแƒ•แƒ˜แƒจแƒก "แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก ID" แƒ“แƒ "แƒ“แƒ แƒแƒ˜แƒก แƒแƒœแƒแƒ‘แƒ”แƒญแƒ“แƒ˜แƒก" แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ˜แƒ—. แƒ›แƒแƒ—แƒ˜ แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒแƒฌแƒงแƒแƒ— แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช, แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ™แƒ•แƒแƒœแƒซแƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ•แƒแƒคแƒแƒกแƒ”แƒ‘แƒ— LMDB แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒก. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒงแƒ˜แƒœแƒ•แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ 30%-แƒ˜แƒ— แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ.

แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก LMDB แƒ‘แƒ แƒฌแƒงแƒ˜แƒœแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒ˜แƒฆแƒแƒ แƒ˜แƒ‘แƒ” iOS แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒจแƒ˜

แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ›แƒ แƒ˜แƒžแƒแƒ•แƒ แƒ’แƒแƒ›แƒแƒฎแƒ›แƒแƒฃแƒ แƒ”แƒ‘แƒ iOS แƒ’แƒฃแƒœแƒ“แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ—. แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒœแƒ“แƒ แƒแƒ˜แƒ“แƒ˜แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ โ€žแƒคแƒแƒ˜แƒšแƒ˜แƒกโ€œ แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒช LMDB-แƒ–แƒ”แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒ–แƒแƒจแƒ˜แƒ. C แƒ”แƒœแƒ, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ, แƒ™แƒแƒ แƒ’แƒ˜ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ˜แƒงแƒ, แƒ แƒแƒ—แƒ แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ›แƒ˜แƒก แƒ˜แƒ แƒ’แƒ•แƒšแƒ˜แƒ• แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ™แƒ˜แƒœแƒซแƒ•แƒ แƒฏแƒ•แƒแƒ แƒ”แƒ“แƒ˜แƒœแƒ˜ แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ แƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ C ++ แƒ”แƒœแƒแƒ–แƒ”. C ++ แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ˜แƒก แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก Objective-C-แƒกแƒ แƒ“แƒ Kotlin-แƒ˜แƒก แƒžแƒšแƒแƒขแƒคแƒแƒ แƒ›แƒ˜แƒก แƒ™แƒแƒ“แƒ—แƒแƒœ, แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒ”แƒœแƒ”แƒ แƒแƒขแƒแƒ แƒ˜. แƒฏแƒ˜แƒœแƒ˜ Dropbox-แƒ“แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒกแƒฎแƒ•แƒ แƒแƒ›แƒ‘แƒแƒ•แƒ˜แƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ