zoukankan      html  css  js  c++  java
  • 系统设计2:数据库设计

    阅读材料:

    unique key

    https://en.wikipedia.org/wiki/Unique_key#Defining_primary_keys

    增删改查

    https://en.wikipedia.org/wiki/Create,_read,_update_and_delete

    如何存储密码

    http://zhuoqiang.me/password-storage-and-python-example.html

    https://www.zhihu.com/question/20479856

    session

    http://fred-zone.blogspot.com/2014/01/web-session.html

    http://machinesaredigging.com/2013/10/29/how-does-a-web-session-work/

    http://blog.csdn.net/fangaoxin/article/details/6952954

    继承

    http://c.biancheng.net/cpp/biancheng/view/90.html

    https://www.go4expert.com/articles/inheritance-cpp-vs-java-t22245/

    https://www.codeproject.com/articles/772238/diving-in-oop-polymorphism-and-inheritance-part

    事务

    http://karenten10-blog.logdown.com/posts/192629-database-transaction-1-acid

    http://coolshell.cn/articles/10910.html

    https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying

    ACID

    http://in355hz.iteye.com/blog/2029963

    http://blog.csdn.net/duxingxia356/article/details/43992015

    设计一个用户系统

    1. 场景
      • 注册/修改/删除账号
      • 登陆登出
        • session过期:
          • session标记用户和服务器的会话
          • 用户使用多个连接时有多个session
          • 客户端保持session id
          • 有服务就有session,不一定要登录
          • 记住登录7天->session过期
          • 删除检查:lazy策略
      • 余额/VIP
    2. 约束
      • 总用户:100000000
      • 日活:1000000
      • 预测三个月后日活:1000000*2
      • 注册率:1%
      • 注册人数:20000
      • 登录频率:15%
      • 平均登录次数:1.2
      • 日登陆次数:1000000*15%*1.2 = 360000
      • 平均登录时间频率:360000/86400=4.2/s
      • 正常登录频率:8.4/s
      • 峰值登录频率:8.4*5=42/s
    3. 应用
      • 代理
      • 账户服务
    4. 数据
      • uid //unique 
      • name
      • pwd //密文,防拖库。SHA1 MD5 单向不可逆
      • 伪删除标志位
      • session list //分离成为单独的表
      • 索引
        • hash:不支持range查询
        • B+树:支持range,磁盘友好,b叉树
      • 增删改查操作
      • 用户状态机
      • 定长:数据对齐,空间浪费

    支付系统

    • 数据
      • uid
      • money
      • vip expire time
      • 充值
      • 买东西
      • 问题1:崩溃导致不一致->事务transaction
      • 问题2:重复用户、影子用户->外键/检查器
      • 问题3:并发导致数据不一致->读写锁(事务?)
      • 问题4:蓝屏问题:复制、热备份
        • 逻辑视图与物理视图:多机备份

    ACID

    • 原子性
    • 一致性
    • 隔离性
    • 持久性

     作业:http://www.jiuzhang.com/qa/88/

  • 相关阅读:
    HDU1029 Ignatius and the Princess IV
    UVA11039 Building designing【排序】
    UVA11039 Building designing【排序】
    POJ3278 HDU2717 Catch That Cow
    POJ3278 HDU2717 Catch That Cow
    POJ1338 Ugly Numbers(解法二)
    POJ1338 Ugly Numbers(解法二)
    UVA532 Dungeon Master
    UVA532 Dungeon Master
    POJ1915 Knight Moves
  • 原文地址:https://www.cnblogs.com/zcy-backend/p/6685063.html
Copyright © 2011-2022 走看看