您的位置:首页 > 数据库

数据库的需求---TOP100个好案例启示

2017-03-13 18:53 190 查看
参加2012年Top100个好案例大会,与嘉宾交流,小记一点和数据库相关内容:

问题1:互联网企业,对于数据库的最大需求是什么?
答:新浪、京东认为:数据库可自动分库、分表
 
问题2:新浪对于数据库还有什么认识?
答:
(一)数据库的隔离性要好才可用。(潜台词:怎么在有限的资源上最大化数据库的应用且不同用户间不互相影响
隔离性做好(用户的应用在一个库中,如何在cpu、内存、IO等资源上隔离)
原因:新浪使用数据库,可能存在三种方式
 
方式一
方式二
方式三
图示

 

 

 
使用方式描述
物理机上可虚拟的虚机个数有限;虚机上跑一个DB,可以做到用户的应用隔离,这样,DB个数总是有限,即服务能力变小
物理机上跑同样个数的虚机;但虚机上跑多个DB;这样,有更多的DB可以对外提供服务;DB间的应用要互不影响
物理机上可虚拟的虚机个数有限;虚机上跑一个DB;对于用户的应用,通过中间层,实现用户隔离;新浪提出一项专利技术:“并发执行时间和”,大意是:为用户分配一个资源使用的总时间,在一个时间段内,如果以前的使用达到了总时间限制,则禁用新的访问,这项功能通过在中间层控制,降低用户应用互相影响,从而可以在单虚机上的单数据库中支持多用户应用。
选择
放弃:资源利用率低
放弃:在开源的数据库上修改有技术难度
选取:能够满足业务需求
启发:
1)        云数据库,是否应该实现第二种方式,从而降低使用者的技术门槛,使得其能更好得专注于其业务? 2)        PostgreSQL的数据库,天然有“schema”的概念,且可以在一个物理机上启动多个实例。这样,PG天然有方式二的基础;但PG需要做的,是“如何实现同一个实例中多个用户的应用互不影响”和“如何利用操作系统实现同一个OS上进程对资源的使用有序有节制”?从数据库内部入手考虑这2个问题,其实就是数据库进程(线程)对于资源使用如何主动受限制。 3)         对于资源的限制,粗略分为CPU受限、内存受限、IO受限、存储受限;PG的表空间功能,已经能够做到存储受限(Tables, indexes, and entire databases can be assigned to particular tablespaces),这是个优势;考虑其他受限,是否就能做到资源受限(其实,这不是一个新话题,在中国的数据库安全标准中安全四级中即要求资源受限且有预警处理,所以,这是一个有现实应用的可实现的产品方向)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: