Electric SQL 项目教程
1. 项目介绍
Electric SQL 是一个开源项目,旨在将 PostgreSQL 数据库中的数据同步到本地应用程序和服务中。它提供了一个 HTTP API,用于同步数据,并支持通过客户端库和集成直接使用。Electric SQL 的核心功能是将 PostgreSQL 中的数据子集同步到本地,适用于需要离线访问和实时更新的应用场景。
2. 项目快速启动
2.1 环境准备
在开始之前,确保你已经安装了 Docker 和 Docker Compose。
2.2 启动 Electric SQL
-
克隆项目仓库:
git clone https://github.com/electric-sql/electric.git cd electric
-
使用 Docker Compose 启动 Electric SQL:
docker-compose -f support/docker-compose.yml up
-
启动后,你可以通过 HTTP API 同步数据。例如,同步
foo
表中的所有数据:curl -i 'http://localhost:3000/v1/shape/foo?offset=-1'
2.3 使用 React Hook 同步数据
你也可以使用 React Hook 来同步数据。首先,安装 @electric-sql/react
包:
npm install @electric-sql/react
然后在你的 React 组件中使用 useShape
Hook:
import { useShape } from '@electric-sql/react';
function Component() {
const [data] = useShape({
url: `http://localhost:3000/v1/shape/foo`,
where: `title LIKE 'foo%'`,
});
return JSON.stringify(data);
}
3. 应用案例和最佳实践
3.1 离线优先应用
Electric SQL 非常适合构建离线优先的应用程序。通过将数据同步到本地,用户可以在没有网络连接的情况下继续使用应用,并在网络恢复时自动同步数据。
3.2 实时协作应用
在需要实时协作的应用场景中,Electric SQL 可以确保所有用户的数据保持同步。例如,团队协作工具、实时编辑器等。
3.3 数据同步与备份
Electric SQL 还可以用于数据备份和同步。通过定期同步数据到本地或云端,可以确保数据的安全性和一致性。
4. 典型生态项目
4.1 PostgreSQL
Electric SQL 的核心是与 PostgreSQL 数据库的集成。PostgreSQL 是一个功能强大的开源关系型数据库,广泛应用于各种企业级应用。
4.2 React
React 是一个流行的前端框架,通过 @electric-sql/react
包,可以方便地将 Electric SQL 集成到 React 应用中。
4.3 Docker
Docker 是一个容器化平台,通过 Docker Compose,可以轻松地启动和管理 Electric SQL 服务。
通过以上模块的介绍和实践,你可以快速上手并应用 Electric SQL 项目。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考