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, Колончатое хранилище, Сжатие данных,
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
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.
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)
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).
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.