სარჩევი[დამალვა][ჩვენება]
Backend-as-a-Service (BaaS) არის სერვისის პარადიგმა, რომელშიც დეველოპერები აუთსორსს უწევენ ვებ ან მობილური დეველოპმენტის კულისებს მიღმა კომპონენტებს, რათა მათ შეეძლოთ ფოკუსირება მოახდინონ ფრონტენდის შექმნაზე და შენარჩუნებაზე plug-and-play საფუძველზე და გაექცეთ სერვერის მხარის კოდის დაწერის ტვირთს.
პროგრამული უზრუნველყოფა, რომელიც მხარს უჭერს სერვერის ამოცანებს, როგორიცაა ავთენტიფიკაცია, მონაცემთა ბაზის ადმინისტრირება, რეალურ დროში განახლება, შენახვა, ჰოსტინგი და გაფრთხილებები უზრუნველყოფილია BaaS პლატფორმებით (მობილური აპლიკაციებისთვის).
მიუხედავად იმისა, რომ სხვადასხვა backend სერვისები ფუნდამენტურად იძლევა ერთსა და იმავე გადაწყვეტას, ისინი იყენებენ განსხვავებულ backend ტექნოლოგიებს. ეს არის გადამწყვეტი ფაქტორი მრავალი დეველოპერისთვის, როდესაც ირჩევს საუკეთესო სერვისს გარკვეული პროექტისთვის.
ამ სტატიაში ჩვენ ღრმად ჩავუღრმავდებით Supabase-ს.
რა არის სუპაბაზა?
სუპაბაზა არის ღია კოდის Firebase ალტერნატივა, რომელიც სთავაზობს Backend როგორც სერვისს სხვადასხვა აპლიკაციისთვის. მისი დაყენება მართლაც მარტივია და სწრაფად მუშაობს სხვადასხვა ჩარჩოებით. Supabase თავს ასახელებს, როგორც Firebase-ის ღია წყაროს შემცვლელს.
ის აპირებს სარგებელს მოუტანოს დეველოპერებს მათი ბექენდის სწრაფად დაყენებაში. "აშენეთ შაბათ-კვირას, გაიზარდეთ მილიონამდე", - ამბობს სუპაბასი.
Supabase-ის პროდუქტები მოიცავს Postgres-ის მონაცემთა ბაზას და ავტორიზაციის სერვისს, შენახვისა და სერვერის გარეშე სერვისებით (backend-ის ლოგიკით) ჯერ კიდევ მუშაობს. მისი ყველა ინსტრუმენტი ძირითადად უფასო და ღია წყაროა. Postgres მონაცემთა ბაზა მოიცავს მონაცემთა ბაზასთან დაკავშირებულ ინსტრუმენტებს, როგორიცაა მონაცემთა ბაზის ცვლილებების რეალურ დროში მონიტორინგი და მართვის ინტერფეისი.
გარდა ამისა, ის უზრუნველყოფს სწრაფ API-ებს და სინტაქსს, რომლებიც შედარებულია Firebase-თან. ეს საშუალებას გაძლევთ გაუმკლავდეთ CRUD ამოცანებს თანმიმდევრულად, რაც საშუალებას მოგცემთ ფოკუსირება მოახდინოთ შექმნაზე, ვიდრე ხელახლა დაწეროთ CRUD კოდის გამეორება.
Postgres-ის მონაცემთა ბაზა არის ცხრილი, რომელიც საშუალებას გაძლევთ შეინახოთ ორგანიზებული და დაკავშირებული მონაცემები ისევე, როგორც თქვენ შეინახავთ ცხრილებში. გასაკვირია, რომ როდესაც თქვენ ქმნით პროექტს, შეგიძლიათ გამოიყენოთ არსებული ცხრილი, როგორც თქვენი Postgres მონაცემთა ბაზა.
როგორ მუშაობს Supabase?
Supabase არის უფასო წყაროს ტექნოლოგიების კოლექცია. ისინი ქმნიან Firebase-ის ფუნქციებს საწარმოს დონის, ღია წყაროს გადაწყვეტილებებით. თუ ინსტრუმენტები და საზოგადოებები ხელმისაწვდომია MIT, Apache 2 ან მსგავსი ღია ლიცენზიით, ისინი გამოიყენებენ და მხარს დაუჭერენ მათ.
თუ ინსტრუმენტი უკვე არ არსებობს, ისინი ქმნიან მას და მისაწვდომს ხდიან როგორც ღია. Supabase არ არის Firebase-ის 1:1 რუკა. მათი მიზანია დეველოპერებს მიაწოდონ Firebase-ის მსგავსი განვითარების გამოცდილება ღია წყაროებიდან ტექნოლოგიები.
Supabase არის პლატფორმა, რომელიც მასპინძლობს. შეგიძლიათ დარეგისტრირდეთ და დაიწყოთ მისი გამოყენება არაფრის ინსტალაციის გარეშე. თქვენ ასევე შეგიძლიათ თვითმმართველობის ჰოსტინგი და შექმნათ საკუთარ სერვერზე.
- PostgreSQL-ს აქვს დიდი რეპუტაცია სტაბილურობის, გამძლეობისა და სიჩქარის გამო; 30 წელზე მეტი ხნის აქტიური განვითარების შემდეგ,
- Realtime არის Elixir სერვერი, რომელიც საშუალებას გაძლევთ მოუსმინოთ PostgreSQL ჩანართებს, განახლებებს და წაშლას WebSockets-ის გამოყენებით. Supabase უსმენს რეპლიკაციის მოთხოვნებს Postgres-ისგან, გარდაქმნის რეპლიკაციის ბაიტის ნაკადს JSON-ად და შემდეგ ავრცელებს JSON-ს WebSockets-ის საშუალებით.
- PostgREST არის ვებ სერვერი, რომელიც გარდაქმნის თქვენს PostgreSQL მონაცემთა ბაზას RESTful API-ში.
- Storage უზრუნველყოფს RESTful ინტერფეისს S3-ში შენახული ფაილების მართვისთვის, Postgres-ით, როგორც უფლებების მენეჯერი.
- Postgres-meta არის RESTful API Postgres-ის ადმინისტრირებისთვის, რომელიც საშუალებას გაძლევთ ჩამოტვირთოთ ცხრილები, დაავალოთ პასუხისმგებლობები და განახორციელოთ შეკითხვები, სხვა საკითხებთან ერთად.
- GoTrue არის SWT-ზე დაფუძნებული API, რომელიც საშუალებას გაძლევთ მართოთ მომხმარებლები და გამოსცეთ SWT ტოკენები.
- Kong არის API კარიბჭე, რომელიც მუშაობს ღრუბელზე.
ნაცნობობა
1. პროექტი
Supabase-ში პროექტი არის კონტეინერი თქვენი ყველა მონაცემთა ბაზისთვის, ავთენტიფიკაციის მომხმარებლებისთვის, წესებისთვის, ცხრილებისთვის და ფაილების შესანახად.
არსებობს რამდენიმე ადგილი, საიდანაც უნდა უმასპინძლოთ თქვენს პროექტს და Supabase-ის ადმინისტრატორები მუდმივად ამატებენ ახალ საიტებს შეყოვნების შესამცირებლად. პროექტის შექმნას დაახლოებით 2 წუთი სჭირდება, ამიტომ დალიეთ ყავა, დაჯექით და დაისვენეთ.
2. პროექტის დაფა
როდესაც თქვენი პროექტი დასრულდება, თქვენ წარმოგიდგენთ ქვემოთ ნაჩვენების მსგავსი დაფა. ეს დაფა გაჩვენებთ ყველაფერს, რაც უნდა იცოდეთ თქვენი პროექტის შესახებ, მათ შორის მონაცემთა ბაზის კავშირები, ავთენტიფიკაციის მოთხოვნები, შენახვის მოცულობა, კლიენტის ბიბლიოთეკის განხორციელება და სხვა.
3. ცხრილის შემქმნელი და რედაქტორი
Supabase-ის მონაცემთა ბაზა არის ურთიერთკავშირი PostgreSQL რეალურ დროში შესაძლებლობებით და პოლიტიკის წვდომის კონტროლით Postgres RLS-ის (Row Level Security) გამოყენებით. დეველოპერებს შეუძლიათ გამოიყენონ Supabase-ის დაფა ცხრილის ასაგებად და სვეტებისა და თვისებების დასამატებლად. დეველოპერებს შეუძლიათ შეცვალონ მონაცემები პირდაპირ დაფიდან Supabase-ით.
4. ავთენტიფიკაცია
Google, GitHub, Facebook, Twitter, GitLab და სხვა ავტორიზაციის პროვაიდერები ხელმისაწვდომია Supabase-ზე. მათი ჩართვა შესაძლებელია ავტორიზაციის პანელის გამოყენებით. ის ასევე მხარს უჭერს ტელეფონის OTP და Magic Link ავთენტიფიკაციას.
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-ით. მას არ აქვს სოციალური გაზიარების ფუნქციები, მაგრამ თქვენ შეგიძლიათ უმასპინძლოთ თქვენს საკუთარ მაგალითს.
- ახალი სანიშნეების მონიშნეთ ავტომატურად არსებული ტეგების საფუძველზე.
- სრული ტექსტის ძიება URL-ების, სათაურების, აღწერილობების, ტეგებისა და არქივის კონტენტის წყალობით, Supabase სტეკის, ადმინისტრაციული მონაცემთა ბაზების ფსევდონიმების მონიშვნისა და მშვიდი API წვდომის წყალობით უკვე შესაძლებელია.
- Metascraper-ით შეგიძლიათ ავტომატურად შეაგროვოთ სათაურები და აღწერილობები თქვენი გვერდებისთვის. თქვენ ასევე შეგიძლიათ დაარქივოთ თქვენი გვერდები SinglePage და Headless Chrome-ით.
3. რეალურ დროში ჩატის აპლიკაცია Supabase + React-ით
- რეალურ დროში შეტყობინებებისთვის გამოიყენება Supabase (PostgreSQL-ის თავზე).
- Front-end იყენებს React (CRA) + Vite
- გამოყენებული UI ბიბლიოთეკა არის Chakra UI.
ძირითადი თვისებები
აქ არის Supabase-ის რამდენიმე მახასიათებელი:
- დაფა/მომხმარებლის ინტერფეისი თქვენი მონაცემთა ბაზის დასაყენებლად და ადმინისტრირებისთვის ერთ წუთზე ნაკლებ დროში.
- მომხმარებლების დასარეგისტრირებლად და თქვენს მონაცემთა ბაზაში წვდომის შეზღუდვების გასაახლებლად, გამოიყენეთ მომხმარებლის ავტორიზაცია.
- API და JavaScript ბიბლიოთეკა.
- მონაცემთა ბაზის მსმენელები რეალურ დროში.
- ფუნქციები (მსგავსი). ეს არის მონაცემთა ბაზაში შენახული პროცედურები, რომლებიც შეიძლება დაიწეროს SQL, JavaScript, Python ან Java.
დადებითი
Supabase გამოირჩევა შემდეგი მიზეზების გამო:
- Firebase-ისგან განსხვავებით, თქვენ შეგიძლიათ განახორციელოთ რთული მოთხოვნები ან ტექსტური ძიება.
- Supabase ზრუნავს თქვენთვის სკალირებაზე (მიუხედავად იმისა, რომ ის იყენებს SQL მონაცემთა ბაზას)
- მონაცემთა მიგრაცია მარტივია Supabase-ით, რადგან ის იყენებს PostgreSQL-ს და შეგიძლიათ მონაცემების იმპორტი a.sql ფაილის გამოყენებით.
Cons
Supabase-ის მიღებას აქვს გარკვეული უარყოფითი მხარეები. ისინი შემდეგია:
- რეალურ დროში ცვლილებების მისაღებად, თქვენ უნდა გაააქტიუროთ რეპლიკაციის ფუნქცია ცხრილისთვის.
- როდესაც რეალურ დროში განახლებები ჩართულია, Supabase-ის უსაფრთხოების პოლიტიკა არ გამოიყენება.
- ფუნქციები შეზღუდულია.
- მისი SDK მუშაობს მხოლოდ JavaScript-ით (სხვა ენების მხარდაჭერა ჯერ კიდევ ბეტა რეჟიმშია)
ფასები
1. უფასო იარუსი
- მონაცემთა ბაზა 500 მბ შენახვის სივრცით და შეუზღუდავი API ზარებით
- ავტორიზაცია - 10,000-მდე მომხმარებელი
- ფაილის შენახვა – 1 გბ-მდე მეხსიერება, ყოველთვიური გადაცემის შეზღუდვით 2 გბ-მდე.
2. გადაიხადე როგორც წახვალ
- მონაცემთა ბაზა – $0.125 თითო გბაიტი მეხსიერება, API ზარების შეზღუდვის გარეშე
- ავტორიზაცია - შეუზღუდავი
- ფაილის შენახვა – შენახული მონაცემები 0.021$ თითო გბაიტზე მონაცემთა გადაცემით 0.07$/GB
ფასების შესახებ დამატებითი ინფორმაციისთვის შეგიძლიათ ნახოთ მათი ვებ – გვერდი.
დასკვნა
Supabase არის საუკეთესო ღია წყარო Google-ის Firebase-ის ალტერნატივა. PostgreSQL-ის სიმძლავრის გამო, ის გთავაზობთ სხვადასხვა გასაოცარ მახასიათებლებს და არ გააჩნია მონაცემთა ტიპის შეზღუდვები, როგორც რეალურ დროში მონაცემთა ბაზის სხვა სისტემები.
თქვენ შეგიძლიათ შექმნათ სხვადასხვა აპლიკაციები Supabase-ისა და მისი შესანიშნავი ფუნქციების გამოყენებით. სცადე დღეს!
Marcelo
B2B SaaS-ის შემთხვევაში, შესაძლებელია თუ არა თითო კლიენტზე 1 ძირითადი მომხმარებელი და ამ მასტერთან დაკავშირებული სხვა N მომხმარებელი, რომელიც ეხება მხოლოდ ამ მომხმარებლის მონაცემებს?