āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

2019 āĻ¸āĻžāĻ˛ā§‡āĻ° āĻļāĻ°āĻ¤ā§āĻ•āĻžāĻ˛ā§‡, Mail.ru āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ iOS āĻŸāĻŋāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜-āĻĒā§āĻ°āĻ¤ā§€āĻ•ā§āĻˇāĻŋāĻ¤ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ˜āĻŸā§‡āĻ›ā§‡āĨ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§‡āĻŸā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ–ā§āĻŦ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡ āĻ˛āĻžāĻ‡āĻŸāĻ¨āĻŋāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ (āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ)āĨ¤ āĻ•āĻžāĻŸā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻšāĻžāĻ°āĻŸāĻŋ āĻ…āĻ‚āĻļā§‡ āĻāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļāĻĻ āĻĒāĻ°ā§āĻ¯āĻžāĻ˛ā§‹āĻšāĻ¨āĻž āĻ…āĻĢāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻ¸ā§āĻ¨ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ…-āĻ¤ā§āĻšā§āĻ› āĻāĻŦāĻ‚ āĻ•āĻ āĻŋāĻ¨ āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻ•āĻžāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŋāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž 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-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻĒāĻ°āĻŋāĻŽāĻžāĻĒ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ āĻžāĻ¨ā§āĻĄāĻž āĻāĻ°āĻ¨āĻž āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡. āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯āĻŸāĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĻŋ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ—ā§āĻŖāĻŽāĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¸ā§‚āĻšāĻ•āĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻŽā§āĻ•ā§āĻ¤ āĻ›āĻŋāĻ˛, āĻ¤āĻŦā§‡ āĻĢā§‹āĻ•āĻžāĻ¸ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻĢā§āĻ°āĻŋāĻœ āĻĢā§āĻ°āĻŋāĻ¤ā§‡

āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°ā§‡ āĻĢā§āĻ°āĻŋāĻœ āĻ¸āĻš āĻĄā§āĻ¯āĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻāĻŦāĻ‚ āĻ–āĻ°āĻš āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖāĻ—āĻ¤ и āĻ—ā§āĻŖ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ°āĻŖ āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻļāĻ¤ā§āĻ°ā§ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡ - āĻ­āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻ¸āĻž āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—ā§‡āĻ° āĻŽā§‚āĻ˛ āĻĨā§āĻ°ā§‡āĻĄ āĻŽā§ƒāĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻāĻ‡ āĻ…āĻĒāĻŽāĻžāĻ¨ā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ›āĻŋāĻ˛ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻ¸ā§āĻ°ā§‹āĻ¤ā§‡ āĻ ā§‡āĻ˛ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻāĻ• āĻœā§āĻŦāĻ˛āĻ¨ā§āĻ¤ āĻ‡āĻšā§āĻ›āĻžāĨ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ˛āĻžāĻ‡āĻŸāĻ“āĻ¯āĻŧā§‡āĻŸ āĻ…āĻ­āĻŋāĻ¨ā§‡āĻ¤āĻžāĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĨā§āĻ°ā§‡āĻĄā§‡āĻĄ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ†āĻ‡āĻ“āĻāĻ¸ āĻŦāĻŋāĻļā§āĻŦā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ­āĻŋāĻ¯ā§‹āĻœāĻ¨ā§‡ āĻ‰ā§ŽāĻ¸āĻ°ā§āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ āĻĻā§āĻŸāĻŋ āĻĨā§āĻ°ā§‡āĻĄ āĻ¯ā§ŒāĻĨ āĻŸā§āĻ‡āĻŸāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ HabrÊ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§. āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ā§‡āĻ° āĻ¸ā§‡āĻ‡ āĻĻāĻŋāĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻœā§‹āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ā§ˇ

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻ‚āĻ—āĻ āĻ¨ā§‡āĻ° āĻ…āĻ­āĻŋāĻ¨ā§‡āĻ¤āĻž āĻŽāĻĄā§‡āĻ˛ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚ āĻ¤āĻžāĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ¸āĻžāĻ°āĻžāĻ‚āĻļ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡āĨ¤ āĻāĻ¤ā§‡ āĻŽāĻĄā§‡āĻ˛ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻ°ā§‹āĻ¤ā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻž āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻāĻŸāĻŋ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻāĻŦāĻ‚ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻ•āĻ°ā§‡

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻĄāĻžāĻ¯āĻŧāĻžāĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻŽā§‚āĻ˛ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĨ¤ āĻāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻžāĻœ āĻšāĻ˛ āĻŽā§āĻ¯āĻžāĻ•ā§āĻ°ā§‹āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸. āĻ¯āĻĻāĻŋ āĻāĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°āĻžāĻ‡āĻœ āĻŦāĻŋāĻļā§āĻŦā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ…āĻ­āĻŋāĻ¨ā§‡āĻ¤āĻž āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ - āĻĨā§āĻ°ā§‡āĻĄāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻžāĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯āĻž āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĨā§āĻ°ā§‡āĻĄā§‡āĻĄ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻ—ā§āĻ˛āĻŋ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻĨā§āĻ°ā§‡āĻĄ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻāĻŦāĻ‚ āĻ†āĻĻāĻ°ā§āĻļāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ…-āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻŸāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻ˛āĻ•āĻŋāĻ‚ āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĨā§āĻ°ā§‡āĻĄ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻ¯ā§‹āĻ—ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ¤ā§‡ āĻ‰āĻĒāĻ•āĻžāĻ°ā§€ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛ā§‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻāĻĒāĻŋāĻ†āĻ‡āĨ¤ āĻāĻŸāĻŋ āĻ—āĻŋāĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—ā§ƒāĻšā§€āĻ¤ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¨ā§āĻĒā§āĻ°āĻžāĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻ¤ā§‹, āĻ†āĻŽāĻ°āĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ…āĻĢāĻ˛āĻžāĻ‡āĻ¨-āĻĒā§āĻ°āĻĨāĻŽ API, āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻļāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻāĻŸāĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŦāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻžāĻŽā§āĻĒ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ˜āĻŸāĻŦā§‡ āĻ°ā§‹āĻ˛āĻŋāĻ‚ āĻ†āĻ‰āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤ āĻšāĻžāĻ¯āĻŧ, āĻāĻ‡ āĻ¸ā§āĻ¯ā§‹āĻ—āĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ• āĻ…āĻžā§āĻšāĻ˛ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ°āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻĒā§āĻ¯āĻžāĻšāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻļāĻŋāĻ–ā§‡āĻ¨āĻŋāĨ¤ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯āĻŽā§‚āĻ˛āĻ• āĻ•āĻžāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž, āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻ¯āĻŧ āĻĻā§‡āĻ°āĻŋ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻŦāĻ¨ā§āĻ§āĻ¨ā§€ āĻ°ā§‡āĻ–ā§‡ āĻĻā§‡āĻŦāĨ¤ āĻāĻ–āĻ¨, āĻāĻ•āĻŸāĻŋ āĻāĻĒāĻŋāĻ†āĻ‡ āĻ¯āĻ–āĻ¨ "A" āĻŦāĻ˛ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻ­ā§‹āĻ•ā§āĻ¤āĻž "B" āĻ¨āĻž āĻŦāĻ˛ā§‡ āĻ¤āĻ–āĻ¨ āĻ•ā§€ āĻšāĻ¯āĻŧ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻžāĻ ā§‡āĻ° āĻļāĻŋāĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°āĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ†āĻ—ā§āĻ°āĻšā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ—āĻŋāĻŸ āĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨, āĻ¯āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸā§‡ āĻĒā§āĻ¯āĻžāĻš āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ˜āĻŸā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ• āĻ§āĻžāĻ°āĻŖāĻž āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻŸāĻŋ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŽā§‡āĻŸāĻž-āĻ¤āĻĨā§āĻ¯ āĻ¸āĻš āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĻā§āĻŸāĻŋ DOM āĻ—āĻžāĻ› āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ 500 āĻšāĻžāĻœāĻžāĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ 1 āĻŽāĻŋāĻ˛āĻŋāĻ¯āĻŧāĻ¨ āĻ¨ā§‹āĻĄ āĻ¸āĻš āĻĻā§āĻŸāĻŋ āĻ—āĻžāĻ› āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻˇā§āĻŸāĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻžāĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°āĻžāĻĢ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ‡ āĻ†āĻ˛ā§‹āĻ•ā§‡, āĻĒā§āĻ°ā§‹āĻĢāĻžāĻ‡āĻ˛āĻŋāĻ‚ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻ›āĻŋāĻ˛. āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻ¤ā§āĻ°ā§€āĻ•āĻ°āĻŖā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻ•ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ“, āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ›ā§‹āĻŸ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻĒāĻ¯āĻŧāĻ¸āĻž āĻ–āĻ°āĻš āĻšāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ–āĻžāĻ°āĻžāĻĒ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ°āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŽāĻžāĻ¨āĻĻāĻŖā§āĻĄāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻŋ - āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ CRUD āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĨ¤

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻ†āĻ°ā§‹ āĻāĻ¤āĻŋāĻšā§āĻ¯āĻ—āĻ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒāĨ¤

  1. āĻĨā§āĻ°ā§‡āĻĄ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž.
  2. āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĨā§āĻ°ā§‡āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¨āĻ¯āĻŧ, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ iOS āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĻ“ āĻ°āĻžāĻœā§āĻ¯ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ‡āĻšā§āĻ›āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤āĨ¤
  3. āĻ…-āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻ¸ā§āĻ¤ā§ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ•ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž
  4. CRUD āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ¨ā§‡āĻ‡āĨ¤
  5. āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ ACID: āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ•āĻ¤āĻž, āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻž, āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻžāĨ¤
  6. āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ—āĻ¤āĻŋ.

āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻāĻ‡ āĻ¸ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡, SQLite āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ°āĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻ‡ āĻœā§āĻĄāĻŧā§‡ āĻāĻ¸ā§‡āĻ›āĻŋāĻ˛ "āĻ˛ā§‡āĻ­ā§‡āĻ˛āĻĄāĻŋāĻŦāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž". āĻ¤āĻžāĻ° āĻ¨ā§‡āĻ¤ā§ƒāĻ¤ā§āĻŦā§‡, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœā§‡āĻ° āĻ—āĻ¤āĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻžā§āĻšāĻŽāĻžāĻ°ā§āĻ• āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻž āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ•āĻ°ā§‡āĻ›ā§‡. āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ - āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ° āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒāĻžāĻ“āĻ¯āĻŧāĻž - LMDB SQLite āĻĨā§‡āĻ•ā§‡ 10 āĻ—ā§āĻŖ āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻ° āĻšāĻ¤ā§‡ āĻĻā§‡āĻ–āĻž āĻ—ā§‡āĻ›ā§‡ā§ˇ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡.

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

2. LMDB āĻĒāĻœāĻŋāĻļāĻ¨āĻŋāĻ‚

