مفت POC: AnyBI to Power BI & AnyETL to Fabric صفحہ
1. مسئلہ: ایک ہی ڈیٹا بیس، دو متضاد کام
پاکستان کے بہت سے بینکوں، ٹیلی کام کمپنیوں اور بڑے اداروں میں Oracle دو کام ایک ساتھ کر رہا ہوتا ہے: دن بھر کی ٹرانزیکشنز سنبھالنا، اور اسی ڈیٹا بیس پر بھاری رپورٹیں اور مہینے کے آخر کے حسابات چلانا۔ نتیجہ سب جانتے ہیں — مہینے کی آخری تاریخوں پر رپورٹ چلے تو کاؤنٹر پر سسٹم سست۔
Emulus Consulting کے کلائنٹس کا حال بھی یہی تھا۔ ایک بات واضح رہے: Oracle Database 19c کی Premier Support 2029 کے آخر تک اور Extended Support 2032 کے آخر تک موجود ہے۔ یعنی یہ "سپورٹ ختم ہونے" کا منصوبہ نہیں تھا۔ اصل مقاصد یہ تھے:
پروڈکشن ڈیٹا بیس سے تجزیاتی بوجھ ہٹانا
ڈالر میں طے شدہ Oracle لائسنسنگ اور ہارڈویئر پر انحصار کم کرنا، تاکہ روپے کی قدر میں اتار چڑھاؤ کا اثر محدود ہو
PL/SQL پر منحصر چند سینئر لوگوں سے آگے بڑھ کر ایسا پلیٹ فارم جو SQL اور Python جاننے والی نئی ٹیم سنبھال سکے
Oracle سے ڈیٹا نکالنے کا نیا راستہ، کیونکہ SSIS کا Microsoft Connector for Oracle جولائی 2025 میں سپورٹ سے باہر ہو چکا تھا
2. ماحول کی پیچیدگی
190 PL/SQL پیکجز، جن میں cursor loops، BULK COLLECT / FORALL اور EXECUTE IMMEDIATE کا بھرپور استعمال
رات کو ریفریش ہونے والے میٹیریلائزڈ ویوز جن پر صبح کی MIS رپورٹس منحصر تھیں
DBMS_SCHEDULER کی 60 جابز، جن کی ترتیب کسی دستاویز میں درج نہیں تھی
پارٹیشنڈ ٹیبلز، جن میں سالوں کی ٹرانزیکشن ہسٹری
3. منتقلی کا طریقہ: پانچ مراحل
مرحلہ 1 — ورک لوڈ کی درجہ بندی
سب سے پہلے ہر ورک لوڈ کو دیکھا گیا کہ وہ ٹرانزیکشنل ہے یا تجزیاتی۔ ٹرانزیکشنل حصہ Oracle پر ہی رہا؛ صرف رپورٹنگ، ڈیٹا ویئر ہاؤس اور بیچ پروسیسنگ Fabric پر گئی۔ ریگولیٹڈ اداروں کے لیے یہی درجہ بندی اسٹیٹ بینک کے 2023 کے کلاؤڈ آؤٹ سورسنگ فریم ورک کے تحت material اور non-material ورک لوڈ کے جائزے کی بنیاد بھی بنتی ہے۔
مرحلہ 2 — Oracle Mirroring
Microsoft Fabric کی Oracle Mirroring نے LogMiner کی تبدیلیوں کے ذریعے Oracle کا ڈیٹا تقریباً real-time میں OneLake میں نقل کرنا شروع کیا۔ اس کا مطلب تھا کہ رپورٹس اب Oracle کے بجائے OneLake سے چلیں — اور پروڈکشن پر سے بوجھ کوڈ کی تبدیلی مکمل ہونے سے پہلے ہی اتر گیا۔ Microsoft کے مطابق replication کی compute مفت ہے اور کیپیسٹی کے مطابق ایک حد تک OneLake اسٹوریج پر بھی چارج نہیں ہوتا۔
مرحلہ 3 — PL/SQL کی AI تبدیلی
set-based منطق → Fabric Warehouse کا T-SQL
بھاری اور پیچیدہ پروسیسنگ → PySpark نوٹ بکس
cursor loops → جہاں ممکن ہو set-based MERGE
DBMS_SCHEDULER → Fabric Data Factory پائپ لائنز
70%–90% کوڈ خودکار طور پر تبدیل ہوا۔
مرحلہ 4 — Medallion ڈیزائن
Mirrored ڈیٹا Bronze بنا، صفائی اور یکجائی Silver میں، اور میٹیریلائزڈ ویوز کی جگہ Gold ٹیبلز جن پر Power BI کے Direct Lake ماڈل بنے۔
مرحلہ 5 — موازنہ (PulseQA)
Oracle اور Fabric میں ایک جیسی شرائط پر قطاروں، رقوم، NULL کی تعداد اور تاریخ کی حدود کا خودکار موازنہ ہوا۔ خاص توجہ اس پر رہی کہ Oracle میں خالی string ('') کو NULL مانا جاتا ہے جبکہ T-SQL اور Spark میں نہیں — یہ فرق خاموشی سے گنتی بدل سکتا ہے۔
4. Oracle سے Fabric: اجزاء کا نقشہ
Oracle
Microsoft Fabric
ٹیبلز اور اسکیماز
Fabric Warehouse / Lakehouse Delta ٹیبلز
پروڈکشن سے ڈیٹا نکالنا
Oracle Mirroring (LogMiner) / Copy job
PL/SQL پیکجز اور پروسیجرز
T-SQL پروسیجرز / PySpark نوٹ بکس
Cursor loops / BULK COLLECT
set-based SQL / Spark DataFrame
EXECUTE IMMEDIATE
پیرامیٹرائزڈ نوٹ بکس / sp_executesql
Materialized Views
Gold ٹیبلز / Direct Lake سیمینٹک ماڈل
Sequences
IDENTITY / surrogate key منطق
DBMS_SCHEDULER
Data Factory پائپ لائن شیڈول
Partitioned Tables
Delta پارٹیشننگ / V-Order
VPD (Virtual Private Database)
Row-Level Security
5. نتائج
رپورٹنگ کا بوجھ Oracle پروڈکشن سے مکمل طور پر ہٹا؛ مہینے کے آخر میں سسٹم کی سستی ختم
190 PL/SQL پیکجز 70%–90% خودکار درستگی کے ساتھ تبدیل
منصوبہ 9 ہفتوں میں مکمل
صبح کی MIS رپورٹس 4 گھنٹے پہلے دستیاب
Oracle کی تجزیاتی کیپیسٹی اور لائسنسنگ میں کمی سے TCO میں 42% بچت
پہلا قدم: مفت POC
اپنے 5 سب سے پیچیدہ PL/SQL پیکجز بھیجیں — ہم تبدیل شدہ کوڈ اور موازنہ رپورٹ دکھائیں گے۔
Oracle ڈیٹا اور PL/SQL کو Microsoft Fabric پر منتقل کریں
پروڈکشن ڈیٹا بیس پر بوجھ ڈالے بغیر Oracle Mirroring اور AI ایکسلریٹر کے ذریعے اپنی تجزیاتی رپورٹس اور PL/SQL لاجک کو OneLake اور Fabric Warehouse پر لائیں۔
ابتدائی خودکار تبدیلی کی درستگی 70%–90%سب سے پیچیدہ 5 PL/SQL پیکجز پر مفت مائیگریشن POCOracle Mirroring کے ذریعے زیرو امپیکٹ ریپلیکیشنPulseQA سے تاریخی ڈیٹا اور حسابی نتائج کا خودکار موازنہ