From f7f75f4c689bd53f8bc0cd477f7863e1099497a4 Mon Sep 17 00:00:00 2001
From: Dimitri Papadopoulos
 <3234522+DimitriPapadopoulos@users.noreply.github.com>
Date: Fri, 7 Mar 2025 15:22:59 +0100
Subject: [PATCH] Get rid of deprecated stores LMDBStore/DBMStore

---
 notebooks/store_benchmark.ipynb | 575 +-------------------------------
 1 file changed, 1 insertion(+), 574 deletions(-)

diff --git a/notebooks/store_benchmark.ipynb b/notebooks/store_benchmark.ipynb
index 869e7df608..b26b4462aa 100644
--- a/notebooks/store_benchmark.ipynb
+++ b/notebooks/store_benchmark.ipynb
@@ -35,27 +35,6 @@
     "zarr.__version__"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "'6.2.5'"
-      ]
-     },
-     "execution_count": 2,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "import bsddb3\n",
-    "bsddb3.__version__"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 3,
@@ -86,16 +65,6 @@
     "import numpy as np"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import dbm.gnu\n",
-    "import dbm.ndbm"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 6,
@@ -114,26 +83,16 @@
     "\n",
     "    \n",
     "def setup(a, name='foo/bar'):\n",
-    "    global fdict_z, hdict_z, lmdb_z, gdbm_z, ndbm_z, bdbm_btree_z, bdbm_hash_z, zip_z, dir_z\n",
+    "    global fdict_z, hdict_z, zip_z, dir_z\n",
     "    \n",
     "    clean()\n",
     "    fdict_root = zarr.group(store=dict())\n",
     "    hdict_root = zarr.group(store=zarr.DictStore())\n",
-    "    lmdb_root = zarr.group(store=zarr.LMDBStore(os.path.join(bench_dir, 'lmdb')))\n",
-    "    gdbm_root = zarr.group(store=zarr.DBMStore(os.path.join(bench_dir, 'gdbm'), open=dbm.gnu.open))\n",
-    "    ndbm_root = zarr.group(store=zarr.DBMStore(os.path.join(bench_dir, 'ndbm'), open=dbm.ndbm.open))\n",
-    "    bdbm_btree_root = zarr.group(store=zarr.DBMStore(os.path.join(bench_dir, 'bdbm_btree'), open=bsddb3.btopen))\n",
-    "    bdbm_hash_root = zarr.group(store=zarr.DBMStore(os.path.join(bench_dir, 'bdbm_hash'), open=bsddb3.hashopen))\n",
     "    zip_root = zarr.group(store=zarr.ZipStore(os.path.join(bench_dir, 'zip'), mode='w'))\n",
     "    dir_root = zarr.group(store=zarr.DirectoryStore(os.path.join(bench_dir, 'dir')))\n",
     "\n",
     "    fdict_z = fdict_root.empty_like(name, a)\n",
     "    hdict_z = hdict_root.empty_like(name, a)\n",
-    "    lmdb_z = lmdb_root.empty_like(name, a)\n",
-    "    gdbm_z = gdbm_root.empty_like(name, a)\n",
-    "    ndbm_z = ndbm_root.empty_like(name, a)\n",
-    "    bdbm_btree_z = bdbm_btree_root.empty_like(name, a)\n",
-    "    bdbm_hash_z = bdbm_hash_root.empty_like(name, a)\n",
     "    zip_z = zip_root.empty_like(name, a)\n",
     "    dir_z = dir_root.empty_like(name, a)\n",
     "\n",
@@ -254,91 +213,6 @@
     "%timeit save(a, hdict_z)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "316 ms ± 12.6 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit save(a, lmdb_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "938 ms ± 111 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit save(a, gdbm_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "406 ms ± 8.93 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit save(a, ndbm_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.43 s ± 156 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit save(a, bdbm_btree_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.24 s ± 260 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit save(a, bdbm_hash_z)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 16,
@@ -416,91 +290,6 @@
     "%timeit load(hdict_z, a)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 20,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "429 ms ± 19.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit load(lmdb_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 21,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "459 ms ± 10 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit load(gdbm_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 22,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "473 ms ± 5.71 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit load(ndbm_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 23,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "504 ms ± 8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit load(bdbm_btree_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 24,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "519 ms ± 9.59 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit load(bdbm_hash_z, a)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 25,
@@ -620,91 +409,6 @@
     "%timeit -r3 save(a, hdict_z)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 31,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "846 ms ± 24 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 save(a, lmdb_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 32,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "6.35 s ± 785 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 save(a, gdbm_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 33,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "4.62 s ± 1.09 s per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 save(a, ndbm_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 34,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "7.84 s ± 1.66 s per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 save(a, bdbm_btree_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 35,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "6.49 s ± 808 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 save(a, bdbm_hash_z)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 36,
@@ -780,91 +484,6 @@
     "%timeit -r3 load(hdict_z, a)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 41,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "532 ms ± 16.1 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 load(lmdb_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 42,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.2 s ± 10.9 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 load(gdbm_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 43,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.18 s ± 13.2 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 load(ndbm_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 44,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.59 s ± 16.7 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 load(bdbm_btree_z, a)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 45,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "1.61 s ± 7.31 ms per loop (mean ± std. dev. of 3 runs, 1 loop each)\n"
-     ]
-    }
-   ],
-   "source": [
-    "%timeit -r3 load(bdbm_hash_z, a)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 46,
@@ -980,96 +599,6 @@
     "%time dask_op(hdict_z, fdict_z)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 78,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 15.1 s, sys: 524 ms, total: 15.6 s\n",
-      "Wall time: 3.02 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(lmdb_z, fdict_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 79,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 16.5 s, sys: 712 ms, total: 17.2 s\n",
-      "Wall time: 3.13 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(gdbm_z, fdict_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 80,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 16.3 s, sys: 604 ms, total: 16.9 s\n",
-      "Wall time: 3.22 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(ndbm_z, fdict_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 81,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 19.6 s, sys: 1.24 s, total: 20.9 s\n",
-      "Wall time: 3.27 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(bdbm_btree_z, fdict_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 82,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 20.3 s, sys: 1.08 s, total: 21.4 s\n",
-      "Wall time: 3.53 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(bdbm_hash_z, fdict_z)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 83,
@@ -1131,96 +660,6 @@
     "%time dask_op(fdict_z, hdict_z)"
    ]
   },
-  {
-   "cell_type": "code",
-   "execution_count": 52,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 16.2 s, sys: 1.6 s, total: 17.8 s\n",
-      "Wall time: 2.71 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(fdict_z, lmdb_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 59,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 16.8 s, sys: 3.05 s, total: 19.8 s\n",
-      "Wall time: 8.01 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(fdict_z, gdbm_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 54,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 17.9 s, sys: 3.01 s, total: 20.9 s\n",
-      "Wall time: 5.46 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(fdict_z, ndbm_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 61,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 13.8 s, sys: 3.39 s, total: 17.2 s\n",
-      "Wall time: 7.87 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(fdict_z, bdbm_btree_z)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 56,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CPU times: user 13.9 s, sys: 3.27 s, total: 17.2 s\n",
-      "Wall time: 6.73 s\n"
-     ]
-    }
-   ],
-   "source": [
-    "%time dask_op(fdict_z, bdbm_hash_z)"
-   ]
-  },
   {
    "cell_type": "code",
    "execution_count": 57,
@@ -1263,20 +702,8 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "lmdb_z.store.close()\n",
-    "gdbm_z.store.close()\n",
-    "ndbm_z.store.close()\n",
-    "bdbm_btree_z.store.close()\n",
-    "bdbm_hash_z.store.close()\n",
     "zip_z.store.close()"
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {