فناوری · دیتابیس
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 افزایشی ساخته میشود.
- بار کاری تحلیلی بسیار سنگین ممکن است به تنظیمات اختصاصی نیاز داشته باشد.
اینها را هم ببینید
این را روی زیرساخت خودتان ببینید.
همین مؤلفه را در کلاستر شما پیکربندی میکنیم و نشان میدهیم.