strip.pysondb - новая JSON БД для Python
Сегодня мы поговорим о strip.pysondb, название предполагает, что это урезанная версия существующей базы данных JSON под названием pysondb.
Мы обсудим некоторые проблемы с pysondb и то, как strip.pysondb исправляет эти проблемы.
Но сначала несколько основных функций strip.pysondb.
- Никаких сторонних пакетов не требуется
- Нет CLI
- Нет ImageUtils
- Использование соглашений об именах Python в функциях и классах.
- Просто код, необходимый для выполнения операции CRUD в базе данных JSON.
- Пользователи могут создавать собственные идентификаторы
Хотя его называют урезанной версией оригинала. В работе strip.pysondb есть огромные различия.
- Данные не сохраняются в файл мгновенно, для этого необходимо вызвать методы.
- Пользователь должен передать ключи / имя столбца для БД во время инициализации класса
DB
. - Некоторые из новых методов, которые не являются производными от PysonDB:
pop
commit
load
values
set_id_generator
id_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 секунды.