مندرجات کا رخ کریں

پوسٹ گری ایس کیو ایل

آزاد دائرۃ المعارف، ویکیپیڈیا سے
پوسٹ گری ایس کیو ایل
دنیا کا سب سے زیادہ ایڈوانسڈ ریلیشنل ڈیٹا بیس[1]
تیار کردہپوسٹ گری ایس کیو ایل ڈولپر گروپ[2]
ابتدائی اشاعت8 جولائی 1996؛
29 سال قبل
 (1996-07-08)[3]
مستحکم اشاعتproperty / qualifier
پروگرامنگ زبانسی (پروگرامنگ زبان) (and سی++ for the LLVM dependency)
صنفریلیشنل ڈیٹا بیس
اجازت نامہPostgreSQL License (free and open-source, permissive)[4][5][6]

پوسٹ گرے ایس کیو ایل (PostgreSQL) جسے مختصراً پوسٹ گریس (Postgres) بھی کہا جاتا ہے، ایک مفت اور آزاد-مصدر سافٹ ویئر ریلیشنل ڈیٹا بیس (RDBMS) ہے جو وسعت پذیری اور ایس کیو ایل کی پابندی پر زور دیتا ہے۔ پوسٹ گرے ایس کیو ایل میں ایسڈ خصوصیات کے ساتھ ٹرانزیکشن پراسیسنگ کی سہولتیں شامل ہیں، جن میں ذراتیت، تسلسل، تنہائی اور پائیداری شامل ہیں۔ اس کے علاوہ، یہ خودکار طور پر اپ ڈیٹ ہونے والے منظر، مادی منظر، محرکات، خارجی کلیدیں اور ذخیرہ شدہ طریقہ کار ) کی خصوصیات بھی فراہم کرتا ہے۔[7]

یہ تمام بڑے آپریٹنگ سسٹمز پر کام کرتا ہے، جن میں مائیکروسافٹ ونڈوز، لینکس، میک او ایس، فری بی ایس ڈی (FreeBSD) اور اوپن بی ایس ڈی (OpenBSD) شامل ہیں۔ یہ سنگل مشینوں سے لے کر ڈیٹا گودام، ڈیٹا لیک (data lakes),[8] یا بہت سے ہم عصر صارفین کے ساتھ ویب سروسز تک مختلف قسم کے ورک لوڈز کو سنبھال سکتا ہے۔

پوسٹ گرے ایس کیو ایل عالمی ترقیاتی گروپ (PostgreSQL Global Development Group) صرف ایک ڈیٹا بیس انجن اور اس سے قریبی متعلقہ اجزاء کی ترقی پر توجہ دیتا ہے۔ تکنیکی طور پر، یہی بنیادی حصہ پوسٹ گرے ایس کیو ایل پر مشتمل ہے، لیکن ایک وسیع ڈویلپر کمیونٹی اور ایکو سسٹم موجود ہے جو دیگر اہم فیچر سیٹ فراہم کرتا ہے جو روایتی طور پر ایک ملکیتی سافٹ ویئر فراہم کنندہ کی طرف سے فراہم کیے جا سکتے ہیں۔ ان میں خصوصی مقصد کے ڈیٹا بیس انجن کی خصوصیات شامل ہیں، جیسے کہ جغرافیائی[9] یا وقتی[10] ڈیٹا بیس یا دیگر ڈیٹا بیس مصنوعات کی نقل کرنے والی خصوصیات شامل ہیں۔[11][12][13][14] اس کے علاوہ، تیسرے فریقوں کی جانب سے صارف اور مشین انٹرفیس کی مختلف خصوصیات بھی دستیاب ہیں، جیسے گرافیکل یوزر انٹرفیس[15][16][17] یا بوجھ کا توازن (load balancing) اور اعلی دستیابی (high availability) ٹول سیٹ۔[18] تیسرے فریقوں کا وسیع پوسٹ گرے ایس کیو ایل سپورٹ نیٹ ورک، جو لوگوں، کمپنیوں، مصنوعات اور منصوبوں پر مشتمل ہے، اگرچہ وہ پوسٹ گرے ایس کیو ایل ترقیاتی گروپ کا حصہ نہیں ہیں، لیکن پوسٹ گرے ایس کیو ایل ڈیٹا بیس انجن کو اپنانے اور استعمال کرنے کے لیے ضروری ہیں اور وسیع پوسٹ گرے ایس کیو ایل ایکو سسٹم کی تشکیل کرتے ہیں۔[19]

پوسٹ گرے ایس کیو ایل کا اصل نام پوسٹ گریس (POSTGRES) تھا، جو اس کی ابتدا کو جامعہ کیلیفورنیا، برکلی میں تیار کردہ انگریس (Ingres) ڈیٹا بیس کے جانشین کے طور پر ظاہر کرتا ہے۔[20][21] 1996 میں، اس منصوبے کا نام تبدیل کر کے پوسٹ گرے ایس کیو ایل رکھا گیا تاکہ ایس کیو ایل کے لیے اس کی حمایت کی عکاسی ہو سکے۔ 2007 میں ایک جائزے کے بعد، ترقیاتی ٹیم نے نام پوسٹ گرے ایس کیو ایل اور عرفی نام پوسٹ گریس کو برقرار رکھنے کا فیصلہ کیا۔[22]

تاریخ

[ترمیم]

انگریس اور یونیورسٹی پوسٹ گریس (1982–1994)

[ترمیم]

پوسٹ گرے ایس کیو ایل کی ارتقا کیلیفورنیا یونیورسٹی، برکلی میں انگریس منصوبے سے ہوئی۔ 1982 میں، انگریس ٹیم کے رہنما، مائیکل اسٹون بریکر، انگریس کا ملکیتی ورژن بنانے کے لیے برکلی چھوڑ گئے۔[20] وہ 1985 میں برکلی واپس آئے اور ہم عصر ڈیٹا بیس سسٹمز کے ساتھ پیش آنے والے مسائل کو حل کرنے کے لیے ایک پوسٹ-انگریس منصوبے کا آغاز کیا جو 1980 کی دہائی کے اوائل میں تیزی سے واضح ہو گئے تھے۔ انھوں نے ان اور دیگر منصوبوں کے لیے 2014 میں ٹیورنگ ایوارڈ جیتا،[23] اور ان میں اپنائی گئی تکنیکوں کے لیے۔

نئے منصوبے، پوسٹ گریس، کا مقصد نوع (types) کی مکمل حمایت کے لیے درکار کم سے کم خصوصیات کو شامل کرنا تھا۔[24] ان خصوصیات میں نوع کی تعریف کرنے اور تعلقات کو مکمل طور پر بیان کرنے کی صلاحیت شامل تھی—ایک ایسی چیز جو بڑے پیمانے پر استعمال ہوتی تھی، لیکن مکمل طور پر صارف کی طرف سے برقرار رکھی جاتی تھی۔ پوسٹ گریس میں، ڈیٹا بیس تعلقات کو سمجھتا تھا اور 'قواعد' (rules) کا استعمال کرتے ہوئے متعلقہ میزوں میں معلومات کو قدرتی طریقے سے بازیافت (retrieve) کر سکتا تھا۔ پوسٹ گریس نے انگریس کے بہت سے خیالات کو استعمال کیا، لیکن اس کے کوڈ کو نہیں۔[25]

1986 میں شروع ہونے والے، شائع شدہ مقالوں میں اس نظام کی بنیاد کو بیان کیا گیا اور 1988 کے اے سی ایم سگموڈ کانفرنس میں ایک پروٹوٹائپ ورژن دکھایا گیا۔ ٹیم نے جون 1989 میں ورژن 1 کو کم تعداد میں صارفین کے لیے جاری کیا، اس کے بعد جون 1990 میں ایک نئے سرے سے لکھے گئے قواعد کے نظام کے ساتھ ورژن 2 جاری کیا۔ ورژن 3، جو 1991 میں جاری ہوا، نے ایک بار پھر قواعد کے نظام کو دوبارہ لکھا اور متعدد سٹوریج منیجرز[26] اور ایک بہتر کوئری انجن کے لیے حمایت شامل کی۔ 1993 تک، صارفین کی تعداد نے منصوبے کو حمایت اور خصوصیات کی درخواستوں سے مغلوب کرنا شروع کر دیا۔ 30 جون 1994 کو ورژن 4.2[27] جاری کرنے کے بعد—جو بنیادی طور پر ایک صفائی تھی—یہ منصوبہ ختم ہو گیا۔ برکلی نے پوسٹ گریس کو ایم آئی ٹی لائسنس کے ایک تغیر کے تحت جاری کیا، جس نے دیگر ڈویلپرز کو کسی بھی استعمال کے لیے کوڈ استعمال کرنے کے قابل بنایا۔ اس وقت، پوسٹ گریس ایک انگریس سے متاثرہ پوسٹ کوئل (POSTQUEL) استفسار زبان کے ترجمان کا استعمال کرتا تھا، جسے مانیٹر نامی کنسول ایپلیکیشن کے ساتھ تعاملی طور پر استعمال کیا جا سکتا تھا۔

