Dezkubeدزکوب

فناوری · دیتابیس

CloudNativePG در دزکوب

اپراتور PostgreSQL

نسخهٔ پین‌شده
⟦V_CLOUDNATIVEPG⟧
لایسنس
Apache 2.0
گروه در استک
دیتابیس

CloudNativePG چیست

اپراتوری که خوشهٔ PostgreSQL را روی Kubernetes به‌صورت بومی مدیریت می‌کند: replica همگام، انتخاب رهبر، failover، بکاپ پیوسته و بازیابی نقطه‌ای.

چرا این را انتخاب کردیم

گزینه‌هایی که بررسی و رد شدند، و دلیل رد هر کدام
گزینه‌ای که رد شدچرا نه
PostgreSQL در یک container سادهبدون failover، بدون replica، بدون بازیابی نقطه‌ای — یعنی «دیتابیس» نیست، یک پروسه است
اپراتور مبتنی بر ابزار جانبیلایه‌های بیشتر بین Kubernetes و دیتابیس
نوشتن اپراتور خودمانمدیریت درست failover دیتابیس یکی از سخت‌ترین کارهای این حوزه است
دلیل تعیین‌کننده

CloudNativePG با API خود Kubernetes کار می‌کند و برای انتخاب رهبر از خودِ کلاستر استفاده می‌کند — بدون ابزار هماهنگ‌کنندهٔ جانبی.

ما دقیقاً چطور استفاده‌اش می‌کنیم

  • ساخت خوشهٔ PostgreSQL از پنل، با نسخه، اندازه و تعداد replica.
  • بکاپ پیوسته به آبجکت‌استوریج، با بازیابی نقطه‌ای.
  • چرخش رمز بدون قطعی، با به‌روزرسانی خودکار اتصال اپلیکیشن‌ها.
  • تزریق خودکار متغیرهای اتصال به اپلیکیشن.
  • pgvector برای جستجوی برداری داخل خودِ PostgreSQL.

برای شما چه چیزی عوض می‌شود

  • DBA برای هر failoverfailover خودکار
  • بکاپ اسکریپتیبکاپ پیوسته با بازیابی نقطه‌ای
  • رمز ثابت در متغیر محیطیچرخش بدون قطعی

مرزها و محدودیت‌ها

این سکشن در هر صفحهٔ فناوری اجباری است. هر ابزاری مرزی دارد؛ صفحه‌ای که مرزش را نگوید، بقیه‌اش هم قابل اتکا نیست.

  • بردارهای با بیش از ۲۰۰۰ بُعد در pgvector قابل ایندکس نیستند. این محدودیت خود ابزار است؛ در زمان ساخت به شما اعلام می‌شود، نه اینکه بی‌صدا کند کار کند.
  • برای ایندکس برداری، HNSW پیش‌فرض است، نه IVFFlat. دلیلش: IVFFlat باید بعد از بارگذاری داده ساخته شود تا خوشه‌هایش را انتخاب کند؛ ولی تنها لحظه‌ای که provisioner در اختیار دارد جدولِ خالی است، و ایندکس روی جدول خالی از نبودِ ایندکس بدتر است. HNSW افزایشی ساخته می‌شود.
  • بار کاری تحلیلی بسیار سنگین ممکن است به تنظیمات اختصاصی نیاز داشته باشد.

این را روی زیرساخت خودتان ببینید.

همین مؤلفه را در کلاستر شما پیکربندی می‌کنیم و نشان می‌دهیم.