首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何提高数据库性能的系统设计方案

    ◆  问题 问题是,"我的数据库越来越慢,你将如何提高数据库的性能?".在这篇文章中,我假设是一个SQL数据库,特别是Postgres,但这些解决方案是通用的,应该主要适用于任何其他数据库。...◆  垂直扩展数据库 纵向扩展数据库意味着增加你的数据库实例的大小。这可能意味着增加内存、CPU、网络带宽、存储等。...代理可以作为你的数据库的一种漏斗。它可以承担起管理所有与应用服务器的数据库连接的重任,而只将其中的几个连接暴露给你的数据库。...让我们举一个简单的例子,一个连接到数据库的REST API。API收到一个更新数据库中某些数据的POST请求,它在数据库中执行一个命令,等待数据库发送一个响应,然后向用户返回一个适当的响应。...◆  添加一个辅助数据库 很多时候,一个数据库并不能满足你的所有要求。当你想使用多个数据库时,有几个很好的例子可以说明。

    61610

    优雅的数据库表ID的设计方案

    数据库表设计是项目开发中逃不掉的问题,每一张表,我们都会设计一个ID主键字段,关于表ID的生成方式,每个人都有自己的见解,我们就来讨论如何优雅的设计数据库ID 自增ID 这种方式用起来最简单,也是很多程序员喜欢用的方式...还有一个缺点,当我们在做一个新增操作时,这个ID是数据库自增的,但是代码业务层并不知道,如果我们要拿这个ID做其他操作,这时就只能重新查一遍数据库了。...但是它依然有一个缺点,就是新增操作时,业务层不知道ID,非要重新查一遍数据库才知道。 JAVA生成UUID 这种方式解决了数据库UUID的一个问题,ID是JAVA代码生成的,减少了一次数据库查询。...所以我自己设计了一个短UUID,原理就是生成一个8位的62进制数,将所有的数字、大小写字母全部用上(数据库UUID是16进制,只用了数字和6个字母)。...将UUID的32位的16进制数,每4位转成62进制,看不懂的直接用就是了,这样的短ID不仅有UUID不重复的特性,还不占用空间,8位ID在一些查询等操作的性能上也优于32位ID,这就是优雅的UUID设计方案

    1.4K30

    秒杀系统设计方案

    秒杀活动是一个特别考验后台数据库、缓存服务的业务,对于数据库、缓存的性能要求特别严格。 秒杀背后的技术挑战 1....前端设计方案 页面静态化:将活动页面上的所有可以静态的元素全部静态化,并尽量减少动态元素。通过CDN来抗峰值。...禁止重复提交:用户提交之后按钮置灰,禁止重复提交 用户限流:在某一时间段内只允许用户提交一次请求,比如可以采取IP限流 后端设计方案 控制器层 限制uid(UserID)访问频率:我们上面拦截了浏览器访问的请求...数据库数据库层是最脆弱的一层,一般在应用设计时在上游就需要把请求拦截掉,数据库层只承担“能力范围内”的访问请求。所以,上面通过在服务层引入队列和缓存,让最底层的数据库高枕无忧。...内存缓存:秒杀系统最大的瓶颈一般都是数据库读写,由于数据库读写属于磁盘IO,性能很低,如果能够把部分数据或业务逻辑转移到内存缓存,效率会有极大地提升。

    96910

    OA 系统源码模块设计方案

    、树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块 2.多数据源:(支持同时连接无数个数据库...,可以不同的模块连接不同数的据库)支持N个数据源 3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限), 缓存框架 ehcache 4.代码编辑器,在线模版编辑,仿开发工具编辑器...并保留生成记录模版,可复用 (超强悍开发利器) 正向生成: 生成完整的模块,html页面、处理类、mapper层、service层、myabaits的xml 建表的sql脚本等 反向生成: 任意连接其它数据库...数据库备份:可备份单表(sqlserver不支持)、整库,支持本地和远程备份(java界面编程技术,socket编程技术) 20....备份定时器:quartz 强大的任务调度,多线程备份数据库,任务启动关闭异步操作 21. 数据库还原:历史备份记录,还原数据库 or 单表(sqlserver不支持),统计备份时间和文件大小 22.

    1.5K20

    JAVA oa 系统模块设计方案

    树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面、建表sql脚本、处理类、service等完整模块 2.多数据源:(支持同时连接无数个数据库...,可以不同的模块连接不同数的据库)支持N个数据源 3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限), 缓存框架 ehcache 4.代码编辑器,在线模版编辑,仿开发工具编辑器...数据库备份:可备份单表(sqlserver不支持)、整库,支持本地和远程备份(java界面编程技术,socket编程技术) 20....备份定时器:quartz 强大的任务调度,多线程备份数据库,任务启动关闭异步操作 21....数据库还原:历史备份记录,还原数据库 or 单表(sqlserver不支持),统计备份时间和文件大小 22.

    1.5K10
    领券