Mục lục[Ẩn giấu][Chỉ]
Backend-as-a-Service (BaaS) là một mô hình dịch vụ trong đó các nhà phát triển thuê ngoài các thành phần hậu trường của phát triển web hoặc thiết bị di động để họ có thể tập trung vào việc xây dựng và duy trì giao diện người dùng trên cơ sở plug-and-play và thoát khỏi gánh nặng của việc viết mã phía máy chủ.
Phần mềm hỗ trợ các tác vụ phía máy chủ như xác thực, quản trị cơ sở dữ liệu, cập nhật thời gian thực, lưu trữ, lưu trữ và cảnh báo đẩy được cung cấp bởi nền tảng BaaS (dành cho ứng dụng di động).
Mặc dù các dịch vụ phụ trợ khác nhau về cơ bản cung cấp cùng một giải pháp, nhưng chúng sử dụng các công nghệ phụ trợ riêng biệt. Đây là yếu tố quyết định đến nhiều chủ đầu tư khi lựa chọn dịch vụ tốt nhất cho một dự án nào đó.
Trong bài viết này, chúng ta sẽ đi sâu vào Supabase.
Là gì Siêu dữ liệu?
Siêu dữ liệu là một giải pháp thay thế Firebase mã nguồn mở cung cấp Backend dưới dạng Dịch vụ cho nhiều ứng dụng khác nhau. Nó thực sự đơn giản để thiết lập và vận hành nhanh chóng với nhiều khuôn khổ khác nhau. Supabase tự lập hóa đơn như một mã nguồn mở thay thế cho Firebase.
Nó có ý định mang lại lợi ích cho các nhà phát triển trong việc nhanh chóng thiết lập chương trình phụ trợ của họ. Supabase nói: “Xây dựng trong một ngày cuối tuần, phát triển lên hàng triệu người”.
Các sản phẩm siêu dữ liệu bao gồm cơ sở dữ liệu Postgres và dịch vụ xác thực, với các dịch vụ lưu trữ và không máy chủ (đối với logic phụ trợ) vẫn đang hoạt động. Tất cả các công cụ của nó hầu hết là miễn phí và mã nguồn mở. Cơ sở dữ liệu Postgres bao gồm các công cụ liên quan đến cơ sở dữ liệu, chẳng hạn như theo dõi thời gian thực các sửa đổi cơ sở dữ liệu và giao diện quản lý.
Hơn nữa, nó cung cấp các API nhanh và cú pháp có thể so sánh với Firebase. Điều này cho phép bạn xử lý các tác vụ CRUD theo một cách nhất quán, cho phép bạn tập trung vào việc tạo hơn là viết lại mã CRUD lặp lại.
Cơ sở dữ liệu Postgres là một bảng cho phép bạn lưu trữ dữ liệu được tổ chức và kết nối giống như cách bạn làm trong bảng tính. Đáng ngạc nhiên là khi bạn tạo một dự án, bạn có thể sử dụng một bảng tính hiện có làm cơ sở dữ liệu Postgres của mình.
Supabase hoạt động như thế nào?
Supabase là một tập hợp các công nghệ mã nguồn miễn phí. Họ đang tạo ra các tính năng của Firebase với các giải pháp nguồn mở cấp doanh nghiệp. Nếu các công cụ và cộng đồng có sẵn theo MIT, Apache 2 hoặc giấy phép mở tương đương, họ sẽ sử dụng và hỗ trợ chúng.
Nếu công cụ này chưa tồn tại, họ sẽ tạo ra nó và cung cấp nó dưới dạng mã nguồn mở. Supabase không phải là ánh xạ 1: 1 của Firebase. Mục tiêu của họ là cung cấp cho các nhà phát triển trải nghiệm phát triển giống như Firebase bằng cách sử dụng mã nguồn mở Công nghệ.
Supabase là một nền tảng được lưu trữ. Bạn có thể đăng ký và bắt đầu sử dụng nó mà không cần phải cài đặt bất cứ thứ gì. Bạn cũng có thể tự lưu trữ và xây dựng trên máy chủ của riêng mình.
- PostgreSQL nổi tiếng về độ ổn định, tính năng mạnh mẽ và tốc độ; Sau hơn 30 năm phát triển tích cực,
- Realtime là một máy chủ Elixir cho phép bạn lắng nghe các chèn, cập nhật và xóa của PostgreSQL bằng cách sử dụng WebSockets. Supabase lắng nghe các yêu cầu sao chép từ Postgres, chuyển đổi luồng byte sao chép thành JSON, sau đó phát JSON thông qua WebSockets.
- PostgREST là một máy chủ web chuyển đổi cơ sở dữ liệu PostgreSQL của bạn thành một API RESTful.
- Storage cung cấp giao diện RESTful để quản lý các tệp được lưu trữ trong S3, với Postgres là trình quản lý quyền.
- Postgres-meta là một API RESTful để quản lý Postgres, cho phép bạn tải xuống các bảng, phân công trách nhiệm và thực hiện các truy vấn, trong số những thứ khác.
- GoTrue là một API dựa trên SWT cho phép bạn quản lý người dùng và phát hành mã thông báo SWT.
- Kong là một cổng API chạy trên đám mây.
Bắt đầu
1. Dự án
Trong Supabase, một dự án là vùng chứa cho tất cả cơ sở dữ liệu, người dùng xác thực, quy tắc, bảng và lưu trữ tệp của bạn.
Có một số nơi để lưu trữ dự án của bạn và quản trị viên Supabase liên tục thêm các trang web mới để giảm độ trễ. Một dự án mất khoảng 2 phút để tạo, vì vậy hãy uống một tách cà phê, ngồi lại và thư giãn.
2. Bảng điều khiển dự án
Khi dự án của bạn kết thúc, bạn sẽ thấy một bảng điều khiển tương tự như bảng dưới đây. Trang tổng quan này hiển thị cho bạn tất cả những gì bạn cần biết về dự án của mình, bao gồm các kết nối cơ sở dữ liệu, yêu cầu xác thực, dung lượng lưu trữ, triển khai thư viện ứng dụng khách, v.v.
3. Trình tạo và chỉnh sửa bảng
Cơ sở dữ liệu của Supabase là một PostgreSQL quan hệ với khả năng thời gian thực và kiểm soát truy cập chính sách bằng cách sử dụng Postgres RLS (Row Level Security). Các nhà phát triển có thể sử dụng bảng điều khiển của Supabase để tạo Bảng và thêm các cột và thuộc tính. Các nhà phát triển có thể sửa đổi dữ liệu ngay từ trang tổng quan với Supabase.
4. Xác thực
Google, GitHub, Facebook, Twitter, GitLab và nhiều Nhà cung cấp xác thực khác có sẵn trên Supabase. Các tính năng này có thể được bật bằng Bảng xác thực. Nó cũng hỗ trợ Phone OTP và Magic Link Authentication.
5. Lưu trữ
Supabase là một hệ thống lưu trữ đối tượng mã nguồn mở có thể xử lý bất kỳ loại tệp nào và có khả năng mở rộng tích hợp. Nó có một API dễ sử dụng cho phép các quy tắc và quyền tùy chỉnh. Tích hợp CDN, cũng như tự động chuyển đổi và tối ưu hóa (thay đổi kích thước và nén tài liệu của bạn), sẽ sớm khả dụng. Lưu trữ siêu dữ liệu sẽ là một đối thủ đáng gờm với lưu trữ Firebase với việc bao gồm các khả năng này.
Bạn có thể xây dựng những gì với Supabase? (Vài ví dụ)
1. Thanh toán đăng ký với Supabase + Stripe + Next.js.
Bộ khởi động hoàn chỉnh cho các ứng dụng SaaS hiệu suất cao.
- Supabase cung cấp quyền quản trị và xác thực người dùng an toàn.
- Stripe Checkout và tích hợp cổng thông tin khách hàng của Stripe.
- Supabase cung cấp các công cụ quản lý và truy cập dữ liệu mạnh mẽ trên PostgreSQL.
- Các webhook sọc cho phép đồng bộ hóa tự động các gói giá và trạng thái đăng ký.
2. Giữ liên kết: Dịch vụ đánh dấu trang đơn giản với các thẻ và kho lưu trữ
KeepLink là một dịch vụ đánh dấu cơ bản với các thẻ và một kho lưu trữ được xây dựng với Supabase và Next.js. Nó không có bất kỳ tính năng chia sẻ xã hội nào, nhưng bạn có thể lưu trữ phiên bản của riêng mình.
- Gắn thẻ dấu trang mới tự động dựa trên các thẻ hiện có.
- Tìm kiếm toàn văn bản cho URL, Tiêu đề, Mô tả, Thẻ và Nội dung Lưu trữ nhờ vào ngăn xếp Supabase, gắn thẻ bí danh cho cơ sở dữ liệu quản trị và hiện có thể truy cập API an toàn.
- Với metascraper, bạn có thể tự động thu thập tiêu đề và mô tả cho các trang của mình. Bạn cũng có thể lưu trữ các trang của mình bằng SinglePage và Headless Chrome.
3. Ứng dụng trò chuyện thời gian thực với Supabase + React
- Đối với nhắn tin thời gian thực, Supabase (trên PostgreSQL) được sử dụng.
- Front-end sử dụng React (CRA) + Vite
- Thư viện giao diện người dùng được sử dụng là Chakra UI.
Các tính năng chính
Dưới đây là một số tính năng của Supabase:
- Trang tổng quan / giao diện người dùng để thiết lập và quản trị cơ sở dữ liệu của bạn trong vòng chưa đầy một phút.
- Để đăng ký người dùng và cập nhật các hạn chế truy cập trong cơ sở dữ liệu của bạn, hãy áp dụng xác thực người dùng.
- API và thư viện JavaScript.
- Người nghe cơ sở dữ liệu trong thời gian thực.
- Các chức năng (kinda). Đây là các thủ tục được lưu trữ trong cơ sở dữ liệu có thể được viết bằng SQL, JavaScript, Python hoặc Java.
Ưu điểm
Supabase tự phân biệt vì những lý do sau:
- Ngược lại với Firebase, bạn có thể chạy các truy vấn phức tạp hoặc tìm kiếm văn bản.
- Supabase chăm sóc quy mô cho bạn (ngay cả khi nó sử dụng cơ sở dữ liệu SQL)
- Di chuyển dữ liệu rất đơn giản với Supabase vì nó tận dụng PostgreSQL và bạn có thể nhập dữ liệu bằng cách sử dụng tệp a.sql.
Nhược điểm
Có một số nhược điểm khi sử dụng Supabase. Chúng như sau:
- Để nhận các thay đổi trong thời gian thực, bạn phải kích hoạt chức năng sao chép cho một bảng.
- Khi bật cập nhật thời gian thực, các chính sách bảo mật của Supabase sẽ không được áp dụng.
- Các tính năng bị hạn chế.
- SDK của nó chỉ hoạt động với JavaScript (Hỗ trợ cho các ngôn ngữ khác vẫn đang trong giai đoạn thử nghiệm)
GIÁ CẢ
1. Bậc miễn phí
- Cơ sở dữ liệu với 500 MB dung lượng lưu trữ và các lệnh gọi API không giới hạn
- Xác thực - Lên đến 10,000 người dùng
- Lưu trữ Tệp - Bộ nhớ lên đến 1 GB, với giới hạn chuyển hàng tháng lên đến 2 GB.
2. Thanh toán khi bạn đi
- Cơ sở dữ liệu - 0.125 đô la cho mỗi GB dung lượng lưu trữ, không có giới hạn về lệnh gọi API
- Auth - Không giới hạn
- Lưu trữ tệp - Dữ liệu được lưu trữ $ 0.021 mỗi GB với Truyền dữ liệu là $ 0.07 / GB
Để biết thêm thông tin về giá cả, bạn có thể xem trang web của họ.
Kết luận
Supabase là mã nguồn mở tốt nhất thay thế cho Firebase của Google. Do sức mạnh của PostgreSQL, nó cung cấp nhiều tính năng đáng chú ý khác nhau và không có bất kỳ giới hạn nào về kiểu dữ liệu như các hệ thống cơ sở dữ liệu thời gian thực khác.
Bạn có thể tạo nhiều ứng dụng khác nhau bằng cách sử dụng Supabase và các tính năng tuyệt vời của nó. Hãy thử ngay hôm nay!
Marcelo
Trong trường hợp B2B SaaS, có thể có 1 người dùng chính cho mỗi khách hàng và N người dùng khác liên quan đến chính này chỉ xử lý dữ liệu từ khách hàng này không?