DevGang
Авторизоваться

strip.pysondb - новая JSON БД для Python

Сегодня мы поговорим о strip.pysondb, название предполагает, что это урезанная версия существующей базы данных JSON под названием pysondb.

Мы обсудим некоторые проблемы с pysondb и то, как strip.pysondb исправляет эти проблемы.

Но сначала несколько основных функций strip.pysondb.

  1. Никаких сторонних пакетов не требуется
  2. Нет CLI
  3. Нет ImageUtils
  4. Использование соглашений об именах Python в функциях и классах.
  5. Просто код, необходимый для выполнения операции CRUD в базе данных JSON.
  6. Пользователи могут создавать собственные идентификаторы

Хотя его называют урезанной версией оригинала. В работе strip.pysondb есть огромные различия.

  1. Данные не сохраняются в файл мгновенно, для этого необходимо вызвать методы.
  2. Пользователь должен передать ключи / имя столбца для БД во время инициализации класса DB.
  3. Некоторые из новых методов, которые не являются производными от PysonDB:popcommitloadvaluesset_id_generatorid_exists

Поговорим о скорости

Вот пример кода, который непрерывно добавляет 1000 значений в БД и вычисляет время, необходимое для добавления всей 1000 значений.

pysonDB

pip3 install pysondb
  # test.py
  from time import time

  from pysondb import db

  a = db.getDb("test.json")

  t1 = time()
  for i in range(1000):
      a.add({"name": f"name{i}", "age": i})
  t2 = time()

  print(t2 - t1)

Результат:

  $ py test.py
  7.166365623474121

Да, для добавления 1000 значений требуется 8 секунд. Если в БД уже есть 1000 значений, это займет 20 секунд.

strip.pysondb

pip3 install strip.pysondb
  # test2.py
  from time import time

  from pysondb import DB

  db = DB(keys = ["name", "age"])

  t1 = time()
  for i in range(1000):
      db.add({"name": f"name{i}", "age": i})

  db.commit("test2.json")
  t2 = time()

  print(t2 - t1)

Результат:

  $ py test2.py
  0.009546756744384

Как видите, для добавления 1000 значений требуется всего 0,01 секунды. Чтобы получить 100_000 значений в БД, требуется всего 0,9 секунды.

#Python
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

Поделитесь своим опытом, расскажите о новом инструменте, библиотеке или фреймворке. Для этого не обязательно становится постоянным автором.

Попробовать

В подарок 100$ на счет при регистрации

Получить