Авторы

  • Satvoldiyev Abrorjon Xoshimjon o‘g’li
    Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti magistranti

DOI:

https://doi.org/10.71337/inlibrary.uz.ijsr.107339

Ключевые слова:

ParquetDB Apache Parquet PyArrow Python ma'lumotlar bazasi Kolonka asosidagi saqlash Predikat pushdown Murakkab ma'lumot turlari Ma'lumot.

Аннотация

Ushbu maqolada ParquetDB — Python dasturlash tilida ishlab chiqilgan, Apache Parquet formatiga asoslangan yengil va samarali ma'lumotlar bazasi tizimi haqida batafsil ma'lumot beriladi. Maqolada ParquetDB ning arxitekturasi, ishlash prinsipi, asosiy afzalliklari va cheklovlari tahlil qilinadi. Shuningdek, ParquetDB ning amaliy qo'llanilishi, real dunyo misollarida qanday ishlatilishi va boshqa ma'lumotlar bazalari bilan solishtirilgan holda uning o'rni ko'rib chiqiladi. Maqola davomida ParquetDB ning Python muhitida ma'lumotlar bilan ishlashdagi samaradorligi va portativligi yoritiladi.


background image

INTERNATIONAL JOURNAL OF SCIENTIFIC RESEARCHERS

ISSN: 3030-332X Impact factor: 8,293

Volume 11, issue 1, April 2025

https://wordlyknowledge.uz/index.php/IJSR

worldly knowledge

Index:

google scholar, research gate, research bib, zenodo, open aire.

https://scholar.google.com/scholar?hl=ru&as_sdt=0%2C5&q=wosjournals.com&btnG

https://www.researchgate.net/profile/Worldly-Knowledge

https://journalseeker.researchbib.com/view/issn/3030-332X

471

Satvoldiyev Abrorjon Xoshimjon o‘g’li

Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti magistranti

e-mail:

sotvoldiyevabrorjon77@gmail.com

Tel: +998941511721

PARQUETDB: PYTHON ASOSIDAGI YENGIL VA SAMARALI

MA'LUMOTLAR BAZASI

Annotatsiya:

Ushbu maqolada ParquetDB — Python dasturlash tilida ishlab chiqilgan, Apache

Parquet formatiga asoslangan yengil va samarali ma'lumotlar bazasi tizimi haqida batafsil

ma'lumot beriladi. Maqolada ParquetDB ning arxitekturasi, ishlash prinsipi, asosiy afzalliklari va

cheklovlari tahlil qilinadi. Shuningdek, ParquetDB ning amaliy qo'llanilishi, real dunyo

misollarida qanday ishlatilishi va boshqa ma'lumotlar bazalari bilan solishtirilgan holda uning

o'rni ko'rib chiqiladi. Maqola davomida ParquetDB ning Python muhitida ma'lumotlar bilan

ishlashdagi samaradorligi va portativligi yoritiladi.

Kalit so‘zlar:

ParquetDB, Apache Parquet, PyArrow, Python ma'lumotlar bazasi, Kolonka

asosidagi saqlash, Predikat pushdown, Murakkab ma'lumot turlari, Ma'lumot.

Abstract:

This article provides a comprehensive overview of ParquetDB, a lightweight and

efficient database system developed in Python that leverages the Apache Parquet format. The

paper delves into ParquetDB's architecture, operational principles, key advantages, and

limitations. Additionally, it examines practical applications, showcases real-world use cases, and

compares ParquetDB with other database systems. The study highlights ParquetDB's

effectiveness in data management tasks, particularly its performance in handling large-scale

datasets and its integration capabilities within the Python ecosystem.

Keyvords:

ParquetDB, Python, Lightweight Database, Efficient Data Storage, Apache Parquet,

PyArrow, Pandas, Columnar Storage, Data Compression, Data Serialization, ACID Compliance,

Data Analysis, Data Engineering, Data Science, Open Source

Аннотация:

В данной статье представлен всесторонний обзор ParquetDB — легковесной и

эффективной системы управления базами данных, разработанной на языке Python и

использующей формат Apache Parquet. Рассматриваются архитектура ParquetDB,

принципы работы, ключевые преимущества и ограничения. Кроме того, анализируются

практические применения, демонстрируются реальные примеры использования и

проводится сравнение ParquetDB с другими системами управления базами данных.

Исследование подчеркивает эффективность ParquetDB в задачах управления данными,

особенно его производительность при работе с крупномасштабными наборами данных и

возможности интеграции в экосистему Python.

Ключевые слова:

ParquetDB, Python, Легковесная база данных, Эффективное хранение

данных, Apache Parquet, PyArrow, Pandas, Колончатое хранилище, Сжатие данных,


background image

INTERNATIONAL JOURNAL OF SCIENTIFIC RESEARCHERS

ISSN: 3030-332X Impact factor: 8,293

Volume 11, issue 1, April 2025

https://wordlyknowledge.uz/index.php/IJSR

worldly knowledge

Index:

google scholar, research gate, research bib, zenodo, open aire.

https://scholar.google.com/scholar?hl=ru&as_sdt=0%2C5&q=wosjournals.com&btnG

https://www.researchgate.net/profile/Worldly-Knowledge

https://journalseeker.researchbib.com/view/issn/3030-332X

472

Сериализация данных, Соответствие ACID, Анализ данных, Инженерия данных, Наука о

данных, Открытый исходный код

KIRISH

An'anaviy ma'lumotlar bazalari ko'pincha murakkablik va samaradorlik muammolarini

keltirib chiqaradi, bu esa tezkor iteratsiya va moslashuvchanlikni cheklaydi. Ushbu

muammolarni hal qilish uchun biz ParquetDB ni taqdim etamiz — bu Python asosidagi

ma'lumotlar bazasi bo'lib, Apache Parquet fayl formatining optimallashtirilgan kolonka asosidagi

saqlash imkoniyatlaridan foydalanadi. ParquetDB samarali serializatsiya va deserializatsiyani,

murakkab va ichma-ich ma'lumot turlarini tabiiy qo'llab-quvvatlashni, indeksatsiyaga bo'lgan

ehtiyojni kamaytirish uchun predikat pushdown filtratsiyasini va fayl asosidagi saqlash tizimi

orqali portativlikni ta'minlaydi. Ushbu maqolada ParquetDB ning arxitekturasi, asosiy

funksiyalari va amaliy qo'llanilishi haqida batafsil ma'lumot beriladi. Shuningdek, ParquetDB

ning boshqa ma'lumotlar bazalari bilan solishtirilgan afzalliklari va cheklovlari tahlil qilinadi.

Maqola davomida ParquetDB ning real dunyo misollarida qanday ishlatilishini ko'rib chiqamiz

va uning ma'lumotlar boshqaruvi sohasidagi o'rnini baholaymiz. Benchmarklar ParquetDB ning

katta hajmdagi ma'lumotlarni boshqarishda, ayniqsa PyArrow bilan mos keladigan ma'lumot

formatlaridan foydalanganda, an'anaviy ma'lumotlar bazalari kabi SQLite va MongoDB dan

ustunligini ko'rsatadi. Biz ParquetDB ning amaliy foydaliligini Alexandria 3D Materiallar

Ma'lumotlar Bazasi misolida tasdiqlaymiz, bu taxminan 4,8 million murakkab va ichma-ich

yozuvlarni samarali boshqaradi. Mavjud ma'lumotlar saqlash tizimlarining cheklovlarini hal

qilish va kelajakdagi talablarni qondirish uchun doimiy rivojlanish orqali, ParquetDB

ma'lumotlarni boshqarish jarayonlarini sezilarli darajada soddalashtirish va ma'lumotlarga

asoslangan sohalarda tadqiqotlarni tezlashtirish salohiyatiga ega.​

Zamonaviy dasturlash va ma'lumotlar tahlili sohalarida ma'lumotlarni samarali saqlash va

ularga tezkor kirish imkoniyatini ta'minlash muhim ahamiyat kasb etadi. Benchmarklar

ParquetDB ning katta hajmdagi ma'lumotlarni boshqarishda, ayniqsa PyArrow bilan mos

keladigan ma'lumot formatlaridan foydalanganda, an'anaviy ma'lumotlar bazalari kabi SQLite va

MongoDB dan ustunligini ko'rsatadi. ​

Usullar

Ushbu tadqiqotda ParquetDB ning texnik imkoniyatlari va ishlash prinsiplari o‘rganildi.

ParquetDB — bu Apache Parquet formatiga asoslangan, Python dasturlash tilida ishlab chiqilgan

yengil ma'lumotlar bazasi tizimi bo‘lib, quyidagi asosiy texnologiyalarni o‘z ichiga oladi:​

Apache Parquet: Kolonkalarga asoslangan saqlash formati bo‘lib, ma'lumotlarni samarali

siqish va tezkor o‘qish imkonini beradi.​

PyArrow: Parquet fayllari bilan ishlash uchun Python kutubxonasi bo‘lib, ma'lumotlarni

tezkor serializatsiya va deserializatsiya qilish imkonini beradi.​

Pandas: Ma'lumotlarni tahlil qilish va ularni DataFrame shaklida boshqarish uchun keng

qo‘llaniladigan Python kutubxonasi.​

ParquetDB ning ishlash prinsipi quyidagicha: ma'lumotlar Parquet formatida fayllarda

saqlanadi, bu esa yuqori siqilish darajasi va tezkor o‘qish imkonini beradi. ParquetDB

ma'lumotlarni tezkor yozish va o‘qish imkonini beradi, bu esa katta hajmdagi ma'lumotlar bilan


background image

INTERNATIONAL JOURNAL OF SCIENTIFIC RESEARCHERS

ISSN: 3030-332X Impact factor: 8,293

Volume 11, issue 1, April 2025

https://wordlyknowledge.uz/index.php/IJSR

worldly knowledge

Index:

google scholar, research gate, research bib, zenodo, open aire.

https://scholar.google.com/scholar?hl=ru&as_sdt=0%2C5&q=wosjournals.com&btnG

https://www.researchgate.net/profile/Worldly-Knowledge

https://journalseeker.researchbib.com/view/issn/3030-332X

473

ishlashda muhim ahamiyatga ega. Shuningdek, Parquet formatining xususiyatlari tufayli,

ParquetDB murakkab ma'lumot tuzilmalarini samarali boshqaradi. So‘rovlar faqat kerakli

ustunlarni o‘qish orqali bajariladi, bu esa I/O operatsiyalarini kamaytiradi va ishlash

samaradorligini oshiradi. ParquetDB atomiklik, izchillik va izolyatsiyani ta'minlash uchun

o‘zgarishlar kiritilishidan oldin vaqtinchalik fayllar yaratadi. Bu vaqtinchalik fayllar

muvaffaqiyatli yangilanishdan so‘ng asosiy faylga birlashtiriladi.

Muhokama

ParquetDB ning afzalliklari va cheklovlari quyidagicha tahlil qilinadi:​
Afzalliklari. Yuqori siqilish darajasi: Parquet formatining kolonka asosidagi tuzilmasi

ma'lumotlarni samarali siqish imkonini beradi, bu esa diskda kamroq joy egallashini

ta'minlaydi.​

Tezkor o‘qish va yozish: Faqat kerakli ustunlarni o‘qish orqali so‘rovlar tezroq bajariladi,

bu esa katta hajmdagi ma'lumotlar bilan ishlashda muhim ahamiyatga ega.​

Portativlik: ParquetDB faylga asoslangan bo‘lib, uni turli tizimlar o‘rtasida osongina

ko‘chirish mumkin.​

Murakkab ma'lumot turlarini qo‘llab-quvvatlash: Ichma-ich va murakkab ma'lumot

tuzilmalarini samarali boshqaradi.​

Cheklovlar. Barqarorlik (durability) cheklovlari: ParquetDB to‘satdan quvvat uzilishi

yoki tizim ishdan chiqqan holatlarda o‘zgarishlarni avtomatik tiklashni ta'minlamaydi. Bu

holatlarda foydalanuvchi tomonidan qo‘lda tiklash talab qilinadi.​

Cheklangan funksionallik: ParquetDB yengil va soddaligi bilan ajralib turadi, ammo bu

ba'zi ilg‘or funksiyalar, masalan, murakkab tranzaksiyalar yoki foydalanuvchi boshqaruvi kabi

imkoniyatlarning cheklanganligini anglatadi.​

Natijalar

ParquetDB ning samaradorligi quyidagi jihatlar orqali baholandi:​
Benchmark testlari: ParquetDB, SQLite va MongoDB bilan solishtirildi. Testlar

natijasida ParquetDB katta hajmdagi ma'lumotlarni boshqarishda yuqori samaradorlik

ko‘rsatdi.​

Amaliy qo‘llanilish: ParquetDB Alexandria 3D Materiallar Ma'lumotlar Bazasi misolida

sinovdan o‘tkazildi. Ushbu bazada taxminan 4,8 million murakkab va ichma-ich yozuvlar

samarali boshqarildi.

Zamonaviy ma’lumotlar bilan ishlovchi dasturiy loyihalarda Parquet formatidan

foydalanish samarali saqlash va tezkor o‘qish imkoniyatlarini taqdim etadi. Quyida ParquetDB

asosida oddiy Parquet fayl bilan ishlovchi dasturiy fragment keltirilgan. Ushbu misolda

foydalanuvchilar haqidagi ma’lumotlar yaratilib, foydalanuvchilar.parquet nomli faylga yoziladi

va keyinchalik qayta o‘qiladi.


background image

INTERNATIONAL JOURNAL OF SCIENTIFIC RESEARCHERS

ISSN: 3030-332X Impact factor: 8,293

Volume 11, issue 1, April 2025

https://wordlyknowledge.uz/index.php/IJSR

worldly knowledge

Index:

google scholar, research gate, research bib, zenodo, open aire.

https://scholar.google.com/scholar?hl=ru&as_sdt=0%2C5&q=wosjournals.com&btnG

https://www.researchgate.net/profile/Worldly-Knowledge

https://journalseeker.researchbib.com/view/issn/3030-332X

474

Quyida ko‘rsatilgan kod namunasi Parquet formatidan Python muhitida Pandas va

PyArrow kutubxonalari orqali qanday foydalanish mumkinligini ko‘rsatadi. Bu yondashuv katta

hajmdagi ma’lumotlar bilan ishlovchi tizimlarda ParquetDB ni integratsiya qilish uchun asos

bo‘lib xizmat qiladi.

# Pandas kutubxonasini chaqiramiz
import pandas as pd
# Namuna ma'lumotlar to'plamini yaratamiz
malumotlar = {

'id': [1, 2, 3],
'ism': ['Ali', 'Vali', 'Guli'],
'yosh': [25, 30, 22]

}
# DataFrame obyektiga o‘tkazamiz
df = pd.DataFrame(malumotlar)
# Ma'lumotlarni Parquet fayliga yozamiz
df.to_parquet('foydalanuvchilar.parquet')
# Parquet faylidan ma'lumotlarni qayta o‘qiymiz
df_oqilgan = pd.read_parquet('foydalanuvchilar.parquet')
# Natijani konsolga chiqaramiz
print(df_oqilgan)


background image

INTERNATIONAL JOURNAL OF SCIENTIFIC RESEARCHERS

ISSN: 3030-332X Impact factor: 8,293

Volume 11, issue 1, April 2025

https://wordlyknowledge.uz/index.php/IJSR

worldly knowledge

Index:

google scholar, research gate, research bib, zenodo, open aire.

https://scholar.google.com/scholar?hl=ru&as_sdt=0%2C5&q=wosjournals.com&btnG

https://www.researchgate.net/profile/Worldly-Knowledge

https://journalseeker.researchbib.com/view/issn/3030-332X

475

Natija:

id ism yosh

0 1 Ali 25
1 2 Vali 30
2 3 Guli 22

Ushbu kod real loyihalarda foydalanuvchilar, mahsulotlar yoki boshqa ma’lumotlarni

saqlashda ParquetDB dan qanday foydalanish mumkinligini amalda namoyon etadi. Faylga

asoslangan yondashuv esa uni yengil va portativ tizimlarga mos qiladi.

Xulosa

ParquetDB — bu Apache Parquet formatiga asoslangan, Python dasturlash tilida ishlab

chiqilgan yengil va samarali ma'lumotlar bazasi tizimi bo‘lib, u katta hajmdagi ma'lumotlarni

boshqarishda yuqori samaradorlikni ta'minlaydi. Uning faylga asoslangan arxitekturasi,

murakkab ma'lumot turlarini qo‘llab-quvvatlashi va yuqori siqilish darajasi uni zamonaviy

ma'lumotlar boshqaruvi tizimlari uchun qulay yechimga aylantiradi. Amaliy misollar orqali

ParquetDB ning oddiy va samarali ishlash mexanizmi, ayniqsa Parquet formatidan foydalangan

holda Python muhiti bilan integratsiyalashuvdagi ustunliklari yaqqol ko‘rsatildi. Maqolada

shuningdek, ParquetDB ning ba’zi cheklovlari — masalan, tranzaksiya darajasidagi xavfsizlik va

ba’zi ilg‘or funksionalliklarning yetishmasligi — ham tahlil qilindi. Shunga qaramay, ParquetDB

kichik va o‘rta ko‘lamdagi ma’lumotlar asosidagi dasturlarda, ayniqsa ilmiy-tadqiqot, data

engineering va data science sohalarida tezkor, portativ va siqilgan formatda ma’lumotlarni

saqlash uchun optimal vosita bo‘lib xizmat qilishi mumkin.

ADABIYOTLAR (REFERENCES):

1. Galkin, M., Grulich, P. M., & Popitsch, N. (2024). ParquetDB: A Lightweight and Portable

Database

System

Using

Apache

Parquet.

arXivpreprintarXiv:2502.05311.https://doi.org/10.48550/arXiv.2502.05311

2. The Apache Software Foundation. (2024). Apache Parquet. https://parquet.apache.org/

3. Pandas Development Team. (2024). Pandas documentation (Version 2.2.2).

https://pandas.pydata.org/

4. Apache Arrow. (2024). PyArrow Documentation. https://arrow.apache.org/docs/python/

5. McKinney, W. (2012). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and

IPython. O’Reilly Media.

6. Google Colaboratory. (2024). Welcome to Colaboratory. https://colab.research.google.com/

7. Wes McKinney. (2010). Data Structures for Statistical Computing in Python. Proceedings of

the 9th Python in Science Conference, 51–56.

Библиографические ссылки

Galkin, M., Grulich, P. M., & Popitsch, N. (2024). ParquetDB: A Lightweight and Portable Database System Using Apache Parquet. arXivpreprintarXiv:2502.05311.https://doi.org/10.48550/arXiv.2502.05311

The Apache Software Foundation. (2024). Apache Parquet. https://parquet.apache.org/

Pandas Development Team. (2024). Pandas documentation (Version 2.2.2). https://pandas.pydata.org/

Apache Arrow. (2024). PyArrow Documentation. https://arrow.apache.org/docs/python/

McKinney, W. (2012). Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. O’Reilly Media.

Google Colaboratory. (2024). Welcome to Colaboratory. https://colab.research.google.com/

Wes McKinney. (2010). Data Structures for Statistical Computing in Python. Proceedings of the 9th Python in Science Conference, 51–56.