LMDB āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ›ā§‹āĻŸ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 10K āĻ¸āĻžāĻ°āĻŋ) āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¸ā§āĻ¤āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡ - āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ SQLite āĻāĻ° āĻ¸āĻžāĻĨā§‡ LMDB āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻž, āĻ¯āĻž āĻ‰āĻšā§āĻš āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•ā§‹āĻ° āĻĄā§‡āĻŸāĻž āĻ¸āĻš SQLite āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻ¸āĻ āĻŋāĻ• āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ•āĻ‡ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ‡āĻžā§āĻœāĻŋāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¯ā§‹āĻ—ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻĻā§āĻ§ā§ƒāĻ¤ āĻ•āĻ°āĻž āĻ†āĻ°āĻ“ āĻ¨ā§āĻ¯āĻžāĻ¯ā§āĻ¯ āĻšāĻŦā§‡ - āĻŦāĻžāĻ°ā§āĻ•āĻ˛ā§‡āĻĄāĻŋāĻŦāĻŋ, āĻ˛ā§‡āĻ­ā§‡āĻ˛āĻĄāĻŋāĻŦāĻŋ, āĻ¸ā§‹āĻĢāĻŋāĻ¯āĻŧāĻž, āĻ°āĻ•āĻ¸āĻĄāĻŋāĻŦāĻŋ, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻŽāĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ LMDB SQLite-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ 2012 āĻ¸āĻžāĻ˛ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°āĻž LMDB āĻĻā§āĻŦāĻžāĻ°āĻž āĻšāĻžāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšā§. Đ ĐĩСŅƒĐģŅŒŅ‚Đ°Ņ‚Ņ‹ āĻāĻ¤āĻŸāĻžāĻ‡ āĻ•ā§ŒāĻ¤ā§‚āĻšāĻ˛ā§€ āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ āĻ˛ āĻ¯ā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĻā§āĻ¯ā§‹āĻ—āĻŸāĻŋ āĻ“āĻāĻ¸āĻāĻ¸ āĻ‰āĻ¤ā§āĻ¸āĻžāĻšā§€āĻ°āĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ° āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ˛ā§āĻŽā§‹āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛. 2020 āĻ¸āĻžāĻ˛ā§‡āĻ° āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋāĻ¤ā§‡, āĻāĻ‡ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ˛ā§‡āĻ–āĻ• āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻĄā§‡āĻ¨ āĻļāĻŋāĻ¯āĻŧāĻžāĻ°āĻžāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻāĻŸāĻŋ LinuxConfAu āĻāĨ¤

LMDB āĻŽā§‚āĻ˛āĻ¤ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻŸāĻŋ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¤āĻžāĻ° āĻšā§‡āĻšāĻžāĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‹āĻŖā§€ OpenLDAP, āĻ¯āĻžāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻžāĻ°ā§āĻ•āĻ˛ā§‡āĻĄāĻŋāĻŦāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ…āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻŸ āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ•āĻŸāĻŋ āĻļāĻžāĻ˛ā§€āĻ¨ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ btree, āĻšāĻžāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻ‡ āĻ—āĻ˛ā§āĻĒā§‡āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ-āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ° āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨āĻŸāĻŋ āĻ‰ā§ŽāĻ¸āĻ°ā§āĻ— āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤ "āĻĻā§āĻ¯ āĻ˛āĻžāĻ‡āĻŸāĻ¨āĻŋāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸". āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻœāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ˛āĻŋāĻ“āĻ¨āĻŋāĻĄ āĻ‡āĻ‰āĻ°āĻŋāĻ¯āĻŧā§‡āĻ­ (āĻ“āĻ°āĻĢā§‡ āĻ‡āĻ˛ā§‡āĻ“āĻšāĻžāĻ‡āĻ˛ā§‹āĻĄ 2015 āĻ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ā§‡ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻĨā§‡āĻ•ā§‡ "āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻšā§āĻ¯āĻžāĻŽā§āĻĒāĻŋāĻ¯āĻŧāĻ¨". āĻāĻŸāĻŋāĻ¤ā§‡, āĻ¤āĻŋāĻ¨āĻŋ ReOpenLDAP āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ•āĻžāĻœā§‡āĻ° āĻĒā§āĻ°āĻ¸āĻ™ā§āĻ—ā§‡ LMDB āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛ā§‡āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ LevelDB āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻŽāĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻ° āĻļāĻŋāĻ•āĻžāĻ° āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒāĻœāĻŋāĻŸāĻŋāĻ­ āĻŸā§‡āĻ•āĻ¨ā§‹āĻ˛āĻœāĻŋāĻ° āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨āĻļā§€āĻ˛ āĻ•āĻžāĻāĻŸāĻž āĻ›āĻŋāĻ˛ āĻāĻŽāĻĄāĻŋāĻŦāĻŋāĻāĻ•ā§āĻ¸ āĻ–ā§āĻŦ āĻ¸ā§āĻ¸ā§āĻŦāĻžāĻĻā§ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻš, āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœā§‡āĻļāĻžāĻ¨ āĻāĻŦāĻ‚ āĻŦāĻžāĻ— āĻĢāĻŋāĻ•ā§āĻ¸.

LMDB āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŽāĻœāĻŋāĻ˛āĻž āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻĢāĻ•ā§āĻ¸ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŸāĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚, āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 9 āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, Xcode āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ° āĻ¸ā§‚āĻšā§€ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ° SQLiteāĨ¤

āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ—āĻ¤ā§‡āĻ“ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻ¤āĻžāĻ° āĻ›āĻžāĻĒ āĻĢā§‡āĻ˛ā§‡āĻ›ā§‡āĨ¤ āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻšāĻŋāĻšā§āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ iOS āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĨ¤ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ‡āĻ¨ āĻ†āĻ°āĻ“ āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ° āĻ¸ā§āĻŦāĻĻā§‡āĻļā§€ āĻĄā§‡āĻŸāĻž āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ°āĻ•ā§‡āĻŸ āĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻ˛āĻž 2016 āĻ¸āĻžāĻ˛ā§‡ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĨ¤

āĻ“āĻ°āĻžāĻ•āĻ˛ā§‡āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖā§‡ āĻ†āĻ¸āĻžāĻ° āĻĒāĻ° LMDB āĻŦāĻžāĻ°ā§āĻ•āĻ˛ā§‡āĻĄāĻŋāĻŦāĻŋ-āĻ° āĻ°ā§‡āĻ–ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ•ā§āĻ˛ā§āĻ™ā§āĻ—āĻŋāĻ¤ā§‡ āĻ¸ā§‚āĻ°ā§āĻ¯ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻĢāĻ˛āĻ­āĻžāĻŦā§‡ āĻ˛āĻĄāĻŧāĻžāĻ‡ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ—āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¤āĻžāĻ° āĻ¸āĻšāĻ•āĻ°ā§āĻŽā§€āĻĻā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡, āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ˛āĻžāĻžā§āĻš āĻ¨ā§‡āĻ‡, āĻāĻŦāĻ‚ LMDB āĻāĻŦāĻ‚ SQLite āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯ā§‡ āĻŸā§āĻ°ā§‡āĻĄ-āĻ…āĻĢā§‡āĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ†āĻŽāĻŋ āĻœā§‹āĻ° āĻĻāĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻ—āĻ¤āĻŋ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻ°āĻž āĻĄāĻŋāĻ¸ā§āĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ¤āĻžāĻ° āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸ā§āĻ¤āĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻāĻŸāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ° āĻāĻ–āĻ¨āĻ“ āĻ¤āĻžāĻĻā§‡āĻ° āĻ›āĻžāĻĄāĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻž āĻ…āĻ¨āĻŋāĻŦāĻžāĻ°ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ•ā§‹āĻĄā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽ āĻšāĻŦā§‡āĨ¤ āĻāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻŽāĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, SQL āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻĄāĻŋāĻ¸ā§āĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽāĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ SQLite āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻœ āĻāĻ•āĻŸāĻŋ āĻ—āĻĄāĻŧ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ—āĻĄāĻŧ āĻĒāĻ°āĻŋāĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¨āĻ—āĻ¤ āĻšāĻžāĻšāĻŋāĻĻāĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ, āĻāĻ•āĻœāĻ¨ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ•āĻžāĻœā§‡āĻ° āĻšāĻžāĻĒā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻ¸āĻšā§‡āĻ¤āĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ­āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻŽā§‚āĻ˛ā§āĻ¯ āĻŸā§āĻ¯āĻžāĻ— āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

3. LMDB āĻāĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¸ā§āĻ¤āĻŽā§āĻ­

āĻĒāĻžāĻ–āĻŋāĻ° āĻšā§‹āĻ–ā§‡āĻ° āĻ­āĻŋāĻ‰ āĻĨā§‡āĻ•ā§‡ āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ āĻĻā§‡āĻ–āĻžāĻ° āĻĒāĻ°ā§‡, āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ—āĻ­ā§€āĻ°ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ›āĻŋāĻ˛āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻŽā§‚āĻ˛ āĻ¸ā§āĻ¤āĻŽā§āĻ­āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖā§‡ āĻ¨āĻŋāĻŦā§‡āĻĻāĻŋāĻ¤ āĻšāĻŦā§‡ āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°āĻŸāĻŋ āĻŦāĻŋāĻļā§āĻ°āĻžāĻŽ āĻ¨ā§‡āĻ¯āĻŧ:

  1. āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤
  2. āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĄā§‡āĻŸāĻžāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—āĻ āĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋ+-āĻŸā§āĻ°āĻŋāĨ¤
  3. ACID āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻĒāĻŋ-āĻ…āĻ¨-āĻ°āĻžāĻ‡āĻŸāĨ¤

3.1āĨ¤ āĻ¤āĻŋāĻŽāĻŋ #1āĨ¤ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛

āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯āĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ“ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ LMDB āĻ¨āĻŋāĻœā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻšā§‡āĻ¤āĻ¨ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĄā§‡āĻŸāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻĢāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻ•ā§‹āĻŖ āĻ•āĻžāĻŸāĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¨ā§€āĻšā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĻā§‚āĻ°ā§‡ āĻ†āĻ›ā§‡.

  1. āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĨā§‡āĻ•ā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻž āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡, āĻāĻ‡ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻ•ā§āĻ¸āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ›āĻŦāĻŋ āĻ¸āĻš āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  2. āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻĨā§‡āĻ•ā§‡ LMDB āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻžāĻĻ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ āĻŋāĻ• āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻŦā§‡āĻļāĻŋ āĻ•āĻŋāĻ›ā§ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻĢāĻŋāĻ•āĻļāĻ¨ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻļā§‹āĻ¨āĻžāĻšā§āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄā§‡ āĻ•āĻ˛āĻ•-āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻ˛ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡ āĻ•ā§‡āĻ¨ā§āĻĻā§āĻ°ā§€āĻ­ā§‚āĻ¤ āĻšāĻ¯āĻŧāĨ¤
  3. āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ…āĻ°ā§āĻĨ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĨ¤ āĻĒāĻžāĻ āĻ•, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻĒāĻžāĻ āĻ•ā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻžāĻ°āĻž āĻĄā§‡āĻŸāĻžāĻ¤ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĒāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻŽāĻŋāĻ‰āĻŸā§‡āĻ•ā§āĻ¸ā§‡āĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻ¸āĻŋāĻĒāĻŋāĻ‡āĻ‰āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĒāĻĄāĻŧāĻžāĻ° āĻ—āĻ¤āĻŋāĻ° āĻ†āĻĻāĻ°ā§āĻļ āĻ°ā§ˆāĻ–āĻŋāĻ• āĻŽāĻžāĻĒāĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ LMDB-āĻ¤ā§‡, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻāĻ•āĻœāĻ¨ āĻ˛ā§‡āĻ–āĻ• āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  4. āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ˛āĻœāĻŋāĻ• āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻĨā§āĻ°ā§‡āĻĄā§‡āĻĄ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻœāĻŸāĻŋāĻ˛ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĻā§‚āĻ° āĻ•āĻ°ā§‡āĨ¤ Usenix OSDI 2014 āĻ¸āĻŽā§āĻŽā§‡āĻ˛āĻ¨ā§‡ āĻĻā§āĻŸāĻŋ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ…āĻ§ā§āĻ¯āĻ¯āĻŧāĻ¨ āĻ›āĻŋāĻ˛: "āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻŽāĻžāĻ¨āĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž: āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ-āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻŸāĻŋāĻ˛āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ°" и "āĻŽāĻœāĻž āĻāĻŦāĻ‚ āĻ˛āĻžāĻ­ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ¨āĻŋāĻ°ā§āĻ¯āĻžāĻ¤āĻ¨". āĻ¤āĻžāĻĻā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻŋ LMDB-āĻāĻ° āĻ…āĻ­ā§‚āĻ¤āĻĒā§‚āĻ°ā§āĻŦ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ‚ ACID āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻļā§āĻ›āĻŋāĻĻā§āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻž SQLite-āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ‰āĻšā§āĻšāĻ¤āĻ°āĨ¤
  5. LMDB-āĻāĻ° āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽāĻ¤āĻž āĻ¤āĻžāĻ° āĻ•ā§‹āĻĄā§‡āĻ° āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ°ā§‡āĻ° L1 āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ—āĻ¤āĻŋāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¸āĻš āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻ†āĻ‡āĻ“āĻāĻ¸-āĻ, āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡, āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻ āĻŽāĻ¤ā§‹ āĻŽā§‡āĻ˜āĻšā§€āĻ¨ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ¸āĻšā§‡āĻ¤āĻ¨āĻ­āĻžāĻŦā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¨ā§€āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¤āĻĨā§āĻ¯

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸āĻ° āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ°āĻžāĻ–ā§‡āĨ¤ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻāĻŦāĻ‚ āĻšāĻžāĻ°ā§āĻĄ-āĻ•ā§‹āĻĄā§‡āĻĄ āĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻš āĻŦāĻŋāĻ­āĻžāĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ°āĻĒāĻ°ā§‡ āĻ†āĻ¸ā§‡ āĻĄāĻžāĻ¯āĻŧāĻ¨āĻžāĻŽāĻŋāĻ• āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻĒā§‡āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻŦā§āĻ˛āĻ•, āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻšāĻŋāĻĒ āĻ¨āĻžāĻŽā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻ˛āĻžāĻ•āĻž āĻ†āĻ›ā§‡. āĻāĻŸāĻŋ āĻšāĻ¯āĻŧ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ āĻŦāĻž āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧ; āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻāĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ°āĻ“ āĻāĻ•āĻŸāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻāĻŦāĻ‚ āĻšāĻŋāĻĒ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ ā§‡āĻ˛āĻžāĻ ā§‡āĻ˛āĻŋ āĻāĻŦāĻ‚ āĻšāĻ¸ā§āĻ¤āĻ•ā§āĻˇā§‡āĻĒ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡, āĻ¤āĻžāĻ°āĻž āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻ‰āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨ā§€āĻšā§‡ āĻĻā§āĻŸāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻ°ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ•ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ‡ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ• āĻ¸ā§‡āĻŸ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒāĻĄ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ

āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻŦāĻŋāĻļāĻžāĻ˛āĨ¤ āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§, āĻ¯āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŦāĻŋāĻŸ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ•ā§‡ 1-āĻĨā§‡āĻ•ā§‡-1-āĻ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻĒā§āĻ°ā§‹ āĻ°â€Œā§āĻ¯āĻžāĻŽ āĻœā§āĻĄāĻŧā§‡ āĻĻā§‡āĻŦā§‡ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻŸāĻžāĻ¸ā§āĻ•āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻ•āĻĨāĻž āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻ¯āĻ¤āĻ—ā§āĻ˛ā§‹ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ‡āĻšā§āĻ›āĻžāĻŽāĻ¤ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡ āĻ¸āĻŽā§āĻ­āĻŦ āĻ¯ā§‡ āĻ¤āĻžāĻ°āĻž āĻ•ā§‡āĻŦāĻ˛ āĻ•āĻžāĻ—āĻœā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡ āĻ¤āĻžāĻ°āĻž āĻŽā§‚āĻ˛ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ•ā§‡āĻŦāĻ˛āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§‡āĻ‡ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻšāĻžāĻšāĻŋāĻĻāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋāĻ•ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻāĻŦāĻ‚ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻšāĻžāĻšāĻŋāĻĻāĻž āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŸāĻŋāĻ•ā§‡ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻŽā§‡āĻ˛ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ¸ā§āĻ˛āĻŸ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻŦā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻšāĻžāĻšāĻŋāĻĻāĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ° āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ¨ā§‡āĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦ, āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨ā§€āĻšā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋāĻ¤ā§‡, āĻ āĻŋāĻ•āĻžāĻ¨āĻž 0 āĻ¸āĻš āĻĒā§ƒāĻˇā§āĻ āĻž A āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ āĻŋāĻ•āĻžāĻ¨āĻž 4 āĻ¸āĻš āĻŽā§‚āĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯āĻŸāĻŋ āĻ¸ā§‡āĻ˛ āĻ¨āĻŽā§āĻŦāĻ° 0-āĻāĻ° āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ°ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ—āĻ˛ā§āĻĒāĻŸāĻŋ āĻ āĻŋāĻ• āĻāĻ•āĻ‡ āĻ°āĻ•āĻŽāĨ¤ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ¤āĻžāĻ°āĻž āĻ…āĻ¨ā§āĻŽāĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ…āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¤āĻžāĻ°āĻž āĻĒā§ƒāĻˇā§āĻ āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻŦāĻžāĻ‡āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻĢāĻžāĻ‡āĻ˛ I/O āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ‰ā§ŽāĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤
​
āĻ¨ā§€āĻšā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ LMDB āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ•ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻ•āĻ°āĻŋ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ LMDB āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤
​

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ LMDB, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ­āĻžāĻŦā§‡, āĻ°āĻžāĻ‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄā§‡āĻŸāĻž āĻĢāĻžāĻ‡āĻ˛āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻĒāĻ āĻ¨ āĻŽā§‹āĻĄā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĻā§āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋ āĻ¸āĻŦ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĨ¤ āĻāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻ­ā§āĻ˛ āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ…āĻ¨āĻŋāĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤ āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻŦāĻŋāĻ°ā§āĻĻā§āĻ§ā§‡ āĻ¸ā§āĻ°āĻ•ā§āĻˇāĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ¤āĻžāĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ†āĻŽāĻ°āĻž āĻŽāĻ¨ā§‡ āĻ°ā§‡āĻ–ā§‡āĻ›āĻŋ, āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻŋāĻĄ-āĻ°āĻžāĻ‡āĻŸ āĻŽā§‹āĻĄā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻāĻŸāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ¸ā§‡ āĻ­ā§āĻ˛ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦāĻšā§€āĻ¨ āĻ¸ā§‚āĻšā§€āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡ āĻ˜āĻŸāĻ¨āĻžāĻ•ā§āĻ°āĻŽā§‡ āĻāĻ‡ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ¯āĻŧ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋāĻ° āĻĻāĻŋāĻ•ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻĒāĻ āĻ¨ āĻŽā§‹āĻĄā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻ¸āĻš āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŸāĻŋāĻ° āĻœāĻ°ā§āĻ°āĻŋ āĻ…āĻŦāĻ¸āĻžāĻ¨ āĻ˜āĻŸāĻžāĻŦā§‡āĨ¤ SIGSEGV, āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ…āĻ•ā§āĻˇāĻ¤ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ iOS āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸāĨ¤ āĻ˛ā§‡āĻ–āĻ• āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ¸ā§‚āĻ¤ā§āĻ° āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĻ¨āĻŋ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻž LMDB āĻāĻ‡ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻŦā§‡āĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ.

āĻ†āĻ‡āĻ“āĻāĻ¸-āĻ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸāĻ•āĻ°āĻŖ

2018 āĻ¸āĻžāĻ˛ā§‡ WWDC-āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻŽā§ŽāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨ āĻ›āĻŋāĻ˛ "iOS āĻŽā§‡āĻŽāĻ°āĻŋ āĻĄāĻŋāĻĒ āĻĄāĻžāĻ‡āĻ­". āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ˛ā§‡ āĻ¯ā§‡ iOS-āĻ, āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ 3 āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ: āĻ¨ā§‹āĻ‚āĻ°āĻž, āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°ā§ˇ

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ•ā§āĻ˛āĻŋāĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋ āĻšāĻ˛ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ¯āĻž āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻ¯āĻĨāĻžāĻšā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻ†āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨāĻžāĻ•āĻž āĻĄā§‡āĻŸāĻž āĻ¤āĻžāĻ° āĻŽā§‚āĻ˛ āĻ‰āĻ¤ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻžāĻ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻāĻ‡ āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻĒāĻĄāĻŧā§‡āĨ¤ āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ¸āĻŽāĻ¯āĻŧ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ†āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻ­āĻ¯āĻŧ āĻĒāĻžāĻ¯āĻŧ āĻ¨āĻž, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĨāĻžāĻ•āĻž āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋāĻ¯ā§āĻ•ā§āĻ¤āĨ¤
​
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻ¸ā§āĻŽā§ƒāĻ¤āĻŋāĻ¤ā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧ, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡āĻ‡ āĻ›āĻŋāĻ˛ āĻ¨āĻž āĻ•ā§‡āĻ¨āĨ¤ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ˛āĻŋāĻ–ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻĒāĻ¤āĻžāĻ•āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ LMDB āĻ–ā§‹āĻ˛āĻž MDB_WRITEMAP, āĻāĻŸāĻŋāĻ¤ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨

āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ…āĻ¤ā§āĻ¯āĻ§āĻŋāĻ• āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, iOS āĻāĻŸāĻŋ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻĒā§ƒāĻˇā§āĻ āĻž āĻ¸āĻ‚āĻ•ā§‹āĻšāĻ¨ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĨ¤ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻāĻ–āĻ˛āĻ•ā§ƒāĻ¤ āĻŽā§‹āĻŸ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻĻāĻšāĻŋāĻšā§āĻ¨ āĻ—āĻ āĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŦāĻžāĻ° āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻŽāĻžāĻ¨ āĻĒā§ŒāĻāĻ›āĻžāĻ˛ā§‡, OOM āĻ•āĻŋāĻ˛āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄā§‡āĻŽāĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋāĻ° āĻĒāĻ°ā§‡ āĻ†āĻ¸ā§‡ āĻāĻŦāĻ‚ āĻœā§‹āĻ°āĻĒā§‚āĻ°ā§āĻŦāĻ• āĻāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻŸāĻŋ iOS āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇāĻ¤ā§āĻŦāĨ¤ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻ­ā§ŒāĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻ•āĻ°ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻĻāĻšāĻŋāĻšā§āĻ¨ āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°āĻž iOS-āĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¨āĻžā§ˇ āĻ•āĻžāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧāĻ­āĻžāĻŦā§‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻāĻŦāĻ‚ āĻĒāĻŋāĻ›āĻ¨ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ–ā§āĻŦ āĻļāĻ•ā§āĻ¤āĻŋ-āĻ¸āĻžāĻļā§āĻ°āĻ¯āĻŧā§€, āĻŦāĻž iOS SSD āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡ āĻ•ā§‹āĻˇ āĻĒā§āĻ¨āĻ°ā§āĻ˛āĻŋāĻ–āĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡, āĻŦāĻž āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨āĻžāĻ°āĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻžāĻŽāĻ—ā§āĻ°āĻŋāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻŸ āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻ¨āĻž, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻ¸ā§‡āĻŸāĻž āĻ¯ā§‡āĻŽāĻ¨āĻ‡ āĻšā§‹āĻ• āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻ˜āĻŸāĻ¨āĻž āĻāĻ•āĻŸāĻž āĻ¸āĻ¤ā§āĻ¯āĻ‡ āĻĨā§‡āĻ•ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻ­āĻžāĻ˛ āĻ–āĻŦāĻ°, āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ†āĻ—ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤, āĻšāĻ˛ āĻ¯ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ LMDB āĻĢāĻžāĻ‡āĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ mmap āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻĄā§‡āĻŸāĻž iOS āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻĻā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻĻāĻšāĻŋāĻšā§āĻ¨ā§‡ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ°āĻžāĻ–ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻĒāĻ¨āĻŋ VM Tracker āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ Xcode āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¨ā§€āĻšā§‡āĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸāĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° iOS āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧāĨ¤ āĻļā§āĻ°ā§āĻ¤ā§‡, 2āĻŸāĻŋ LMDB āĻĻā§ƒāĻˇā§āĻŸāĻžāĻ¨ā§āĻ¤ āĻāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ° āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ 1GiB āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ - 512MiBāĨ¤ āĻ‰āĻ­āĻ¯āĻŧ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ†āĻŦāĻžāĻ¸āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ āĻĻāĻ–āĻ˛ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“, āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ¨āĻŸāĻŋāĻ‡ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻ†āĻ•āĻžāĻ°ā§‡ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ°āĻžāĻ–ā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻāĻŦāĻ‚ āĻāĻ–āĻ¨ āĻ–āĻžāĻ°āĻžāĻĒ āĻ–āĻŦāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ 64-āĻŦāĻŋāĻŸ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¤āĻžāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻšāĻžāĻ°ā§āĻĄ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯āĻ¤āĻŸāĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨ āĻĻāĻ–āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻ‡āĻ“āĻāĻ¸-āĻ āĻ•āĻŽā§āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ• āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻšā§āĻ°āĻžāĻ¸ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻœā§€āĻŦāĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ (āĻ°ā§āĻ¯āĻžāĻŽ āĻĒāĻĄāĻŧā§āĻ¨) āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻĢāĻŋāĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻĒāĻ¸āĻ‡ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§ā§āĻ¯ āĻšāĻŦā§‡ā§ˇ āĻāĻŸāĻŋ āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻĻāĻ¨, āĻāĻŦāĻ‚ āĻ‡āĻ¨ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨. āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, iOS mmap āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻŽāĻžāĻ°āĻžāĻ¤ā§āĻŽāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻ¨ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻ¸ā§€āĻŽāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ¸ā§āĻŽāĻžāĻ°ā§āĻŸāĻĢā§‹āĻ¨ āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡, iOS 2 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĻāĻžāĻ° āĻšāĻ¯āĻŧā§‡ āĻ‰āĻ ā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ†āĻ‡āĻĒā§āĻ¯āĻžāĻĄā§‡āĻ° āĻļā§€āĻ°ā§āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ - 4 āĻĻā§āĻŦāĻžāĻ°āĻžāĨ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻŽāĻĄā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ–ā§āĻŦ āĻĻā§āĻƒāĻ–āĻœāĻ¨āĻ•āĨ¤ āĻ†āĻ°āĻ“ āĻ–āĻžāĻ°āĻžāĻĒ, āĻ­āĻŋāĻāĻŽ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•āĻžāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĻā§‡āĻ–ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ¯ā§‡ LMDB āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻĻāĻžāĻŦāĻŋ āĻ•āĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒāĻĄ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĻā§‚āĻ°ā§‡āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦāĻ°āĻžāĻĻā§āĻĻāĻ•āĻžāĻ°ā§€, āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛, āĻ‡āĻŽā§‡āĻœ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ›ā§‹āĻŸ āĻļāĻŋāĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ­āĻžāĻ˛ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻ–ā§‡āĻ¯āĻŧā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž-āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŽāĻā§‹āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ¸ā§‡āĻ›āĻŋ: 384-āĻŦāĻŋāĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 32 āĻŽā§‡āĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻāĻŦāĻ‚ 768-āĻŦāĻŋāĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ 64āĨ¤ āĻāĻ‡ āĻ­āĻ˛āĻŋāĻ‰āĻŽāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻˇ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ MDB_MAP_FULL. āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŋ, āĻ¤āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ›ā§‹āĻŸ āĻ¯ā§‡ āĻāĻ‡ āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻ¤ā§āĻ¯āĻ§āĻŋāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻšā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…-āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ•āĻžāĻ°āĻŖ āĻĻā§€āĻ°ā§āĻ˜āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ˜āĻŸāĻ¨āĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯, LMDB-āĻāĻ° āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻĻā§āĻŸāĻŋ āĻ¸ā§āĻ¤āĻŽā§āĻ­ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

3.2āĨ¤ āĻ¤āĻŋāĻŽāĻŋ #2āĨ¤ B+-āĻ—āĻžāĻ›

āĻāĻ•āĻŸāĻŋ āĻŽā§‚āĻ˛-āĻŽāĻžāĻ¨ āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻŸā§‡āĻŦāĻŋāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ° API-āĻ¤ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡:

  1. āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤
  2. āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ•ā§€ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§āĻ¨.
  3. āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ.
  4. āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻ§āĻžāĻ¨ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ¸ā§‡āĻ‡ āĻ•ā§āĻ°āĻŽā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯āĻ¸āĻšāĻœāĻ¤āĻŽ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¯āĻž āĻ¸āĻšāĻœā§‡āĻ‡ āĻšāĻžāĻ°āĻŸāĻŋ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻž āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ—āĻžāĻ›āĨ¤ āĻāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻšāĻžāĻ‡āĻ˛ā§āĻĄ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ—ā§āĻ° āĻ‰āĻĒāĻ¸ā§‡āĻŸāĻŸāĻŋāĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻ¸āĻžāĻŦāĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻŦāĻžāĻŽ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ›ā§‹āĻŸ āĻāĻŦāĻ‚ āĻĄāĻžāĻ¨āĻŸāĻŋāĻ¤ā§‡ āĻŦāĻĄāĻŧāĻ—ā§āĻ˛āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻšāĻžāĻŦāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ¸ā§‡āĻŸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ•ā§āĻ˛āĻžāĻ¸āĻŋāĻ• āĻŸā§āĻ°āĻŋ āĻŸā§āĻ°āĻžāĻ­āĻžāĻ°ā§āĻ¸āĻžāĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ

āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ—āĻžāĻ›ā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĄāĻŋāĻ¸ā§āĻ•-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¤āĻžāĻĻā§‡āĻ° āĻ­āĻžāĻ°āĻ¸āĻžāĻŽā§āĻ¯ā§‡āĻ° āĻŽāĻžāĻ¤ā§āĻ°āĻž āĻ…āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļā§āĻ¯āĨ¤ āĻ—āĻžāĻ› āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻā§āĻāĻ•āĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻļāĻžāĻ–āĻžāĻ° āĻ‰āĻšā§āĻšāĻ¤āĻž āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻžāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻŋāĻ• āĻœāĻŸāĻŋāĻ˛āĻ¤āĻžāĻ•ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ–āĻžāĻ°āĻžāĻĒ āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§āĻ°āĻ¸-āĻ˛āĻŋāĻ™ā§āĻ•ā§‡āĻ° āĻĒā§āĻ°āĻžāĻšā§āĻ°ā§āĻ¯āĻ¤āĻž āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻŸā§āĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĨā§‡āĻ•ā§‡ āĻŦāĻžā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡ā§ˇ āĻ•ā§āĻ˛ā§‹āĻœ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ (āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡) āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻŸāĻŋ āĻ—āĻžāĻ›ā§‡āĻ° āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€ āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŸā§āĻ°āĻžāĻ­āĻžāĻ°ā§āĻ¸āĻžāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨-āĻŽā§‡āĻŽāĻ°āĻŋ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ—āĻžāĻ›ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŋ, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ˜ā§‹āĻ°āĻžāĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻž āĻ†āĻ¨āĻ¨ā§āĻĻ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻ–āĻ¨ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ˜āĻ¨ āĻ˜āĻ¨ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ•āĻĨāĻž āĻ†āĻ¸ā§‡, āĻ¤āĻ–āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻļā§‹āĻšāĻ¨ā§€āĻ¯āĻŧāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯āĻŦāĻŋ-āĻŦā§ƒāĻ•ā§āĻˇ, āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ—āĻžāĻ›ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦāĻ°ā§āĻ¤āĻ¨, āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¤āĻžāĻ°āĻž āĻ¸ā§āĻŦ-āĻ­āĻžāĻ°āĻ¸āĻžāĻŽā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻšāĻžāĻ‡āĻ˛ā§āĻĄ āĻ•ā§€-āĻāĻ° āĻ¸ā§‡āĻŸāĻ•ā§‡ 2-āĻ āĻ¨āĻ¯āĻŧ, M āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻžāĻŦāĻ¸ā§‡āĻŸā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ M āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻŸāĻŋ āĻŦā§‡āĻļ āĻŦāĻĄāĻŧ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻ¯āĻŧā§‡āĻ•āĻļ āĻŦāĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻšāĻžāĻœāĻžāĻ°ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋāĨ¤

āĻ¯āĻžāĻ° āĻĢāĻ˛ā§‡:

  1. āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ•ā§€ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ—āĻžāĻ›āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻŦ āĻ›ā§‹āĻŸāĨ¤
  2. āĻ—āĻžāĻ›āĻŸāĻŋ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ āĻāĻ•āĻ‡ āĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻĒāĻžāĻļā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤
  3. āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ…āĻ­āĻŋāĻ¯āĻžāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ—āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ¨āĻžāĻŽāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŸā§āĻ°āĻžāĻ¨āĻœāĻŋāĻŸ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•āĻŽā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤
  4. āĻ°ā§‡āĻžā§āĻœ āĻ•ā§‹āĻ¯āĻŧā§‡āĻ°āĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻ āĻŋāĻ¤ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ•āĻŽā§‡ āĻ—ā§‡āĻ›ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻĒā§āĻ°āĻšā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖā§‡ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ•ā§€ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

LMDB āĻĄā§‡āĻŸāĻž āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ B+ āĻŸā§āĻ°āĻŋ āĻ¨āĻžāĻŽāĻ• āĻŦāĻŋ-āĻŸā§āĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻāĻ¤ā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¤āĻŋāĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¨ā§‹āĻĄ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

  1. āĻļā§€āĻ°ā§āĻˇā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻŽā§‚āĻ˛āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻĻāĻžāĻŽā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻ›āĻžāĻĄāĻŧāĻž āĻ†āĻ° āĻ•āĻŋāĻ›ā§āĻ‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ•āĻŸāĻŋ LMDB āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§āĻĨāĻžāĻ¨ āĻ­āĻžāĻ— āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŽā§‚āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧāĨ¤
  2. āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻĒāĻžāĻ¤āĻž āĻ†āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻž āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻžāĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻ•ā§€-āĻŽāĻžāĻ¨ā§‡āĻ° āĻœā§‹āĻĄāĻŧāĻž āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻŸāĻŋ B+-āĻŦā§ƒāĻ•ā§āĻˇā§‡āĻ° āĻŦāĻŋāĻļā§‡āĻˇāĻ¤ā§āĻŦāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ B+ āĻŦā§ˆāĻšāĻŋāĻ¤ā§āĻ°āĻŸāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ¸āĻ°ā§āĻŦāĻ¨āĻŋāĻŽā§āĻ¨āĻŸāĻŋāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻ¤ā§āĻ¯āĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž LMDB-āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ—āĻžāĻ›ā§‡āĻ° āĻ‰āĻĒ-āĻĒā§āĻ°āĻ•āĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻ•ā§‡āĻŦāĻ˛ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋ-āĻŦā§ƒāĻ•ā§āĻˇ āĻŦāĻ˛āĻŦāĨ¤
  3. āĻŽā§‚āĻ˛ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨ā§‡āĻ­āĻŋāĻ—ā§‡āĻļāĻ¨āĻžāĻ˛ (āĻļāĻžāĻ–āĻž) āĻ¨ā§‹āĻĄ āĻ¸āĻš 0 āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¸ā§āĻ¤āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœ āĻšāĻ˛ āĻĒāĻžāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻ¸ā§‡āĻŸāĻ•ā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻžāĨ¤

āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻĒā§‚āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻŦā§āĻ˛āĻ•āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ•, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¨ā§‹āĻĄ āĻ—āĻ āĻ¨ āĻ¨ā§€āĻšā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ. āĻšā§‡āĻĄāĻžāĻ°ā§‡ āĻŽā§‡āĻŸāĻž āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻ˛ āĻšā§‡āĻ•āĻ¸āĻžāĻŽāĨ¤ āĻāĻ° āĻĒāĻ°ā§‡ āĻ…āĻĢāĻ¸ā§‡āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ†āĻ¸ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻš āĻ•ā§‹āĻˇāĻ—ā§āĻ˛āĻŋ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻ¨ā§‡āĻ­āĻŋāĻ—ā§‡āĻļāĻ¨ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ•āĻĨāĻž āĻŦāĻ˛āĻŋ āĻŦāĻž āĻĒāĻžāĻ¤āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°ā§‹ āĻ•ā§€-āĻŽāĻžāĻ¨ā§‡āĻ° āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ•āĻĨāĻž āĻŦāĻ˛āĻŋ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĄā§‡āĻŸāĻž āĻšāĻ¯āĻŧ āĻ•ā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ "āĻ‰āĻšā§āĻš āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ•ā§€-āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻ° āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨".

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻĒā§ƒāĻˇā§āĻ āĻž āĻ¨ā§‹āĻĄā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ†āĻ•āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ LMDB B-āĻŸā§āĻ°āĻŋāĻ•ā§‡ āĻ†āĻ°āĻ“ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŦāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ¨ā§‹āĻĄ āĻ¸āĻš āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻ‰āĻšā§āĻšāĻ¤āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻļā§‡āĻˇā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻ¤āĻĨāĻžāĻ•āĻĨāĻŋāĻ¤ āĻŽā§‡āĻŸāĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ…āĻĢāĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ—āĻžāĻ›ā§‡āĻ° āĻļāĻŋāĻ•āĻĄāĻŧ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ–ā§‹āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, LMDB āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻ§ āĻŽā§‡āĻŸāĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡ āĻĒā§ƒāĻˇā§āĻ āĻž āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒā§ƒāĻˇā§āĻ āĻž āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ¯āĻŧāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻāĻ–āĻ¨, āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ° āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻāĻŦāĻ‚ āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• āĻ—āĻ āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ§āĻžāĻ°āĻŖāĻž āĻ¨āĻŋāĻ¯āĻŧā§‡, āĻ†āĻŽāĻ°āĻž LMDB-āĻāĻ° āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻ¸ā§āĻ¤āĻŽā§āĻ­āĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨āĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻ˜āĻŸā§‡, āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

3.3āĨ¤ āĻ¤āĻŋāĻŽāĻŋ #3āĨ¤ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ˛āĻŋāĻ–

āĻ•āĻŋāĻ›ā§ āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒ āĻāĻ° āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻœāĻĄāĻŧāĻŋāĻ¤āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ›ā§‡ āĻ¯āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¤āĻžāĻ° āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ¯āĻŧ āĻĒā§ŒāĻāĻ›ā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¨ā§‹āĻĄāĻŸāĻŋāĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻ­āĻžāĻ—ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ•āĻ°āĻž, āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻ¤āĻžāĻ° āĻĒāĻŋāĻ¤āĻžāĻŽāĻžāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ‰āĻĻā§€āĻ¯āĻŧāĻŽāĻžāĻ¨ āĻļāĻŋāĻļā§ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ–ā§āĻŦ āĻŦāĻŋāĻĒāĻœā§āĻœāĻ¨āĻ•āĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻžāĻ°āĻŖā§‡ (āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ, āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻŸ, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ) āĻ¸āĻŋāĻ°āĻŋāĻœā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ‚āĻļ āĻ˜āĻŸā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ—āĻžāĻ›āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋāĻĒā§‚āĻ°ā§āĻŖ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¤ā§āĻ°ā§āĻŸāĻŋ-āĻ¸āĻšāĻ¨āĻļā§€āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻāĻ¤āĻŋāĻšā§āĻ¯āĻ—āĻ¤ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻ˛ āĻŦāĻŋ-āĻŸā§āĻ°āĻŋāĻ° āĻĒāĻžāĻļā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ…āĻ¨-āĻĄāĻŋāĻ¸ā§āĻ• āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž - āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ˛āĻ—, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻž-āĻ†āĻ—āĻžāĻŽā§€ āĻ˛āĻ— (WAL) āĻ¨āĻžāĻŽā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¯āĻžāĻ° āĻļā§‡āĻˇā§‡ āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯āĻŽā§‚āĻ˛āĻ• āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ¯āĻĻāĻŋ āĻ¸ā§āĻŦ-āĻ¨āĻŋāĻ°ā§āĻŖāĻ¯āĻŧā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻ•āĻ°ā§‡āĨ¤

LMDB āĻ¤āĻžāĻ° āĻĢāĻ˛ā§āĻŸ āĻŸāĻ˛āĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻœāĻŽ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻ•āĻĒāĻŋ-āĻ…āĻ¨-āĻ°āĻžāĻ‡āĻŸāĨ¤ āĻāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĄā§‡āĻŸāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻĄā§‡āĻŸāĻž āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¨ā§‹āĻĄā§‡āĻ° āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻ¤āĻžāĻ° āĻŽā§‚āĻ˛ āĻ¨ā§‹āĻĄā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ“ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻāĻŸāĻŋāĻ“ āĻ†āĻ—ā§‡ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŽā§‚āĻ˛ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻšāĻ˛āĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻļā§‡āĻˇ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻšāĻ˛ āĻŽā§‡āĻŸāĻž āĻĒā§ƒāĻˇā§āĻ āĻžāĻ° āĻĄā§‡āĻŸāĻž

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ¯āĻĻāĻŋ āĻšāĻ āĻžā§Ž āĻ•āĻ°ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§‡āĻŸāĻž āĻĒā§ƒāĻˇā§āĻ āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻž, āĻ…āĻĨāĻŦāĻž āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ­āĻžāĻŦā§‡ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻšā§‡āĻ•āĻ¸āĻžāĻŽāĻŸāĻŋ āĻ­ā§āĻ˛ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹ āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻĒā§āĻ°āĻžāĻ¨ā§‹āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻšāĻŦā§‡ āĻ¨āĻžā§ˇ āĻāĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ-āĻ° āĻ…āĻ—ā§āĻ°āĻŋāĻŽ āĻ˛āĻ— āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĻā§‚āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ˛āĻ—ā§‡āĻ° āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ LMDB āĻāĻ° āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯āĻž āĻ‰āĻšā§āĻš āĻĄā§‡āĻŸāĻž āĻĒāĻĄāĻŧāĻžāĻ° āĻ—āĻ¤āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ¨āĻ•āĻļāĻž, āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ°-āĻ…ā§āĻ¯āĻžāĻĒā§‡āĻ¨ā§āĻĄ-āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ, āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻāĻŦāĻ‚ āĻŦāĻšā§-āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ LMDB-āĻ¤ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ–ā§‹āĻ˛āĻž āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻ—āĻžāĻ›ā§‡āĻ° āĻŽā§‚āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĨ¤ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ—āĻžāĻ›ā§‡āĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ•āĻ–āĻ¨āĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻž āĻŦāĻž āĻĄā§‡āĻŸāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻžā§ˇ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻšāĻžāĻ¨ āĻ¤āĻ¤āĻ•ā§āĻˇāĻŖ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ āĻŋāĻ• āĻ¸ā§‡āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻĄā§‡āĻŸāĻžāĻ° āĻ¸ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ–ā§‹āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻšāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ, LMDB āĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧāĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ†āĻĻāĻ°ā§āĻļ āĻĄā§‡āĻŸāĻž āĻ‰ā§ŽāĻ¸ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡ UICollectionView. āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ–ā§‹āĻ˛āĻžāĻ° āĻĒāĻ°ā§‡, āĻ•āĻŋāĻ›ā§ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻ¨āĻž āĻĨāĻžāĻ•āĻžāĻ° āĻ­āĻ¯āĻŧā§‡, āĻ•āĻŋāĻ›ā§ āĻ‡āĻ¨-āĻŽā§‡āĻŽāĻ°āĻŋ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄā§‡āĻŸāĻž āĻĻā§āĻ°ā§āĻ¤ āĻĒāĻžāĻŽā§āĻĒ āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻĢā§āĻŸāĻĒā§āĻ°āĻŋāĻ¨ā§āĻŸ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡āĨ¤ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻāĻ•āĻ‡ SQLite āĻĨā§‡āĻ•ā§‡ LMDB āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°ā§‡, āĻ¯āĻž āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻžāĻ° āĻ—āĻ°ā§āĻŦ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻĻā§āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ–ā§‹āĻ˛āĻžāĻ° āĻĒāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻĒāĻ°ā§‡, āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸāĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ†āĻ° āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤

āĻŽā§āĻĻā§āĻ°āĻžāĻ° āĻ‰āĻ˛ā§āĻŸāĻžāĻ¨ā§‹ āĻĻāĻŋāĻ• āĻšāĻ˛ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻ‰āĻšā§āĻš āĻ–āĻ°āĻšāĨ¤ āĻ¸ā§āĻ˛āĻžāĻ‡āĻĄāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻŋāĻ¯āĻŧā§‡ 3āĻŸāĻŋ āĻ–ā§‹āĻ˛āĻž āĻĒāĻ āĻŋāĻ¤ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻŸāĻŋ āĻ•ā§‡āĻŽāĻ¨ āĻšāĻŦā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ LMDB āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ°ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻšāĻ¤ā§āĻ°ā§āĻĨ āĻ°ā§āĻŸ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ¸āĻ‚āĻļā§‹āĻ§āĻŋāĻ¤ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻŦāĻžāĻ° āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻž āĻ›āĻžāĻĄāĻŧāĻž āĻ†āĻ° āĻ•ā§‹āĻ¨āĻ“ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¨ā§‡āĻ‡ā§ˇ

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻāĻ–āĻžāĻ¨ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ-āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻ¸ā§āĻŽāĻ°āĻŖ āĻ•āĻ°āĻž āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻšāĻŦā§‡āĨ¤ āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ–āĻ°āĻš āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ–ā§āĻŦ āĻŦā§‡āĻļāĻŋ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻĒāĻĻāĻšāĻŋāĻšā§āĻ¨ā§‡ āĻ…āĻŦāĻĻāĻžāĻ¨ āĻ°āĻžāĻ–ā§‡ āĻ¨āĻžāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻāĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ iOS āĻāĻŸāĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ–ā§āĻŦ āĻ•ā§ƒāĻĒāĻŖ, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦāĻž āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒā§‡āĻ° āĻŽāĻ¤ā§‹ 1 āĻŸā§‡āĻ°āĻžāĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ LMDB āĻ…āĻžā§āĻšāĻ˛ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻŽā§‹āĻŸā§‡āĻ“ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻœā§€āĻŦāĻ¨āĻ•āĻžāĻ˛ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ›ā§‹āĻŸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

4. āĻ•ā§€-āĻŽāĻžāĻ¨ API-āĻāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž

āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° API āĻŦāĻŋāĻļā§āĻ˛ā§‡āĻˇāĻŖ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•: āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸, āĻ•ā§€ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨, āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ°ā§ˇ

āĻ•ā§‹āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻŸ

āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ āĻāĻĒāĻŋāĻ†āĻ‡-āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻžāĻœā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻāĻ° āĻ¯āĻžāĻšāĻžāĻ‡āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ“ āĻ•āĻ°āĻŋāĨ¤ āĻ•āĻžāĻāĻŸāĻž C++ āĻŽā§‹āĻĄāĻŧāĻ• lmdbxx, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ C++ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

iOS āĻŦāĻž macOS-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¸āĻžāĻĨā§‡ LMDB āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻŽ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° 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 āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡, āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻšāĻ˛ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻĒā§‡āĻ¸ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻ•āĻ‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻžāĻ¨ āĻ°āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ°āĻžāĻ¨ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻ‡āĻ“āĻāĻ¸ā§‡āĻ° āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ¤ā§‡, āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•ā§āĻ°āĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ…āĻ°ā§āĻ§ā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ mdb_env_open āĻĨā§‡āĻ•ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻŦā§‡ āĻ¨āĻž ENOMEM. āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ‰āĻĒāĻžāĻ¯āĻŧāĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ‡āĻžā§āĻœāĻŋāĻ¨ā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡, āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ˛ā§‡, MDB_MAP_FULL, āĻāĻŸāĻž āĻŦā§ƒāĻĻā§āĻ§āĻŋ. āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ•āĻžāĻāĻŸāĻžāĻ¯ā§āĻ•ā§āĻ¤āĨ¤ āĻ•āĻžāĻ°āĻŖ āĻšāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ (āĻ°āĻŋāĻŽā§āĻ¯āĻžāĻĒ) āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ mdb_env_set_map_size āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻž (āĻ•āĻžāĻ°āĻ¸āĻžāĻ°, āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨, āĻ•ā§€ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨) āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°ā§‡āĨ¤ āĻ•ā§‹āĻĄā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻāĻ‡ āĻŽā§‹āĻĄāĻŧ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĢāĻ˛ā§‡ āĻāĻ° āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž āĻĻā§‡āĻ–āĻž āĻĻā§‡āĻŦā§‡āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¯āĻĻāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻ–ā§āĻŦ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ•āĻĻā§‚āĻ° āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ•āĻžāĻāĻŸāĻžāĻŸāĻŋ āĻ˜āĻ¨āĻŋāĻˇā§āĻ āĻ­āĻžāĻŦā§‡ āĻĻā§‡āĻ–āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°āĻŖ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŽāĻĄāĻŋāĻŦāĻŋāĻāĻ•ā§āĻ¸, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ˜ā§‹āĻˇāĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ "āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ…āĻ¨-āĻĻā§āĻ¯-āĻĢā§āĻ˛āĻžāĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ†āĻ•āĻžāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧ"āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°, āĻ¯āĻžāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ¨āĻ¯āĻŧ, āĻĨā§āĻ°ā§‡āĻĄ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻŽā§‡āĻ•āĻžāĻ¨āĻŋāĻ•ā§āĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻ…āĻ¨ā§āĻ¤āĻ¤ iOS 10-āĻāĻ° āĻĨā§āĻ°ā§‡āĻĄ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°āĻŸāĻŋ āĻĒāĻ¤āĻžāĻ•āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ–ā§‹āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ MDB_NOTLS. āĻāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻŸāĻžāĻ“ āĻĻāĻ°āĻ•āĻžāĻ° āĻ›āĻŋāĻ˛ āĻ•āĻžāĻāĻŸāĻž C++ āĻŽā§‹āĻĄāĻŧāĻ• lmdbxxāĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻŸāĻžāĻ¤ā§‡āĨ¤

āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸

āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ‰āĻĒāĻ°ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻāĻŸāĻŋāĻ° āĻ–ā§‹āĻ˛āĻž āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ˜āĻŸā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻ•āĻŸā§ āĻ…āĻĻā§āĻ­ā§āĻ¤ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

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: āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ•āĻ¤āĻž, āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ¤āĻž, āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻžāĨ¤ āĻ†āĻŽāĻŋ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻŽā§āĻ¯āĻžāĻ•āĻ“āĻāĻ¸ āĻāĻŦāĻ‚ āĻ†āĻ‡āĻ“āĻāĻ¸-āĻ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž MDBX-āĻ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ†āĻ°ā§‹ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ README.
  2. āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻĨā§āĻ°ā§‡āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ "āĻāĻ•āĻ• āĻ˛ā§‡āĻ–āĻ• / āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĒāĻžāĻ āĻ•" āĻ¸ā§āĻ•āĻŋāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ˛ā§‡āĻ–āĻ•āĻ°āĻž āĻāĻ•ā§‡ āĻ…āĻĒāĻ°āĻ•ā§‡ āĻŦā§āĻ˛āĻ• āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻžāĻ āĻ•āĻĻā§‡āĻ° āĻ…āĻŦāĻ°ā§āĻĻā§āĻ§ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻĒāĻžāĻ āĻ•āĻ°āĻž āĻ˛ā§‡āĻ–āĻ• āĻŦāĻž āĻāĻ•ā§‡ āĻ…āĻĒāĻ°āĻ•ā§‡ āĻ…āĻŦāĻ°ā§āĻĻā§āĻ§ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤
  3. āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤
  4. āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤

āĻāĻ˛āĻāĻŽāĻĄāĻŋāĻŦāĻŋ-āĻ¤ā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻāĻ¤ āĻ­āĻžāĻ˛ā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻ°ā§āĻŽā§‡ āĻĻā§‡āĻ–āĻžāĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤ āĻ¨ā§€āĻšā§‡āĻ° āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ¯ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻ āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻāĻŸāĻŋ āĻ–ā§‹āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ›āĻŋāĻ˛, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨āĨ¤ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻ•āĻŋāĻ›ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻ†āĻšāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĒāĻ¯āĻŧāĻ˛āĻžāĻ°ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ°ā§‡āĻ–ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

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 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ‡ āĻ•ā§ŒāĻļāĻ˛āĻŸāĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĻā§‡āĻ–ā§āĻ¨ āĻ•āĻŋ āĻšāĻ¯āĻŧāĨ¤

āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻāĻ•āĻœāĻ¨ iOS āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°ā§‡āĻ° āĻœā§€āĻŦāĻ¨ā§‡ āĻ–ā§āĻŦ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡āĨ¤ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡ āĻ¸ā§āĻ•ā§āĻ°ā§€āĻ¨ āĻĢāĻ°ā§āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ‰āĻ¤ā§āĻ¸ā§‡āĻ° āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻšāĻžāĻ° āĻ¸āĻšāĻœā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻ¸ā§āĻ¨ Mail.ru āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŋ āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻ—ā§āĻ¯āĻžāĻ˛āĻžāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻžāĻŽāĻ—ā§āĻ°ā§€ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡, āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĢāĻŸā§‹ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄā§‡āĻ° āĻĒāĻ°ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°ā§‡āĻ¨ UICollectionView āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻš, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 60 fps āĻāĻŦāĻ‚ āĻŽāĻ¸ā§ƒāĻŖ āĻ¸ā§āĻ•ā§āĻ°ā§‹āĻ˛āĻŋāĻ‚ āĻ­ā§āĻ˛ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ˜āĻ¨ āĻ˜āĻ¨ āĻ¸ā§āĻ•ā§āĻ°ā§€āĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§‹āĻ¨āĻ“āĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĄā§‡āĻŸāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻšāĻžāĻ° āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ UICollectionViewDataSource.

āĻ¯āĻĻāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧ-āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ‡āĻ¨-āĻŽā§‡āĻŽāĻ°āĻŋ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ°ā§‡ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛. āĻ‡āĻ¨-āĻŽā§‡āĻŽāĻ°āĻŋ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ–āĻ°āĻš āĻĒāĻžāĻ‡, āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ ORM āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĨ¤ āĻ…āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻŦā§āĻ¯āĻ¯āĻŧāĻŦāĻšā§āĻ˛ āĻ†āĻ¨āĻ¨ā§āĻĻ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ…-āĻ¤ā§āĻšā§āĻ› āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻŦā§‹āĻāĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

LMDB āĻāĻ° āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ­āĻžāĻ°āĻ¸āĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻĄā§‡āĻŸāĻž āĻ‰āĻ¤ā§āĻ¸ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ–ā§āĻŦ āĻŽāĻžāĻ°ā§āĻœāĻŋāĻ¤ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ­āĻ¯āĻŧāĻ˛āĻž āĻ–ā§‹āĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸ - āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻ°āĻŋ, āĻĄā§‡āĻŸāĻž āĻ¸ā§‡āĻŸāĻŸāĻŋ āĻ¸ā§āĻĨāĻŋāĻ° āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ° āĻ†āĻĒāĻĄā§‡āĻŸā§‡āĻ° āĻ—āĻ¤āĻŋāĻ° āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻāĻ–āĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻšāĻžāĻ¤ā§‡, āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ•ā§‹āĻ¨āĻ“ āĻ“āĻ­āĻžāĻ°āĻšā§‡āĻĄ āĻ¨ā§‡āĻ‡ā§ˇ

āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ°

āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ āĻŸā§āĻ°āĻžāĻ­āĻžāĻ°ā§āĻ¸āĻžāĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§€-āĻŽāĻžāĻ¨ā§‡āĻ° āĻœā§‹āĻĄāĻŧāĻžāĻ° āĻ‰āĻĒāĻ° āĻ¸ā§āĻļā§ƒāĻ™ā§āĻ–āĻ˛āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ›āĻžāĻĄāĻŧāĻž, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻŽāĻĄā§‡āĻ˛ āĻ•āĻ°āĻž āĻ…āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ›āĻŋāĨ¤

4.2āĨ¤ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻŽāĻĄā§‡āĻ˛āĻŋāĻ‚

āĻ•ā§€ āĻ…āĻ°ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻšā§āĻš-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡āĻŽāĻ¨ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ•āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŋ, āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°ā§‡āĨ¤

āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¸ā§āĻ•āĻŋāĻŽāĻž

āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻŸā§āĻ°āĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¤āĻž āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ā§ˇ āĻāĻ‡ āĻ§āĻ°āĻŖā§‡āĻ° āĻĻāĻ•ā§āĻˇ āĻĒā§āĻ°āĻļā§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ° āĻŽāĻĄā§‡āĻ˛ āĻšāĻ˛ āĻ¸āĻ‚āĻ˛āĻ—ā§āĻ¨ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž. āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ āĻ¸āĻžā§āĻšāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻāĻŽāĻ¨āĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŽā§‚āĻ˛ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ—ā§‹āĻˇā§āĻ ā§€āĻŦāĻĻā§āĻ§ āĻšāĻ¯āĻŧā§ˇ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĢāĻ°ā§āĻŽā§‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ (āĻĒā§āĻ°āĻĨāĻŽ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻžāĻ‡āĻ˛, āĻ‰āĻ­āĻ¯āĻŧ āĻŦāĻ°ā§āĻŖāĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹), āĻ•ā§€āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻ¨ā§€āĻšā§‡āĻ° āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯ā§‡, āĻšāĻžāĻ¤ā§‡ āĻĨāĻžāĻ•āĻž āĻŸāĻžāĻ¸ā§āĻ•ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡, āĻŦāĻžāĻ‡āĻŸ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ•ā§‡āĻŽāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ (āĻ˛āĻžāĻ˛) āĻāĻ° āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻžāĻ‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° āĻŸāĻžāĻ‡āĻĒ (āĻ¸āĻŦā§āĻœ) āĻ¸āĻš āĻāĻŦāĻ‚ āĻ¨āĻžāĻŽ (āĻ¨ā§€āĻ˛) āĻ¸āĻš āĻ˛ā§‡āĻœā§‡ āĻ°āĻžāĻ–āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨āĻŋāĻ• āĻ•ā§āĻ°āĻŽā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ LMDB āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤ āĻāĻ•āĻ‡ āĻ˛āĻžāĻ˛ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ­āĻžāĻ°ā§āĻ¸āĻŋāĻ‚ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡ āĻ•ā§āĻ°āĻŽā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ (āĻĄāĻžāĻ¨āĻĻāĻŋāĻ•ā§‡) āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ•ā§‹āĻ¨ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§‹āĻ¸ā§āĻŸ-āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ•ā§€ āĻāĻŦāĻ‚ āĻŽāĻžāĻ¨

āĻĒā§ƒāĻĨāĻŋāĻŦā§€āĻ¤ā§‡ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§‡āĻ• āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ—āĻ¤āĻŋ āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§āĻ°ā§āĻ¤āĻ¤āĻŽ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯āĻŸāĻŋ āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ - āĻ¸āĻŋ āĻ­āĻžāĻˇāĻžāĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻāĻ–āĻ˛āĻ•ā§ƒāĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŽā§āĻĒāĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻ•ā§€ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻĄā§‡āĻ˛ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ 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 āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻĄāĻŋāĻ¸ā§āĻ• āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ°ā§‹ āĻĒāĻĨ āĻ§āĻ°ā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨!

āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§€ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž

āĻŽā§‚āĻ˛ āĻ•ā§āĻ°āĻŽ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§āĻ‡ āĻœāĻžāĻ¨ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ•āĻŽā§āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻŦāĻžāĻ‡āĻŸ-āĻŦāĻžāĻ‡-āĻŦāĻžāĻ‡āĻŸ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ° āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°ā§‡ āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻ•ā§‹āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ•ā§āĻ°āĻŽā§‡ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻ›āĻžāĻĄāĻŧāĻž āĻ†āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ¨ā§‡āĻ‡āĨ¤ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻŸāĻž āĻ•ā§āĻĄāĻŧāĻžāĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§‡āĻ­ āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋāĨ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¨ā§€āĻšā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻĒāĻĨā§‡ āĻ›āĻĄāĻŧāĻŋāĻ¯āĻŧā§‡ āĻ›āĻŋāĻŸāĻŋāĻ¯āĻŧā§‡ āĻĨāĻžāĻ•āĻž āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ°ā§‡āĻ• āĻ¨ā§‹āĻŸ āĻ•āĻ°āĻŦāĨ¤

āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻž āĻĒā§āĻ°āĻĨāĻŽ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻšāĻ˛ āĻ†āĻĻāĻŋāĻŽ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…ā§āĻ¯āĻžāĻĒāĻ˛ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡, āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¸āĻžāĻŽāĻžāĻ¨ā§āĻ¯ endian. āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŽ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻžāĻ‡āĻŸ āĻŦāĻžāĻŽ āĻĻāĻŋāĻ•ā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻŦāĻ‚ āĻŦāĻžāĻ‡āĻŸ-āĻŦāĻžāĻ‡-āĻŦāĻžāĻ‡āĻŸ āĻ¤ā§āĻ˛āĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, 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 āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¨āĻŋāĻŦāĻŋāĻĄāĻŧāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ—āĻ•ā§ƒāĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ˜āĻŸā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€āĻ° āĻ—āĻ¤āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ†āĻĻāĻ°ā§āĻļ āĻŦāĻŋāĻļā§āĻŦā§‡, āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻœā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻ¤ā§‡ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĄāĻŋāĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻŽāĻžāĻ¨ āĻ…āĻ‚āĻļā§‡ (āĻŽāĻžāĻ¨) āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ‡āĻŸ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ¤ā§‡ āĻāĻŸāĻŋāĻ° āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻ¤āĻ–āĻ¨āĻ‡ āĻ˜āĻŸā§‡ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻ•ā§‹āĻĄ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻŸāĻŋ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ–ā§āĻŦ āĻ•āĻŽāĻ‡ āĻ˜āĻŸā§‡, āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ—ā§āĻ˛āĻŋ āĻāĻ¤āĻŸāĻž āĻ¸āĻŽāĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻ‰āĻĒāĻ° āĻĢā§‹āĻ•āĻžāĻ¸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻŽā§āĻ•ā§āĻ¤āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ–āĻ¨āĻ“ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ NSKeyedArchiver.

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

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻ›ā§‡ āĻ¯āĻ–āĻ¨ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻāĻ–āĻ¨āĻ“ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŽā§‡āĻŸā§‡āĻ‡āĻ¨āĻĢāĻ°ā§āĻŽā§‡āĻļāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ•āĻ‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻĄāĻžāĻŽā§āĻĒ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋāĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋāĻ° āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻšāĻ˛ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ•ā§āĻ°āĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŽāĻĄā§‡āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻāĻŸāĻŋ āĻ¸āĻŋ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ‰āĻ¤ā§āĻ¤āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻĒā§ƒāĻĨāĻ• āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻŦā§‡āĻ¸ āĻāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻŸāĻžāĻ‡āĻĒ āĻ‡āĻ‰āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ‡āĻ‰āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

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. āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻŽāĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§ˆāĻ§ āĻĨāĻžāĻ•āĻžāĻ° āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ†āĻ—ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻŦāĻŋ-āĻŸā§āĻ°āĻŋ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤, āĻ•āĻĒāĻŋ-āĻ…āĻ¨-āĻ°āĻžāĻ‡āĻŸ āĻ¨ā§€āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻ¯āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ¤āĻ•ā§āĻˇāĻŖ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻļā§‡āĻˇ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡, āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻāĻšā§‡ āĻĨāĻžāĻ•āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°āĻ“ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
  2. āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻĄāĻ°āĻžāĻ‡āĻŸ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (āĻĄā§‡āĻŸāĻž āĻ˛ā§‡āĻ–āĻž āĻŦāĻž āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž) āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§ˆāĻ§ āĻšāĻŦā§‡āĨ¤
  3. āĻ¯āĻĻāĻŋāĻ“ āĻ—āĻ āĻ¨ NodeValue āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ›āĻžāĻāĻŸāĻž (āĻ‰āĻĒāĻŦāĻŋāĻ­āĻžāĻ— "āĻāĻ•āĻŸāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ āĻ¤ā§āĻ˛āĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§€ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž" āĻĻā§‡āĻ–ā§āĻ¨), āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻā§‡ āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻāĻŸāĻŋ dereference āĻ¨āĻž āĻšāĻ¯āĻŧ!
  4. āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¤ā§‡āĻ‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ• mdb_put. āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ¯āĻ¤āĻ‡ āĻ•āĻ āĻŋāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¨āĻž āĻ•ā§‡āĻ¨, āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ‡ āĻ•āĻžāĻ āĻžāĻŽā§‹āĻŸāĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ…āĻžā§āĻšāĻ˛āĻŸāĻŋ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ āĻ¸ā§‡āĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ āĻ¨ āĻŽā§‹āĻĄā§‡ āĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  5. āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻ…ā§āĻ¯āĻžāĻĄā§āĻ°ā§‡āĻ¸ āĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻŋāĻŽā§āĻ¯āĻžāĻĒ āĻ•āĻ°ā§āĻ¨, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ†āĻ•āĻžāĻ° āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ mdb_env_set_map_size āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛ā§‡āĻ¨āĻĻā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻāĻ¤āĻŸāĻžāĻ‡ āĻ›āĻ˛āĻ¨āĻžāĻŽāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻšā§āĻ›ā§‡āĻĻā§‡ āĻŽāĻžāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ–-āĻŦā§ƒāĻ•ā§āĻˇ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻ†āĻŽāĻŋ āĻāĻ° āĻĒā§ƒāĻˇā§āĻ āĻžāĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŽā§‡āĻŽāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻšāĻŋāĻ¤ā§āĻ° āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻāĻŸāĻŋ āĻāĻ‡ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœāĻĄ āĻĄā§‡āĻŸāĻž āĻ¸āĻš āĻŦāĻžāĻĢāĻžāĻ°ā§‡āĻ° āĻļā§āĻ°ā§āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻŸāĻŋ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ• āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻ—ā§ƒāĻšā§€āĻ¤ 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). āĻāĻ†āĻ°āĻāĻŽ-āĻ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻ‡ āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ…āĻ°ā§āĻœāĻ¨ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•āĻĄ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•āĻžāĻ āĻžāĻŽā§‹ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĻāĻ–āĻ˛āĻ•ā§ƒāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ¤āĻž āĻ•āĻ°ā§‡, āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻ†āĻŽāĻžāĻ° āĻ•āĻžāĻ›ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ, āĻ¯āĻĻāĻŋāĻ“ ĐŋŅ€Đ¸Đ˛ĐžĐ´Đ¸Ņ‚ āĻĄā§‡āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ–āĻ°āĻš āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

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

āĻ°ā§‡āĻžā§āĻœ āĻĒā§āĻ°āĻļā§āĻ¨

āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻĒā§‡āĻ° āĻ‰āĻĒāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻ¤ā§‡, LMDB āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ° āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻšāĻ˛ā§āĻ¨ āĻĻā§‡āĻ–ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ• āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤

āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻ…āĻ‚āĻļ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻŸāĻŋāĻ° āĻšāĻžāĻ‡āĻ˛ā§āĻĄ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĒāĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻœāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ NodeKey āĻ¯ā§‡āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŽā§‚āĻ˛ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ†āĻ‡āĻĄāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻĻā§‡āĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻ¸āĻš āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ—ā§āĻ°ā§āĻĒā§‡āĻ° āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻžāĻ¯āĻŧ āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¨ā§€āĻšā§‡āĻ° āĻ¸ā§€āĻŽāĻžāĻ¨āĻžāĻ¯āĻŧ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻžāĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻŠāĻ°ā§āĻ§ā§āĻŦ āĻŦāĻžāĻ‰āĻ¨ā§āĻĄ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ…āĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡. āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•āĻžāĻ°ā§āĻ¸āĻžāĻ°āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° 2āĻŸāĻŋ āĻ¸ā§āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  1. āĻ°ā§ˆāĻ–āĻŋāĻ• āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž, āĻ¯āĻĻāĻŋāĻ“ āĻœāĻžāĻ¨āĻž āĻ¯āĻžāĻ¯āĻŧ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻ—āĻžāĻ›ā§‡ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻŦāĻŋ-āĻŸā§āĻ°āĻŋāĻ¤ā§‡ āĻāĻŸāĻŋ āĻ˛āĻ—āĻžāĻ°āĻŋāĻĻāĻŽāĻŋāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  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-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡ āĻāĻ¤ āĻ…āĻ˛ā§āĻĒ āĻ°āĻ•ā§āĻ¤āĻĒāĻžāĻ¤ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ–ā§āĻŦ āĻ•āĻŽāĻ‡ āĻ¸āĻŽā§āĻ­āĻŦāĨ¤ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻĨāĻžāĻ•āĻž, āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•ā§€ āĻĨā§‡āĻ•ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĨ¤ āĻāĻ‡ āĻļā§‡āĻˇ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻāĻŦāĻ‚ āĻ†āĻ¨ā§āĻ¤āĻƒāĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻ¤ā§āĻ¸āĻ°ā§āĻ—ā§€āĻ•ā§ƒāĻ¤āĨ¤

āĻ¸ā§‚āĻšāĻ• āĻŸā§‡āĻŦāĻŋāĻ˛

āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ "āĻ—ā§āĻ¯āĻžāĻ˛āĻžāĻ°ā§€" āĻŦāĻŋāĻ­āĻžāĻ— āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ¤āĻžāĻ°āĻŋāĻ– āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻ¸āĻŽāĻ—ā§āĻ° āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻĨā§‡āĻ•ā§‡ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ‡ āĻœāĻžāĻ¤ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽāĻ­āĻžāĻŦā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻ¤ā§‡, āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻĒāĻžāĻļā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ•ā§€ āĻ¸āĻš āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¤āĻžāĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¤āĻžāĻ°āĻŋāĻ– āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻŦā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ¸āĻžāĻœāĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ¨āĻĻāĻŖā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ•āĻžāĻ°āĻŖ āĻ¨āĻ¤ā§āĻ¨ āĻ•ā§€āĻ—ā§āĻ˛āĻŋ āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻĄā§‡āĻŸāĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻ•ā§€ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨ā§€āĻšā§‡āĻ° āĻ›āĻŦāĻŋāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ•āĻŽāĻ˛āĻž āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻāĻ•āĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ•ā§€ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻĨā§‡āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ•āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛āĻ†āĻ‡āĻĄāĻŋ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸āĻžāĻ°āĻŖāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŦāĻ‚ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻ—ā§āĻ°ā§āĻĒāĻŋāĻ‚ āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻŦāĨ¤

āĻ¸ā§‚āĻšāĻ• āĻ•ā§€ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•ā§€ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•āĻ‡ āĻĄā§‡āĻŸāĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•ā§€-āĻāĻ° āĻŽāĻžāĻ¨ āĻ…āĻ‚āĻļā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ¤ā§āĻ¤āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽ āĻ¨āĻ¯āĻŧ:

  1. āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻŦā§‡āĻļ āĻ¸āĻŽā§ƒāĻĻā§āĻ§ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
  2. āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡āĻ° āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĻā§āĻŸāĻŋ āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤
  3. āĻ•ā§‹āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§‡āĻ° āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•ā§€āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻŸāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻĄā§‡āĻŸāĻž āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ§āĻ°āĻž āĻŦāĻžāĻ— āĻĒāĻžāĻŦāĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ†āĻŽāĻ°āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĻā§‚āĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻž

āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨āĻŸāĻŋ āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸ā§‚āĻšāĻ• āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¸āĻ‚āĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ "āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•ā§€". āĻāĻ° āĻ¨āĻžāĻŽ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¸ā§‚āĻšāĻ• āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻŽāĻžāĻ¨ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•ā§€ āĻŽāĻžāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋāĨ¤ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻŽāĻžāĻ¨ āĻ…āĻ‚āĻļā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĻā§‚āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ–āĻ°āĻš āĻšāĻ˛ āĻ¯ā§‡ āĻ¸ā§‚āĻšāĻ• āĻ•ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ 2āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻŋāĻ¤āĻ­āĻžāĻŦā§‡, āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ.

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻŸāĻžāĻ°ā§āĻ¨ āĻšāĻ˛ "āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ•ā§€". āĻāĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻšāĻ˛ āĻ•ā§€āĻŸāĻŋāĻ¤ā§‡ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž, āĻ¯āĻž āĻ¸āĻžāĻœāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ, āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ•ā§€ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ Mail.ru āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻŸāĻŋāĻ¤ā§‡ āĻāĻŸāĻŋāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻ­ā§€āĻ° āĻĄā§āĻŦ āĻāĻĄāĻŧāĻžāĻ¨ā§‹ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ iOS āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻĒā§āĻ°ā§‡āĻ•ā§āĻˇāĻžāĻĒāĻŸā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ˛ā§āĻĒāĻ¨āĻŋāĻ•, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻŦ

