在egg中使用sequelize进行分表读写

关于egg和sequelize

封装框架会解决很多基础问题,同时也会带来很多应用问题

对于前端来说,开发后端服务,最熟悉不过就是 express 和 koa 了,而 egg 是基于 koa 进行封装的应用层框架,做了很多基础功能的封装,开箱即用,十分方便,也提供了插件机制进行扩展。

而 sequelize,是一个 node.js 的 orm 工具,看下 v7 的文档,支持 Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server, Amazon Redshift 和 Snowflake’s Data Cloud,对于我们常用的关系型数据库 MySQL 的话,使用这个工具,也会免去很多基础 sq l语句的写法。

当然了,现在我们用 node.js 的时候,一般会选用 MongoDB 这个 NoSQL 数据库,对应就是 mongoose 这个object modeling。

而在 egg 中,也都封装了对应的插件来进行支持,针对本文说的 sequelize ,egg 自家封装了 egg-sequelize 这个插件,如果单想用 mysql ,也可以用 egg-mysql 插件,应用层的框架都喜欢这样,怕你集成不上其他框架,都帮你包一层。

在egg中使用sequelize定义表

一个model一个表
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在生产环境使用“dumb”方式进行分库/分表是不推荐的,因为它可能会导致各种问题,如数据不均衡、难以维护和扩展、跨库/跨表查询困难等。然而,如果你仍然想要使用这种方式,以下是一些可能的实施步骤: 1. 数据库拆分:根据你的需求,将原始数据库(DB)拆分成多个独立的数据库(DB1、DB2、DB3...)。 2. 表拆分:对于每个数据库,将原始表(table)拆分成多个独立的表(table1、table2、table3...)。可以根据某个字段(如用户ID或时间戳)的哈希值或范围来决定将数据放入哪个表。 3. 数据迁移:将原始表的数据按照拆分规则迁移到对应的新表。可以使用数据迁移工具或自定义脚本来完成这个过程。 4. 修改应用代码:在应用代码,修改数据库连接配置和SQL语句,以适应新的数据库和表结构。确保应用能够连接到正确的数据库,并发送查询或写入请求到正确的表。 5. 跨库/跨表查询:如果需要进行跨库/跨表查询,需要编写复杂的SQL语句或使用特定的工具来处理。这可能会增加开发和维护的复杂性。 需要注意的是,使用“dumb”方式进行分库/分表会增加系统的复杂性和维护成本,并可能导致性能和可扩展性问题。在实施之前,应该充分评估这种方式是否真正适合你的需求,并考虑其他更可靠和可调整的分库/分表方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值