Skip to content

StepanPanturov/lab_bd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

В результате лабораторной работы я сравнил три библиотеки (psycopg2, SQLite, DuckDB) для работы с базами данных, используя tiny датасет

SQL запросы

  1. SELECT VendorID, count(*) FROM trips GROUP BY 1;
  2. SELECT passenger_count, avg(total_amount) FROM trips GROUP BY 1;
  3. SELECT passenger_count, extract(year from tpep_pickup_datetime), count(*) FROM trips GROUP BY 1, 2;
  4. SELECT passenger_count, extract(year from tpep_pickup_datetime), round(trip_distance), count(*) FROM trips GROUP BY 1, 2, 3 ORDER BY 2, 4 desc;

График

График сравнения времени выполнения четырех запросов в секундах для разных библиотек на tiny датасете:

image

Выводы и анализ графика

Исходя из графика, DuckDB явлется самым быстрым способом работы с базой данных. Это происходит потому, что она выполняет запросы путём векторизации, ориентированной на столбцы, в то время как SQLite, PostgreSQL обрабатывают каждую строку последовательно. Также DuckDB имеет сравнительно простой синтаксис. Самой медленной библиотекой является SQLite, но она удобна в использовании. psycopg2 - среднее решение между упомянутыми библиотеками.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages