انتشار PostgreSQL 12

تیم PostgreSQL از انتشار PostgreSQL 12، آخرین نسخه از سیستم مدیریت پایگاه داده رابطه‌ای منبع باز خبر داد.
PostgreSQL 12 عملکرد پرس و جو را به طور قابل توجهی بهبود بخشیده است - به ویژه هنگام کار با حجم زیادی از داده ها، و همچنین استفاده از فضای دیسک را به طور کلی بهینه کرده است.

ویژگی های جدید عبارتند از:

  • پیاده سازی زبان جست و جوی مسیر JSON (مهم ترین بخش استاندارد SQL/JSON)؛
  • بهینه سازی اجرای عبارات جدول رایج (WITH)؛
  • پشتیبانی از ستون های تولید شده

جامعه همچنین به کار بر روی توسعه پذیری و قابلیت اطمینان PostgreSQL، توسعه پشتیبانی برای بین المللی سازی، قابلیت های احراز هویت، و ارائه راه های آسان تر برای مدیریت سیستم ادامه می دهد.

این نسخه شامل اجرای یک رابط برای موتورهای ذخیره سازی قابل اتصال است که اکنون به توسعه دهندگان اجازه می دهد تا روش های ذخیره سازی داده های خود را ایجاد کنند.

بهبود عملکرد

PostgreSQL 12 شامل بهبود عملکرد و نگهداری قابل توجهی برای سیستم های نمایه سازی و پارتیشن بندی است.

نمایه های درختی B، نوع نمایه سازی استاندارد در PostgreSQL، در نسخه 12 برای بارهای کاری که شامل تغییرات مکرر ایندکس است، بهینه شده است. استفاده از معیار TPC-C برای PostgreSQL 12 به طور متوسط ​​40 درصد کاهش در استفاده از فضا و افزایش کلی عملکرد پرس و جو را نشان داد.

پرس و جوها در برابر جداول پارتیشن بندی شده بهبودهای قابل توجهی دریافت کرده اند، به خصوص برای جداول متشکل از هزاران پارتیشن که نیاز به کار با بخش های محدودی از آرایه های داده دارند. عملکرد افزودن داده ها به جداول پارتیشن بندی شده با استفاده از INSERT و COPY بهبود یافته است و همچنین توانایی پیوست کردن یک پارتیشن جدید بدون مسدود کردن کوئری ها بهبود یافته است.

PostgreSQL 12 بهبودهای بیشتری در نمایه سازی ایجاد کرده است که بر عملکرد کلی تأثیر می گذارد، از جمله:

  • کاهش سربار هنگام تولید WAL برای انواع شاخص GiST، GIN و SP-GiST.
  • توانایی ایجاد به اصطلاح نمایه های پوششی (بند INCLUDE) در نمایه های GiST.
  • توانایی انجام پرس و جوهای "نزدیکترین همسایه" (جستجوی k-NN) با استفاده از عملگر فاصله (<->) و با استفاده از شاخص های SP-GiST.
  • پشتیبانی از جمع‌آوری آمار رایج‌ترین ارزش (MCV) با استفاده از CREATE STATISTICS، که به دستیابی به طرح‌های پرس‌وجو بهتر در هنگام استفاده از ستون‌هایی که مقادیر آن‌ها به طور نابرابر توزیع شده است، کمک می‌کند.

کامپایل JIT با استفاده از LLVM، معرفی شده در PostgreSQL 11، اکنون به طور پیش فرض فعال است. کامپایل JIT عملکرد را هنگام کار با عبارات در بندهای WHERE، لیست های هدف، تجمیع ها و برخی عملیات داخلی بهبود می بخشد. اگر PostgreSQL را با LLVM کامپایل کرده باشید یا از یک بسته PostgreSQL استفاده کنید که با LLVM فعال ساخته شده است، در دسترس است.

بهبود قابلیت های زبان SQL و سازگاری استاندارد

PostgreSQL 12 امکان پرس و جو از اسناد JSON را با استفاده از عبارات مسیر JSON تعریف شده در استاندارد SQL/JSON معرفی کرد. چنین پرس و جوهایی می توانند از مکانیسم های نمایه سازی موجود برای اسناد ذخیره شده در قالب JSONB برای بازیابی کارآمد داده ها استفاده کنند.

عبارات جدول رایج که به عنوان WITH query نیز شناخته می شوند، اکنون می توانند به طور خودکار با استفاده از جایگزینی در PostgreSQL 12 اجرا شوند که به نوبه خود می تواند به بهبود عملکرد بسیاری از پرس و جوهای موجود کمک کند. در نسخه جدید، یک بخش جایگزینی از یک کوئری WITH فقط در صورتی قابل اجرا است که بازگشتی نباشد، عوارض جانبی نداشته باشد و تنها یک بار در بخش بعدی از پرس و جو ارجاع داده شود.

PostgreSQL 12 پشتیبانی از "ستون های تولید شده" را معرفی می کند. این نوع ستون که در استاندارد SQL توضیح داده شده است، مقداری را بر اساس محتویات ستون های دیگر در همان جدول محاسبه می کند. در این نسخه، PostgreSQL از "ستون های تولید شده ذخیره شده" پشتیبانی می کند، جایی که مقدار محاسبه شده روی دیسک ذخیره می شود.

بین المللی شدن

PostgreSQL 12 با اجازه دادن به کاربران برای تعریف «ترکیب‌های غیر قطعی» که می‌تواند به عنوان مثال، مقایسه‌های حساس به حروف بزرگ یا غیر حساس به لهجه را مجاز کند، پشتیبانی از تلفیقی‌های ICU را گسترش می‌دهد.

احراز هویت

PostgreSQL پشتیبانی خود را از روش های احراز هویت قوی با چندین پیشرفت که امنیت و عملکرد بیشتری را فراهم می کند، گسترش می دهد. این نسخه رمزگذاری سمت سرویس گیرنده و سمت سرور را برای احراز هویت از طریق رابط های GSSAPI و همچنین توانایی PostgreSQL برای کشف سرورهای LDAP هنگامی که PostgreSQL با OpenLDAP کامپایل می شود، معرفی می کند.

علاوه بر این، PostgreSQL 12 اکنون از یک گزینه احراز هویت چند عاملی پشتیبانی می کند. سرور PostgreSQL اکنون می‌تواند از کلاینت بخواهد که یک گواهی SSL معتبر با نام کاربری مربوطه را با استفاده از clientcert=verify-full ارائه کند و آن را با یک روش احراز هویت جداگانه مورد نیاز (مانند scram-sha-256) ترکیب کند.

اداره

PostgreSQL 12 با استفاده از دستور REINDEX CONCURRENTLY، توانایی انجام بازسازی های شاخص غیر مسدود کننده را معرفی کرد. این به کاربران این امکان را می دهد که از خرابی DBMS در طول بازسازی های طولانی شاخص جلوگیری کنند.

علاوه بر این، در PostgreSQL 12، می‌توانید با استفاده از دستور pg_checksums، چک‌جمع‌های صفحه را در یک خوشه خاموش فعال یا غیرفعال کنید. پیش از این، چک‌سام‌های صفحه، ویژگی‌ای که به تأیید یکپارچگی داده‌های ذخیره‌شده روی دیسک کمک می‌کند، تنها زمانی فعال می‌شد که خوشه PostgreSQL با استفاده از initdb مقداردهی اولیه شده بود.

منبع: linux.org.ru

اضافه کردن نظر