IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

数据库使用的规划

ywdblog 2010-04-19 12:42:46 累计浏览 2,231 次
本机暂存

    最近要做2010年的技术规划,对于数据库的整理如下:

数据库

1)   数据库物理的分布和可扩展

目前通过数据库的主/从配置, sharding(分库/分表机制)已经做到slave数据库的分布式应用.对于master库还没有做到可扩展及分布.

2)    数据库延迟问题

根据cap原理,数据只要最终一致即可.数据库延迟需要通过设计去解决.

目前的问题:

a:假如数据库延迟,则读取到的数据为脏数据,而且没有延期更新机制.

b:对于应用来说,无法知道数据库有没有延迟.

3)   数据库的服务对象

a:数据库只做存储用,尽量不涉及业务层的逻辑关系.比如冷热数据的分离属于业务层

b:数据库使用它的关系组织,即未来提供index+content的设计模式.

对于内容来说,可以使用一些非关系型数据库(比如no-sql中的mdb/mongodb)

对于索引:可以通过关系表的建立来解决,也可通过数据库的索引来解决.

4)   数据库的应用设计

a:博客核心数据库的应用设计要可扩展:

不会因为产品需求的变动,导致较大的DDL操作.

不会因为产品需求的变动导致数据库操作关联耦合度较大.

b:博客数据库的抽象和规整

根据博客产品的特点,规整数据库服务体,比如核心库就只有用户库,用户属性库,文章库,评论库.

非核心数据库要应用和运维提供一种统一的服务模式

5)   数据库的指标

a:数据库的容量扩大不是数据库变慢的原因,说明数据库做了不该做的业务

b:假如数据库的查询量上升,而数据库本身没有做到可扩展,那不是设计的问题,需要数据库管理员来解决

6)    数据库本地写/队列复制模式

数据库一般提供关系数据(比如列表和排列)和单内容体数据(无需排序,只要有实体就行)

对于简单的单内容体数据,通过本地临时写(比如cache),队列复制的模式(直接写到master数据库,master主辅同步机制).

对于列表数据,在数据库数据顺序上可能会有问题.

7)   数据库的容灾策略

同分类推荐文章

  1. 使用deepseek进行Oracle恢复,引起重大故障 (2026-06-22 10:56:00)
  2. 接手一个只差临门一脚的数据库恢复 (2026-06-18 00:13:09)
  3. 我做了一个 AI 版的 StarRocks 升级风险扫描工具,直接帮我定位到一个风险 (2026-06-15 01:00:00)

查看更多 数据库 文章 →

建议继续学习

  1. ZooKeeper典型使用场景一览 (累计阅读 6,561)
  2. MySQL 5.6 测试之 Replication(主从复制) (累计阅读 6,269)
  3. 冷热数据 (累计阅读 5,678)
  4. MySQL使用为什么要分库分表 (累计阅读 5,395)
  5. DYNAMO平台的独门绝技: 利用NWR模型与vector clock解决锁问题 (累计阅读 5,350)
  6. MySQL复制的概述、安装、故障、技巧、工具 (累计阅读 4,402)
  7. mysql主从热备配置(含innodb)终极版 (累计阅读 3,954)
  8. 多IDC的数据分布设计(二) (累计阅读 3,794)
  9. MySQL闪回方案讨论及实现 (累计阅读 3,260)
  10. 订单号的生成规则 (累计阅读 3,121)