教程63:PostgreSQL知识图谱
admin 发布的帖子
-
小课堂,Supabase架构介绍
Supabase基本架构
Supabase围绕PostgreSQL组合了一系列的开源工具,用以实现BaaS所需的用户认证、实时数据库、对象存储、RESTAPI接口等功能。在整合这些工具的同时,为开发者封装了统一的SDK,方便开发者以统一的方式调用这些能力。官方提供了JavaScript和Flutter的SDK,社区贡献了Python、C#、Swift、Kotlin的SDK,开发者在开发移动端和web应用时,可以很方便的调用Supabase提供的后端能力。
下面是Supabase整体架构图:
开发者主要通过三个组件来使用Supabase
- Supabase SDK
如上所述,Supabase官方及社区贡献了目前主流的移动端和Web端的SDK,帮助开发者更容易的开发应用。Supabase SDK有非常多的子项目构成,通常以supabase-*命名,如supabase-js,supabase-dart。
- Supabase Studio
Studio是Supabase的管理页面,也就是suapbase的官方网站以及project管理控制台这些Web及后端服务都是Studio这个工具实现的。studio的代码在supabase的主仓库里。
- Supabase CLI
supabase的命令行管理工具,可以方便的在命令行上管理project。
Supabase通过四个核心组件为开发者提供后端服务
- Postgrest
postgres是一个历史比较悠久的开源组件,能够将postgresql以REST接口暴露给开发者,开发者可以直接通过HTTP接口操作数据库。
- storage api
提供对象存储功能,解决开发者需要上传、下载文件的需求,比如图片、文档等。storage api将数据存储在S3存储上。
- gotrue
用户登录认证模块,帮助用户简化其应用的用户管理。允许开发者使用邮箱、手机号进行注册、登录模块的开发,也可以通过OAuth协议接入github、google、apple等平台的账号。
- realtime
realtime利用postgresql的listen/notify机制,实现了postgres数据库实时数据变更通知能力。
在此基础上,Supabase还提供了如下一些能力
- 云函数(edge function)
postgrest本身提供了调用postgresql function的能力,开发者可以在pg中用sql或者JavaScript编写函数,然后通过rpc接口调用pg的函数。pg的函数能在一定程度上解决部分业务场景的需求,但是仍旧存在一些不方便或者不直观的地方。
云函数(edge function)可以更灵活的适配一些场景,比如支付等需要跟第三方系统进行对接的场景,使用云函数可以让开发者编写后端代码并运行在服务端。
- Graphql
graphql是通过postgresql插件实现的,开发者在postgres建表之后,可以直接通过graphql进行数据库操作。
- Web hook
Web hook为开发者提供了事件触发能力,开发者可以设定满足某个条件时,自动触发外部接口的调用,从而跟第三方系统进行集成。比如跟飞书机器人集成。
Supabase还依赖下面这些组件来提供服务
- PostgreSQL
一切的核心。Supabase整个服务是围绕PostgreSQL构建的。
- kong
API网关。负责将API请求路由到目标服务组件,并转发结果给用户。
- postgres-meta
PostgreSQL的元数据管理组件,主要为studio提供服务,可以用来查询数据库中的表、角色,执行SQL等。
-
产品公告 | MemFire Cloud 应用V1内测版已停止服务
尊敬的用户:
感谢各位一直以来反馈的宝贵意见与建议,帮助我们不断的改进产品服务!!在过去的时光里,我们共同见证了这款MemFire Cloud V1版应用开发的成长与变化。今天,我们怀着无比感慨的心情宣布,V1内测版应用正式与大家告别。
【下线原因】
经过长时间的测试,MemFire CloudV1内测版已完成其历史使命,目前已不支持创建操作。经过深思熟虑,我们决定将MemFire Cloud V1内测版应用正式停止服务,将有限的资源聚焦于MemFire Cloud应用开发新的V2版本的发展与创新。目前V2版本包含许多改进和增强功能,更适配国内生态,获得了许多用户的认可与肯定。
【时间安排】
︎ 2023年01月14日,MemFire Cloud V2版本上线,V1内测版不支持创建新应用。︎ 2023年12月01日,MemFire Cloud V1内测版应用将正式停止服务,用户将无法进行恢复操作。□ 2024年02月01日,MemFire Cloud V1内测版应用将被全部销毁,正式退出历史的舞台。
MemFire产品组
2023年12月02日
-
RE: 静态托管,可以通过api调用上传吗
@excelsior 您好,静态托管目前不支持api调用上传,可以将代码打包好后,在控制台进行上传,通过API上传已纳入规划。
具体详见:https://document.memfiredb.com/docs/guides/static-start -
RE: 请问这个报错是什么原因导致的,遇到这种问题该如何排查
@408363 您好,从页面报错信息无法直接判断原因,在页面执行该操作,没有复现该问题。您这边可以按F12打开浏览器调试页面,重复截图中操作再多添加几次用户,然后提供一下报错截图信息,方便技术团队判断报错的原因~
-
RE: 如何提升数据库的额度?
@xiaona 您好,辛苦加一下小助手的微信,这边会有工作人员跟进您的需求
https://document.memfiredb.com/docs/contactus -
RE: 是否支持持久化登录,非session模式
@408363 目前使用api进行登录时,只要您不主动使用api进行退出登录,关闭会话后,再重新打开应用是不需要再次登录的。
-
[转载]「原理篇」Supabase的API Key工作机制和使用场景
[转载]「原理篇」Supabase的API Key工作机制和使用场景
https://baijiahao.baidu.com/s?id=1778460250692429942 -
RE: MemFire Cloud可以支持创建子账号么?
@huangaiqing 您好,目前不支持创建子账号,你可以设置登录的账号密码,让团队人员一起用
依然是手机号作为账号,设置一下密码~ -
RE: 第三方授权报错
@hing 您好,请问您使用的是那个第三方认证呢? 方便的话,也可以加一下我们的管理人员微信,有技术人员专门跟进~
目前我们支持的第三方认证,可以在具体应用-认证-服务商中查看:
-
教程61 : 如何使用MemFire Cloud脚手架
MemFire Cloud提供了全面的前端框架的脚手架,包括
vue
/react
/uni-app微信小程序
/taro微信小程序
/微信原生小程序
。脚手架的功能和页面包括登录注册、个人中心、备忘录、聊天室、文件管理中心,也分别代表了MemFire Cloud不同的特性,其中包括用户认证、自动生成API、实时数据库、云存储。脚手架提供一套基础的MemFire Cloud项目结构和配置,旨在以加快和简化项目的开发过程,不仅可以帮助用户快速启动项目、规范开发流程,集成常用工具和底层框架,并具有一定的定制性和扩展性,提高开发效率和代码质量,为用户提供全面的服务。
不同前端框架的项目代码
- React
npx create-react-app --template memfire-react-template <your_project_name>
- Vue
vue create --preset memfire-cloud/memfire-vue-tempalte <your_project_name>
- 原生微信小程序模版
npx degit MemFire-Cloud/wechat-template <my-project>
- uni-app微信小程序模版
npx degit MemFire-Cloud/uni-app-template <my-project>
- taro微信小程序模版
npx degit MemFire-Cloud/memfire-taro-template <my-project>
根据项目的readme文件里的提示,在MemFire Cloud创建应用后,将提供的sql脚本在该应用的SQL执行器里执行。
再将应用的anon_key
和URL
添加到对应项目的supabaseClient.js
文件里,最后查看项目是否有node_modules
包管理器文件夹,如果没有就执行npm install
,最后就可以运行项目了。 -
[转载]【介绍篇】Supabase与Firebase的关系和区别
【介绍篇】Supabase与Firebase的关系和区别 : https://zhuanlan.zhihu.com/p/661609843