Բառը[Թաքցնել][Ցուցադրում]
Backend-as-a-Service (BaaS)-ը ծառայության պարադիգմ է, որտեղ ծրագրավորողները վեբ կամ բջջային ծրագրավորման կուլիսային բաղադրիչները արտասահմանում են տրամադրում, որպեսզի նրանք կարողանան կենտրոնանալ ֆրոնդենի կառուցման և պահպանման վրա՝ plug-and-play հիմունքներով և խուսափել սերվերի կողմից կոդ գրելու բեռից:
Ծրագիրը, որն աջակցում է սերվերի կողմից առաջադրանքներին, ինչպիսիք են նույնականացումը, տվյալների բազայի կառավարումը, իրական ժամանակի թարմացումը, պահեստավորումը, հոսթինգը և push ծանուցումները, տրամադրվում են BaaS հարթակների կողմից (բջջային հավելվածների համար):
Թեև տարբեր հետնամասային ծառայություններ սկզբունքորեն ապահովում են նույն լուծումը, նրանք օգտագործում են տարբեր հետին տեխնոլոգիաներ: Սա որոշիչ գործոն է շատ ծրագրավորողների համար, երբ ընտրում են լավագույն ծառայությունը որոշակի նախագծի համար:
Այս հոդվածում մենք խորը սուզվելու ենք Supabase-ում:
Ինչ է Սուպաբազա?
Սուպաբազա Firebase-ի բաց կոդով այլընտրանք է, որն առաջարկում է Backend-ը որպես ծառայություն մի շարք հավելվածների համար: Այն իսկապես պարզ է կարգավորելը և արագորեն գործում է տարբեր շրջանակներով: Supabase-ն իրեն ներկայացնում է որպես Firebase-ի բաց կոդով փոխարինող:
Այն մտադիր է օգուտ քաղել ծրագրավորողներին՝ արագ կարգավորելով իրենց հետին պլանը: «Կառուցեք հանգստյան օրերին, աճեք միլիոնավորների», - ասում է Supabase-ը:
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 (Տողերի մակարդակի անվտանգություն): Մշակողները կարող են օգտագործել Supabase-ի վահանակը Աղյուսակ կառուցելու և սյունակներ և հատկություններ ավելացնելու համար: Մշակողները կարող են փոփոխել տվյալները անմիջապես վահանակից՝ Supabase-ի միջոցով:
4. Նույնականացում
Google-ը, GitHub-ը, Facebook-ը, Twitter-ը, GitLab-ը և այլ նույնականացման մատակարարներ հասանելի են Supabase-ում: Դրանք կարող են միացված լինել վավերացման վահանակի միջոցով: Այն նաև աջակցում է Phone 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 ֆայլ:
Դեմ
Supabase-ի ընդունման որոշ թերություններ կան: Դրանք հետևյալն են.
- Իրական ժամանակում փոփոխություններ ստանալու համար դուք պետք է ակտիվացնեք աղյուսակի կրկնօրինակման գործառույթը:
- Երբ իրական ժամանակում թարմացումները միացված են, Supabase-ի անվտանգության քաղաքականությունը չի կիրառվում:
- Առանձնահատկությունները սահմանափակ են։
- Դրա SDK-ն աշխատում է միայն JavaScript-ով (այլ լեզուների աջակցությունը դեռ բետա է)
գնագոյացում
1. Ազատ մակարդակ
- Տվյալների բազա 500 ՄԲ պահեստային տարածքով և անսահմանափակ API զանգերով
- Նույնականացում – մինչև 10,000 օգտվող
- Ֆայլերի պահեստավորում – Մինչև 1 ԳԲ պահեստ, ամսական մինչև 2 ԳԲ փոխանցման սահմանափակումներով:
2. Վճարեք, երբ գնում եք
- Տվյալների բազա – $0.125 մեկ ԳԲ պահեստի համար, առանց API զանգերի սահմանափակումների
- Auth – Անսահմանափակ
- Ֆայլի պահպանում – Տվյալները պահվում են 0.021 դոլար մեկ ԳԲ-ի համար՝ 0.07 դոլար/ԳԲ տվյալների փոխանցման դեպքում
Լրացուցիչ գնային տեղեկատվության համար կարող եք ստուգել նրանց կայքը.
Եզրափակում
Supabase-ը լավագույն բաց աղբյուրն է այլընտրանք Google-ի Firebase-ին. PostgreSQL-ի հզորության պատճառով այն առաջարկում է տարբեր ուշագրավ առանձնահատկություններ և չունի տվյալների տեսակի սահմանափակումներ, ինչպես իրական ժամանակի տվյալների բազայի այլ համակարգերը:
Դուք կարող եք ստեղծել մի շարք հավելվածներ՝ օգտագործելով Supabase-ը և դրա հիանալի հնարավորությունները: Փորձեք այն այսօր:
Marcelo
B2B SaaS-ի դեպքում հնարավո՞ր է յուրաքանչյուր հաճախորդի համար ունենալ 1 հիմնական օգտվող, և այս վարպետի հետ առնչվող այլ N օգտվողներ, որոնք զբաղվում են միայն այս հաճախորդի տվյալների հետ: