Skip to content

future-genius16/lab_3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа №3

Cсылка на github: https://github.com/future-genius16/lab_3

Время выполнения каждого из запросов на каждом из языков представлено в таблице ниже. Отмечу, что каждое получившееся значение это медиана от результатов 20 запусков программы.

image

Эти же данные можно представить в формате сравнительного графика:

image

Данных по библиотеке DuckDB на графике практически не видно, так как значения крайне малы(см. таблицу).

Вывод

В процессе оценки "впечатлений" от каждой библиотеки я выявила, что самой сложной в использовании оказалась библиотека Postgres. Я думаю, что это связано с тем, что для ее использования требуется наличие сервера базы данных Postgres в docker-контейнере, что может потребовать дополнительных усилий и времени для настройки и запуска(мне это не понравилось). Мне кажется, что пользователям может быть сложно разобраться с этим процессом, особенно если они не имеют опыта работы с докером.

Остальные три библиотеки - SQLite, DuckDB и Pandas - по моим ощущениям оказались примерно одинаково просты в использовании. Библиотека SQLite известна своей простотой и легкостью в использовании, так как она не требует установки отдельного сервера базы данных и хранит данные в обычном файле на жестком диске. DuckDB также представляет собой легкую в использовании библиотеку, поскольку она хранит данные в оперативной памяти ноутбука, что ускоряет доступ к данным и упрощает процесс работы с ними. Библиотека Pandas, хотя и использует SQLite в качестве базы данных, также оказалась простой в использовании благодаря своей интуитивно понятной структуре и множеству доступных функций.

Относительно скорости работы, DuckDB оказалась самой быстрой, так как хранила данные в оперативной памяти ноутбука, что существенно ускоряет доступ к данным.

image

Библиотеки SQLite и Pandas, хранящие данные на жестком диске, стали средними по скорости выполнения запросов.

image image

Postgres обращалась к базе данных через сеть, что и привело к ее медленной работе по сравнению с остальными библиотеками.

image

Таким образом, при выборе библиотеки для работы с данными необходимо учитывать как ее удобство использования, так и скорость выполнения запросов, чтобы выбрать наиболее подходящий вариант для конкретной задачи. Я бы для подобной задачи в следующий раз обратилась к DuckDB!

Инструкция по запуску

Потребуются python библиотеки: sqlite3 pandas sqlalchemy psycopg2 duckdb

Загрузка данных в базу данных (если необходимо) производится с помощью раскомментирования кода после # имя_библиотеки import.

Запуск производится с помощью раскомментиования кода после # имя_библиотеки queries и раскомментирования конкретного запроса.

В датасете имя последнего столбца вручную изменено, так как sqlite не чувствителен к регистру имён столбцов.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages