Bosh sahifa Wiki External table

External table

External tabledatabase yoki query engine metadata sida ro‘yxatdan o‘tgan, lekin fizik ma’lumoti tizimning odatiy ichki storage hayot siklidan tashqarida saqlanadigan jadvaldir. U object storage, distributed file system, boshqa database yoki tashqi katalogdagi fayllarga SQL schema beradi. Jadval metadata si o‘chirilsa, odatda asosiy fayllar saqlanib qoladi, ammo platforma semantikasi tekshiriladi.

Ishlash modeli

CREATE EXTERNAL TABLE location, format, schema va partition ma’lumotini ko‘rsatadi. Query engine shu metadata orqali CSV, Parquet yoki ORC fayllarni jadval satrlariga talqin qiladi. Schema-on-read yondashuvida fayl avval mavjud, schema o‘qish vaqtida qo‘llanadi. Noto‘g‘ri type yoki delimiter query paytida xato beradi.

Hive-style partitionda yo‘l date=2026-07-16/region=uz kabi qiymatlarni ifodalaydi. Catalog partitionlarni oldindan ro‘yxatga olishi yoki listingdan topishi mumkin. Predikat partition ustuniga mos bo‘lsa, kerakli papkalar o‘qiladi. Juda ko‘p obyekt listing va metadata latency ni oshiradi.

Managed table bilan farqi

Managed tableda engine data fayllarini yaratish, optimizatsiya va o‘chirishni to‘liqroq nazorat qiladi. External tableda faylni boshqa pipeline yozishi mumkin. Bu bir data ni bir nechta engine bilan ulashish va storage-compute ajratish uchun qulay. Biroq tashqi writer faylni yarim yozsa, schema ni o‘zgartirsa yoki partitionni jim o‘chirsa, catalog avtomatik izchillik bermaydi.

DROP EXTERNAL TABLE ko‘pincha faqat metadata ni olib tashlaydi. DROP TABLE odatiga suyanib productionda qaror qilish xavfli; hujjat va kichik sinov bilan aniq xulq tekshiriladi. Aksincha, lifecycle policy catalogdan mustaqil faylni o‘chirsa, jadval saqlanib, query missing object xatosi beradi.

Yozish va transaction

Oddiy external fayllarga parallel writerlar bir vaqtda yozsa, reader qisman natija ko‘rishi mumkin. Staging papkaga yozib, manifest yoki atomar pointer bilan yangi snapshotni nashr etish xavfni kamaytiradi. Iceberg, Delta yoki Hudi kabi table formatlar transaction metadata si orqali external storage ustida izchil snapshot beradi.

Update va delete formatga bog‘liq. Plain Parquet fayl joyida satr yangilamaydi; yangi fayl yozish va eskisini almashtirish kerak. Table format position delete, equality delete yoki merge-on-read ishlatishi mumkin. Har query engine ayni feature versiyasini qo‘llashi shart.

Xavfsizlik

Catalog permissioni SQL kirishini cheklaydi, storage IAM esa fizik obyektni himoya qiladi. Foydalanuvchi bucketga bevosita ruxsat olsa, row filter va auditni chetlab o‘tishi mumkin. Credential qisqa muddatli, minimal prefix va read/write ajratilgan bo‘ladi.

Fayl nomi va partition qiymati ham maxfiy ma’lumot ochishi mumkin. Encryption, access log va retention storage qatlamida qo‘llanadi. External source boshqa regionda bo‘lsa egress xarajati va data residency tekshiriladi.

Sifat va operatsiya

Schema drift, corrupt file, duplicate partition va small-file muammosi monitoring qilinadi. Record count va manifest inventory catalog bilan solishtiriladi. Dataset owneri, yangilanish SLA va fayl yozish protokoli data catalogda ko‘rsatiladi. External table moslashuvchanlik beradi, ammo egalik chegarasi aniq bo‘lmasa, engine va pipeline jamoalari muammoni bir-biriga topshirishi mumkin.

Federation holati

External table ba’zan fayl emas, boshqa database yoki APIga connector orqali bog‘lanadi. Optimizer filter va projectionni remote sourcega push qiladi, ammo join yoki function mos bo‘lmasa data lokal enginega ko‘chadi. Remote transaction isolation, rate limit va timeout query semantikasiga ta’sir qiladi. Credential rotation va source schema o‘zgarishi catalog health check bilan kuzatiladi.

Bog‘liq tushunchalar

Managed table, Schema-on-read, Object storage, Parquet, Data catalog, Table format, Partition pruning