āĻ•ā§āĻ˛āĻžāĻ‰āĻĄ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻˇā§āĻ āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛ā§‹āĻ•ā§‡āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻŽ āĻ†āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻĒā§āĻ°āĻšāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸ā§āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ•āĻžāĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•ā§‹āĻ¨ āĻ…āĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ), āĻāĻŸāĻŋāĻ° āĻŽā§‚āĻ˛ā§āĻ¯ āĻ…āĻ‚āĻļā§‡āĻ° āĻŦā§‹āĻāĻž āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻĢāĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ•ā§ƒāĻ¤āĻŋāĻ• āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨ā§€āĻšā§‡āĻ° āĻšāĻŋāĻ¤ā§āĻ°ā§‡, āĻāĻ° āĻ•ā§€ "P" āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻŋāĻĢāĻŋāĻ•ā§āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻ¨āĻ§āĻžāĻ°āĻ• "propname" āĻ†āĻ°āĻ“ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŽāĻžāĻ¨ "āĻĒāĻžāĻŦāĻ˛āĻŋāĻ• āĻ‡āĻ¨āĻĢā§‹" āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻ¨āĻ¨ā§āĻ¯ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž, āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻ¸ā§āĻŦāĻžāĻ°ā§āĻĨā§‡ āĻ¯āĻž āĻ¨āĻ¤ā§āĻ¨ āĻŸā§‡āĻŦāĻŋāĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻŽāĻžāĻ¨ āĻ…āĻ‚āĻļā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŽā§‚āĻ˛ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ¨āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¨āĻžāĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĄā§‡āĻŸāĻž "āĻ¨ā§‹āĻĄ āĻ†āĻ‡āĻĄāĻŋ" āĻāĻŦāĻ‚ "āĻŸāĻžāĻ‡āĻŽāĻ¸ā§āĻŸā§āĻ¯āĻžāĻŽā§āĻĒ" āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡ "P" āĻ•ā§€āĻ¤ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§‚āĻšāĻ• āĻ•ā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ•ā§€ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡, āĻ…āĻŦāĻļā§‡āĻˇā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¨ā§‹āĻĄ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ†āĻŽāĻ°āĻž LMDB āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ•āĻ­āĻžāĻŦā§‡ āĻŽā§‚āĻ˛ā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻŋāĨ¤ āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻŦā§‡āĻĻāĻ¨ āĻœāĻŽāĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž 30% āĻ•āĻŽā§‡āĻ›ā§‡āĨ¤

āĻ†āĻ‡āĻ“āĻāĻ¸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽā§‚āĻ˛-āĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ LMDB-āĻāĻ° āĻ‰āĻœā§āĻœā§āĻŦāĻ˛āĻ¤āĻž āĻāĻŦāĻ‚ āĻĻāĻžāĻ°āĻŋāĻĻā§āĻ°ā§āĻ¯

āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻžāĻœā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ iOS āĻŸāĻŋāĻŽ āĻ…āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ…āĻ¨ā§āĻ°āĻŖāĻŋāĻ¤. āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡, āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ°āĻ¯āĻŧā§‡āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ "āĻĢāĻžāĻ‡āĻ˛" āĻŦāĻŋāĻ­āĻžāĻ—āĻ“ LMDB āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡ āĻ¸ā§āĻ‡āĻš āĻ•āĻ°ā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻĒāĻĨā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻ¸āĻŋ āĻ˛ā§āĻ¯āĻžāĻ™ā§āĻ—ā§āĻ¯āĻŧā§‡āĻœ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§€-āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¸ā§āĻŸā§‹āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ C++ āĻ āĻ•ā§āĻ°āĻ¸-āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ›āĻŋāĻ˛āĨ¤ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŋāĻ­-āĻ¸āĻŋ āĻāĻŦāĻ‚ āĻ•ā§‹āĻŸāĻ˛āĻŋāĻ¨ā§‡ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¸āĻŋ++ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°ā§€āĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻ˜ā§āĻ¨ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻœāĻŋāĻ¨āĻŋ āĻĄā§āĻ°āĻĒāĻŦāĻ•ā§āĻ¸ āĻĨā§‡āĻ•ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ—āĻ˛ā§āĻĒāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