```

پوسٹ گریس 95 (1994–1996)

[ترمیم]

1994 میں، برکلی کے گریجویٹ طلبہ اینڈریو یو (Andrew Yu) اور جولی چن (Jolly Chen) نے پوسٹ کوئل (POSTQUEL) استفسار زبان کے ترجمان کو ایس کیو ایل (SQL) استفسار زبان کے ترجمان سے تبدیل کر دیا، جس سے پوسٹ گریس 95 (Postgres95) وجود میں آیا۔ مانیٹر کنسول کو بھی پی ایس کیو ایل (psql) سے تبدیل کر دیا گیا۔ یو اور چن نے 5 مئی 1995 کو سافٹ ویئر کی اشاعت کے مراحل کے لیے پہلا ورژن (0.01) کا اعلان کیا۔[28] پوسٹ گریس 95 کے ورژن 1.0 کا اعلان 5 ستمبر 1995 کو کیا گیا، جس میں ایک زیادہ لبرل لائسنس شامل تھا جو سافٹ ویئر کو آزادانہ طور پر قابل ترمیم بناتا تھا۔[29]

8 جولائی 1996 کو، ہب ڈاٹ آرگ نیٹ ورکنگ سروسز (Hub.org Networking Services) کے مارک فورنیئر (Marc Fournier) نے اوپن سورس ترقیاتی کوشش کے لیے پہلا غیر یونیورسٹی ترقیاتی سرور فراہم کیا۔[3] بروس مومجیان (Bruce Momjian) اور وادیم بی میخائیف (Vadim B. Mikheev) کی شرکت سے، برکلی سے وراثت میں ملے کوڈ کو مستحکم کرنے کا کام شروع ہوا۔

پوسٹ گرے ایس کیو ایل (1996–تاحال)

[ترمیم]

1996 میں، اس منصوبے کا نام بدل کر پوسٹ گرے ایس کیو ایل (PostgreSQL) رکھ دیا گیا تاکہ ایس کیو ایل کے لیے اس کی حمایت کی عکاسی ہو۔ ویب گاہ PostgreSQL.org پر آن لائن موجودگی کا آغاز 22 اکتوبر 1996 کو ہوا۔[30] پہلی پوسٹ گرے ایس کیو ایل ریلیز 29 جنوری 1997 کو ورژن 6.0 کی صورت میں بنی۔ تب سے دنیا بھر کے ڈویلپرز اور رضاکاروں نے اس سافٹ ویئر کو پوسٹ گرے ایس کیو ایل عالمی ترقیاتی گروپ کے طور پر برقرار رکھا ہے۔[2]

یہ منصوبہ اپنے مفت اور آزاد-مصدر سافٹ ویئر پوسٹ گرے ایس کیو ایل لائسنس کے تحت ریلیز دستیاب کرنا جاری رکھے ہوئے ہے۔ کوڈ ملکیتی وینڈرز، سپورٹ کمپنیوں اور اوپن سورس پروگرامرز کے تعاون سے آتا ہے۔

2025 تک، پوسٹ گرے ایس کیو ایل بڑے ریلیز ورژن 18 پر ہے جو غیر ہم وقت ساز I/O (Asynchronous I/O - AIO) کو لاگو کرنے میں قابل ذکر ہے، جو ڈیٹا بیس صارفین کو ہم وقت ساز I/O کام انجام دینے کے قابل بناتا ہے جیسے ریڈ ہیڈ (readahead) اور ترتیب وار اسکین (sequential scan)۔[31]

کثیر ورژنی ہم وقتی کنٹرول (MVCC)

[ترمیم]

پوسٹ گرے ایس کیو ایل کثیر ورژنی ہم وقتی کنٹرول (Multiversion concurrency control - MVCC) کے ذریعے ہم وقتی کنٹرول کا انتظام کرتا ہے، جو ہر ٹرانزیکشن کو ڈیٹا بیس کا ایک "سنیپ شاٹ" دیتا ہے، جس سے دیگر ٹرانزیکشنز کو متاثر کیے بغیر تبدیلیاں کی جا سکتی ہیں۔ یہ بڑی حد تک ریڈ لاکس (read locks) کی ضرورت کو ختم کرتا ہے اور یقینی بناتا ہے کہ ڈیٹا بیس ایسڈ (ACID) اصولوں کو برقرار رکھے۔ پوسٹ گرے ایس کیو ایل ٹرانزیکشن تنہائی (transaction isolation) کی چار سطحیں پیش کرتا ہے: ریڈ ان کمٹڈ (Read Uncommitted)، ریڈ کمٹڈ (Read Committed)، ریپیٹیبل ریڈ (Repeatable Read) اور سیریلائز ایبل (Serializable)۔ چونکہ پوسٹ گرے ایس کیو ایل ڈرٹی ریڈز (dirty reads) سے محفوظ ہے، ریڈ ان کمٹڈ ٹرانزیکشن تنہائی کی سطح کی درخواست کرنے پر اس کی بجائے ریڈ کمٹڈ فراہم کی جاتی ہے۔ پوسٹ گرے ایس کیو ایل سیریلائز ایبل سنیپ شاٹ تنہائی (snapshot isolation - SSI) طریقہ کے ذریعے مکمل سیریلائزایبلٹی (serializability) کی حمایت کرتا ہے۔[32] پوسٹ گرے ایس کیو ایل MVCC کا نفاذ کارکردگی کے مسائل کا شکار ہوتا ہے جن کے لیے موجودہ قطاروں کو اپ ڈیٹ کرنے والے بھاری رائٹ لوڈ کے تحت ٹیوننگ کی ضرورت ہوتی ہے۔[33]

اسٹوریج اور نقل

[ترمیم]

نقل

[ترمیم]

پوسٹ گرے ایس کیو ایل میں بلٹ ان بائنری نقل شامل ہے جو تبدیلیوں (رائٹ-ا ہیڈ لاگز (WAL)) کو ریپلیکا نوڈز پر غیر ہم وقت ساز طریقے سے بھیجنے پر مبنی ہے، جس میں ان نقل شدہ نوڈز کے خلاف ریڈ اونلی کوئریز چلانے کی صلاحیت ہوتی ہے۔ یہ ریڈ ٹریفک کو متعدد نوڈز کے درمیان مؤثر طریقے سے تقسیم کرنے کی اجازت دیتا ہے۔ ابتدائی نقل کا سافٹ ویئر جو اسی طرح کی ریڈ اسکیلنگ کی اجازت دیتا تھا وہ عام طور پر ماسٹر میں نقل کے محرکات (replication triggers) کو شامل کرنے پر انحصار کرتا تھا، جس سے بوجھ بڑھتا تھا۔

پوسٹ گرے ایس کیو ایل میں بلٹ ان ہم وقت ساز نقل[34] شامل ہے جو یقینی بناتی ہے کہ ہر رائٹ ٹرانزیکشن کے لیے، ماسٹر اس وقت تک انتظار کرتا ہے جب تک کہ کم از کم ایک ریپلیکا نوڈ نے ڈیٹا کو اپنے ٹرانزیکشن لاگ میں نہ لکھ دیا ہو۔ دیگر ڈیٹا بیس سسٹمز کے برعکس، کسی ٹرانزیکشن کی پائیداری (خواہ وہ غیر ہم وقت ساز ہو یا ہم وقت ساز) کی وضاحت فی ڈیٹا بیس، فی صارف، فی سیشن یا حتیٰ کہ فی ٹرانزیکشن بھی کی جا سکتی ہے۔ یہ ان ورک لوڈز کے لیے مفید ہو سکتا ہے جن کو اس طرح کی گارنٹی کی ضرورت نہیں ہوتی اور تمام ڈیٹا کے لیے مطلوب نہیں ہو سکتا کیونکہ یہ ہم وقت ساز اسٹینڈ بائی تک ٹرانزیکشن پہنچنے کی تصدیق کی ضرورت کی وجہ سے کارکردگی کو سست کر دیتا ہے۔

اسٹینڈ بائی سرورز ہم وقت ساز یا غیر ہم وقت ساز ہو سکتے ہیں۔ ہم وقت ساز اسٹینڈ بائی سرورز کی ترتیب میں وضاحت کی جا سکتی ہے جو یہ طے کرتی ہے کہ کون سے سرورز ہم وقت ساز نقل کے لیے امیدوار ہیں۔ فہرست میں پہلا جو فعال طور پر اسٹریمنگ کر رہا ہے اسے موجودہ ہم وقت ساز سرور کے طور پر استعمال کیا جائے گا۔ جب یہ ناکام ہوتا ہے، تو نظام لائن میں اگلے پر فیل اوور ہو جاتا ہے۔

پوسٹ گرے ایس کیو ایل کی نقل پرائمری اور اسٹینڈ بائی سرورز کے درمیان تنازعات کو متحرک کر سکتی ہے، خاص طور پر جب جاری کوئریز ان تک رسائی حاصل کر رہی ہوں تب بھی ٹیپلز کو اسٹینڈ بائی سرور سے وقت سے پہلے حذف کر دیا جاتا ہے۔[35] اس کو حل کرنے کے لیے، پوسٹ گرے ایس کیو ایل میں ایک فیڈ بیک فلیگ شامل ہے[36] جہاں اسٹینڈ بائی سرور اس قسم کے تنازع کو کم کرنے کے لیے جاری کوئریز کے بارے میں پرائمری سرور کو فعال طور پر مطلع کرتا ہے۔

ہم وقت ساز ملٹی-ماسٹر نقل پوسٹ گرے ایس کیو ایل کے کور میں شامل نہیں ہے۔ پوسٹ گرے ایس کیو ایل پر مبنی پوسٹ گریس-ایکس سی (Postgres-XC) قابل توسیع ہم وقت ساز ملٹی-ماسٹر نقل فراہم کرتا ہے۔[37] یہ پوسٹ گرے ایس کیو ایل جیسا لائسنس یافتہ ہے۔ ایک متعلقہ منصوبہ پوسٹ گریس-ایکس ایل (Postgres-XL) کہلاتا ہے۔ پوسٹ گریس-آر (Postgres-R) ایک اور فورک ہے۔[38] بائی ڈائریکشنل ریپلیکیشن (BDR) پوسٹ گرے ایس کیو ایل کے لیے ایک غیر ہم وقت ساز ملٹی-ماسٹر نقل کا نظام ہے۔[39]

repmgr جیسے ٹولز نقل کے کلسٹرز کا انتظام آسان بناتے ہیں۔

متعدد غیر ہم وقت ساز ٹرگر پر مبنی نقل کے پیکیجز دستیاب ہیں۔ یہ مکمل ڈیٹا بیس کلسٹر کی بائنری نقل کے لیے نامناسب حالات میں، توسیع شدہ بنیادی صلاحیتوں کے تعارف کے بعد بھی کارآمد رہتے ہیں:

حوالہ جات

[ترمیم]
  1. "{{subst:PAGENAME}}"۔ اخذ شدہ بتاریخ 2019-09-21۔ PostgreSQL: دنیا کا سب سے زیادہ ایڈوانسڈ ریلیشنل ڈیٹا بیس
  2. ^ ا ب
  3. ^ ا ب
  4. "Parquet and Postgres in the Data Lake | Crunchy Data Blog". Crunchy Data (بزبان انگریزی). 3 May 2022. Retrieved 2024-09-19.
  5. "PostGIS"۔ postgis.net۔ 18 دسمبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ PostGIS extends the capabilities of the PostgreSQL relational database by adding support for storing, indexing, and querying geospatial data.
  6. "Temporal Extensions"۔ PostgreSQL Wiki۔ 18 دسمبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ Postgres can be extended to become a Temporal Database. Such databases track the history of database content over time, automatically retaining said history and allowing it to be altered and queried.
  7. "Orafce - Oracle's compatibility functions and packages"۔ GitHub.com۔ 17 دسمبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ Functions and operators that emulate a subset of functions and packages from the Oracle RDBMS.
  8. "pg_dbms_job"۔ GitHub.com۔ 8 نومبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ PostgreSQL extension to schedules and manages jobs in a job queue similar to Oracle DBMS_JOB package.
  9. "WiltonDB"۔ WiltonDB۔ 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ WiltonDB [is] packaged for Windows. It strives to be usable as a drop-in replacement to Microsoft SQL Server.
  10. "Babelfish for PostgreSQL"۔ babelfishpg.org۔ اخذ شدہ بتاریخ 2023-12-18۔ Babelfish for PostgreSQL ... provides the capability for PostgreSQL to understand queries from applications written for Microsoft SQL Server.
  11. "PostgreSQL Clients"۔ wiki.postgresql.org۔ 18 اکتوبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ This page is a partial list of interactive SQL clients (GUI or otherwise) ... that you can type SQL in to and get results from them.
  12. "Design Tools"۔ wiki.postgresql.org۔ 23 اکتوبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ Tools to help with designing a schema, via creating Entity-Relationship diagrams and similar. Most are GUI.
  13. "Community Guide to PostgreSQL GUI Tools"۔ wiki.postgresql.org۔ 1 دسمبر 2023۔ اخذ شدہ بتاریخ 2023-12-18۔ This page is a list of miscellaneous utilities that work with Postgres (ex: data loaders, comparators etc.).
  14. "Replication, Clustering, and Connection Pooling"۔ wiki.postgresql.org۔ 13 جولائی 2020۔ اخذ شدہ بتاریخ 2023-12-18۔ There are many approaches available to scale PostgreSQL beyond running on a single server. ... There is no one-size fits all...
  15. This is recognized by the liberal permission to use the PostgreSQL name, as approved (for fair use, when not confusing people about a legal relationship with the actual PostgreSQL project) when used in support of PostgreSQL, subject to the PostgreSQL Trademark Policy: "Trademark Policy"۔ PostgreSQL.org۔ 8 دسمبر 2020۔ اخذ شدہ بتاریخ 2023-12-17۔ We will try to work with you to permit uses [of the PostgreSQL name] that support the PostgreSQL project and our Community.
  16. ^ ا ب
  17. "Michael Stonebraker – A.M. Turing Award Winner". amturing.acm.org (بزبان انگریزی). Retrieved 2018-03-20. Techniques pioneered in Postgres were widely implemented [..] Stonebraker is the only Turing award winner to have engaged in serial entrepreneurship on anything like this scale, giving him a distinctive perspective on the academic world.
  18. A Brief History of PostgreSQL "Version 3 appeared in 1991 and added support for multiple storage managers, an improved query executor, and a rewritten rule system.". postgresql.org. The PostgreSQL Global Development Group, Retrieved on March 18, 2020.
  19. message 3165 of |url=https://db.cs.berkeley.edu/postgres-v4r2/mail-archive/1995.05.tar.gz |title=Announcement: Postgres95 Beta |author=Andrew K. Yu |date=May 1, 1995
  20. message 3279 of |url=https://db.cs.berkeley.edu/postgres-v4r2/mail-archive/1995.09.tar.gz |title=ANNOUNCEMENT for postgres95 version 1.0 |author=Jolly Chen |date=September 5, 1995
  21. PostgreSQL Global Development Group (25 Sep 2025). "PostgreSQL 18 Released!". PostgreSQL News (بزبان انگریزی). Retrieved 2025-12-06.
  22. Bohan Zhang؛ Andy Pavlo (2023)۔ "The part of PostgreSQL we hate the most"۔ OtterTune (blog)
  23. "26.4. Hot Standby". PostgreSQL Documentation (بزبان انگریزی). 8 May 2025. Retrieved 2025-07-22.
  24. Stu Hood (30 Jun 2025). "We Made Postgres Writes Faster, but it Broke Replication". ParadeDB (بزبان انگریزی). Retrieved 2025-07-22.


بیرونی روابط

[ترمیم]