Гарчиг[Нуух][Үзүүлэх]
Backend-as-a-Service (BaaS) нь хөгжүүлэгчид вэб эсвэл гар утасны хөгжүүлэлтийн тайзны арын бүрэлдэхүүн хэсгүүдийг аутсорсинг хийдэг үйлчилгээний парадигм бөгөөд ингэснээр тэд залгаад тоглох зарчмаар frontend-ийг барьж, засварлахад анхаарлаа төвлөрүүлж, сервер талын код бичих ачааллаас зайлсхий.
Баталгаажуулалт, өгөгдлийн сангийн удирдлага, бодит цагийн шинэчлэлт, хадгалалт, байршуулалт, түлхэх дохио зэрэг серверийн даалгавруудыг дэмждэг програм хангамжийг BaaS платформууд (гар утасны програмуудад зориулсан) өгдөг.
Хэдийгээр янз бүрийн backend үйлчилгээнүүд үндсэндээ ижил шийдлийг өгдөг ч тэдгээр нь өөр өөр технологи ашигладаг. Энэ нь тодорхой төслийн хамгийн сайн үйлчилгээг сонгоход олон хөгжүүлэгчдийн шийдвэрлэх хүчин зүйл юм.
Энэ нийтлэлд бид Supabase руу гүн гүнзгий орох болно.
Гэж юу вэ Супабаза?
Супабаза нь нээлттэй эхийн Firebase хувилбар бөгөөд Backend-ийг төрөл бүрийн програмуудад үйлчилгээ болгон санал болгодог. Үүнийг тохируулах нь үнэхээр энгийн бөгөөд олон төрлийн хүрээтэй хурдан ажилладаг. Supabase нь Firebase-ийн нээлттэй эх сурвалжийн орлуулалт гэж тооцогддог.
Энэ нь хөгжүүлэгчдэд арын хэсгийг хурдан тохируулахад ашиг тусаа өгөх зорилготой юм. "Амралтын өдрөөр бүтээж, сая сая болоорой" гэж Supabase хэлэв.
Supabase-ийн бүтээгдэхүүнүүд нь Postgres мэдээллийн сан, баталгаажуулалтын үйлчилгээтэй бөгөөд хадгалах болон сервергүй үйлчилгээ (арын логикийн хувьд) одоо ч ажиллаж байна. Түүний бүх хэрэгслүүд нь ихэвчлэн үнэ төлбөргүй, нээлттэй эх сурвалжтай байдаг. Postgres мэдээллийн санд өгөгдлийн сангийн өөрчлөлтийг бодит цаг хугацаанд хянах, удирдлагын интерфейс гэх мэт мэдээллийн сантай холбоотой хэрэгслүүд багтдаг.
Цаашилбал, энэ нь Firebase-тай харьцуулахуйц хурдан API болон синтаксаар хангадаг. Энэ нь танд CRUD даалгавруудыг тууштай зохицуулах боломжийг олгож, CRUD кодыг дахин бичихийн оронд үүсгэхэд анхаарлаа төвлөрүүлэх боломжийг олгоно.
Postgres мэдээллийн сан нь зохион байгуулалттай, холбогдсон өгөгдлийг хүснэгтэд хадгалдаг шиг хадгалах боломжийг олгодог хүснэгт юм. Гайхалтай нь, та төсөл үүсгэхдээ одоо байгаа хүснэгтийг Postgres мэдээллийн сан болгон ашиглаж болно.
Supabase хэрхэн ажилладаг вэ?
Supabase бол үнэгүй эх сурвалжийн технологийн цуглуулга юм. Тэд байгууллагын түвшний, нээлттэй эхийн шийдлээр Firebase функцуудыг бүтээж байна. Хэрэв багаж хэрэгсэл, нийгэмлэгүүд нь MIT, Apache 2 эсвэл ижил төстэй нээлттэй лицензийн дагуу байгаа бол тэдгээрийг ашиглаж, дэмжих болно.
Хэрэв хэрэгсэл байхгүй бол тэд үүнийг үүсгэж, үүнийг ашиглах боломжтой болгоно нээлттэй эх үүсвэр. Supabase нь Firebase-ийн 1:1 зураглал биш юм. Тэдний зорилго нь хөгжүүлэгчдэд Firebase-тэй төстэй хөгжүүлэлтийн туршлагыг ашиглах явдал юм нээлттэй эх технологи.
Supabase бол байршуулсан платформ юм. Та юу ч суулгахгүйгээр бүртгүүлж, ашиглаж эхлэх боломжтой. Та мөн өөрөө сервер дээрээ байршуулж, бүтээж болно.
- PostgreSQL нь тогтвортой байдал, онцлог шинж чанар, хурдаараа маш сайн нэр хүндтэй; 30 гаруй жилийн идэвхтэй хөгжлийн дараа
- Realtime нь WebSockets ашиглан PostgreSQL оруулах, шинэчлэх, устгахыг сонсох боломжийг олгодог Elixir сервер юм. Supabase Postgres-ийн хуулбарлах хүсэлтийг сонсож, хуулбарлах байт урсгалыг JSON болгон хөрвүүлж, дараа нь WebSockets-ээр дамжуулан JSON-г цацдаг.
- PostgREST бол таны PostgreSQL мэдээллийн санг RESTful API болгон хөрвүүлдэг вэб сервер юм.
- Хадгалалт нь S3-д хадгалагдсан файлуудыг удирдах RESTful интерфейсээр хангадаг бөгөөд Postgres нь эрхийн менежерээр ажилладаг.
- Postgres-meta нь Postgres-ийг удирдахад зориулагдсан RESTful API бөгөөд танд хүснэгтүүдийг татаж авах, үүрэг хариуцлагыг хуваарилах, асуулга явуулах зэрэг бусад зүйлсийг хийх боломжийг олгодог.
- GoTrue нь SWT-д суурилсан API бөгөөд хэрэглэгчдийг удирдах, SWT жетон гаргах боломжийг олгодог.
- Конг бол үүлэн дээр ажилладаг API гарц юм.
Эхлэх
1. Төсөл
Supabase-д төсөл нь таны бүх мэдээллийн сан, баталгаажуулалтын хэрэглэгчид, дүрэм, хүснэгт, файлын хадгалалтад зориулагдсан контейнер юм.
Таны төслийг байршуулах хэд хэдэн газар байдаг бөгөөд Supabase администраторууд хоцролтыг багасгахын тулд шинэ сайтуудыг байнга нэмж байдаг. Төслийг бүтээхэд ойролцоогоор 2 минут шаардагдах тул кофе ууж, хойш суугаад тайвшир.
2. Төслийн хяналтын самбар
Таны төсөл дуусахад доор үзүүлсэнтэй төстэй хяналтын самбар танд харагдах болно. Энэхүү хяналтын самбар нь өгөгдлийн сангийн холболт, баталгаажуулалтын хүсэлт, хадгалах багтаамж, үйлчлүүлэгчийн номын сангийн хэрэгжилт гэх мэт таны төслийн талаар мэдэх шаардлагатай бүх зүйлийг харуулна.
3. Хүснэгт үүсгэгч ба редактор
Supabase-ийн өгөгдлийн сан нь Postgres RLS (Row Level Security) ашиглан бодит цагийн чадамжтай, бодлогын хандалтын хяналт бүхий харилцааны PostgreSQL юм. Хөгжүүлэгчид Supabase-ийн хяналтын самбарыг ашиглан Хүснэгт байгуулж, багана, шинж чанарыг нэмж болно. Хөгжүүлэгчид Supabase ашиглан хяналтын самбараас өгөгдлийг шууд өөрчилж болно.
4. Баталгаажуулалт
Google, GitHub, Facebook, Twitter, GitLab болон бусад баталгаажуулалтын үйлчилгээ үзүүлэгчдийг Supabase дээр ашиглах боломжтой. Эдгээрийг Баталгаажуулах самбар ашиглан асааж болно. Мөн Phone OTP болон Magic Link Authentication-г дэмждэг.
5. Хадгалалт
Supabase нь ямар ч төрлийн файлыг удирдах боломжтой, өргөтгөх боломжтой нээлттэй эхийн объект хадгалах систем юм. Энэ нь ашиглахад хялбар API-тай бөгөөд тусгай дүрэм, зөвшөөрлийг идэвхжүүлдэг. CDN интеграци, түүнчлэн автоматаар хувиргах, оновчтой болгох (материалын хэмжээг өөрчлөх, шахах) удахгүй бэлэн болно. Supabase хадгалалт нь эдгээр боломжуудыг багтаасан Firebase хадгалах сангийн хүчтэй өрсөлдөгч байх болно.
Та Supabase-ээр юу барьж чадах вэ? (Зарим жишээ)
1. Захиалгын төлбөр Supabase + Stripe + Next.js-тэй.
Өндөр хүчин чадалтай SaaS програмуудад зориулсан иж бүрэн эхлэлийн багц.
- Supabase нь хэрэглэгчийн аюулгүй удирдлага, баталгаажуулалтыг хангадаг.
- Stripe Checkout болон Stripe хэрэглэгчийн портал интеграци.
- Supabase нь PostgreSQL дээр хүчирхэг өгөгдөлд хандах, удирдах хэрэгслээр хангадаг.
- Stripe webhooks нь үнийн төлөвлөгөө болон захиалгын статусыг автоматаар синхрончлох боломжийг олгодог.
2. KeepLink: Шошго болон архив бүхий энгийн хавчуургын үйлчилгээ
KeepLink бол Supabase болон Next.js-ээр бүтээгдсэн тэмдэглэгээ, архив бүхий үндсэн хавчуургын үйлчилгээ юм. Энэ нь ямар ч нийгмийн хуваалцах функцгүй, гэхдээ та өөрийн жишээг байршуулж болно.
- Одоо байгаа шошгууд дээр үндэслэн шинэ хавчуургуудыг автоматаар шошго.
- Supabase стекийн ачаар URL, гарчиг, тайлбар, шошго, архивын агуулгыг бүтэн текстээр хайх, админ мэдээллийн баазын нэрсийг шошголох, API-д тайван хандах боломжтой боллоо.
- Metascraper-ийн тусламжтайгаар та хуудасныхаа гарчиг, тайлбарыг автоматаар цуглуулах боломжтой. Та мөн SinglePage болон Headless Chrome ашиглан хуудсаа архивлах боломжтой.
3. Бодит цагийн чатын програм Supabase + React-тай
- Бодит цагийн мессежийн хувьд Supabase (PostgreSQL дээр) ашиглагддаг.
- Урд тал нь React (CRA) + Vite ашигладаг
- Ашигласан UI номын сан нь Chakra UI юм.
Гол онцлог
Supabase-ийн зарим онцлогууд энд байна.
- Нэг минут хүрэхгүй хугацаанд өгөгдлийн санг тохируулах, удирдахад зориулсан хяналтын самбар/хэрэглэгчийн интерфейс.
- Хэрэглэгчид бүртгүүлэх, мэдээллийн сандаа нэвтрэх хязгаарлалтыг шинэчлэхийн тулд хэрэглэгчийн баталгаажуулалтыг ашиглана уу.
- API болон JavaScript номын сан.
- Өгөгдлийн сангийн сонсогчид бодит цаг хугацаанд.
- Функцууд (ямар нэгэн зүйл). Эдгээр нь SQL, JavaScript, Python эсвэл Java хэл дээр бичигдсэн байж болох мэдээллийн санд хадгалагдсан процедур юм.
Давуу тал
Supabase нь дараахь шалтгаанаар өөрийгөө ялгадаг.
- Firebase-ээс ялгаатай нь та төвөгтэй асуулга эсвэл текст хайлтуудыг ажиллуулж болно.
- Supabase нь танд зориулж масштаблах ажлыг хариуцдаг (хэдийгээр SQL мэдээллийн бааз ашигладаг ч гэсэн)
- PostgreSQL-ийг ашигладаг тул Supabase-д өгөгдөл шилжүүлэх нь энгийн бөгөөд та a.sql файл ашиглан өгөгдлийг импортлох боломжтой.
Байг
Supabase-г ашиглах нь зарим сул талуудтай. Тэдгээр нь дараах байдалтай байна.
- Бодит цагийн өөрчлөлтийг хүлээн авахын тулд та хүснэгтийн хуулбарлах функцийг идэвхжүүлэх ёстой.
- Бодит цагийн шинэчлэлтийг идэвхжүүлсэн үед Supabase-ийн аюулгүй байдлын бодлого үйлчлэхгүй.
- Онцлогууд нь хязгаарлагдмал.
- Түүний SDK нь зөвхөн JavaScript-тэй ажилладаг (Бусад хэлний дэмжлэг бета шатандаа байгаа)
үнийн
1. Үнэгүй түвшин
- 500 МБ хадгалах зай, хязгааргүй API дуудлага бүхий мэдээллийн сан
- Баталгаажуулалт - 10,000 хүртэл хэрэглэгч
- Файл хадгалах - 1 ГБ хүртэл хадгалах сан, сар бүр 2 ГБ хүртэлх шилжүүлгийн хязгаарлалттай.
2. Явж байхдаа төл
- Өгөгдлийн сан – API дуудлагын хязгаарлалтгүй GB багтаамж тутамд $0.125
- Auth - Хязгааргүй
- Файлын хадгалалт – ГБ тутамд $0.021 өгөгдөл хадгалагдаж, 0.07$/ГБ өгөгдөл дамжуулах
Үнийн талаарх дэлгэрэнгүй мэдээллийг та тэдний вэб сайтаас үзэх боломжтой.
Дүгнэлт
Supabase бол хамгийн сайн нээлттэй эх сурвалж юм Google-ийн Firebase-ийн өөр хувилбар. PostgreSQL-ийн хүч чадлын улмаас энэ нь янз бүрийн гайхалтай боломжуудыг санал болгодог бөгөөд бусад бодит цагийн мэдээллийн сангийн систем шиг өгөгдлийн төрөлд ямар ч хязгаарлалт байхгүй.
Та Supabase болон түүний гайхалтай функцуудыг ашиглан төрөл бүрийн програм үүсгэж болно. Өнөөдөр туршаад үзээрэй!
Marcelo
B2B SaaS-ийн хувьд нэг хэрэглэгч тус бүр 1 мастер хэрэглэгчтэй байх ба энэ мастертай холбоотой бусад N хэрэглэгч зөвхөн энэ хэрэглэгчийн өгөгдөлтэй ажиллах боломжтой юу?