返回信息流数据库表设计要考虑哪些因素,比如一个表一般多少列合适?
另外现在似乎有很多数据库表的设计都是倾向于<id, value>的形式,这个有什么讲究吗?听别人说因为有些数据库太大需要分库,设计成<id, value>的形式利于分布式查询。
这是一条镜像帖。来源:北邮人论坛 / database / #5668同步于 2011/6/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
数据库表设计要考虑哪些因素
FadeToBlack
2011/6/4镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
首先要确定用户的需求,也许并没有“分布式查询”的需求
一般的关系数据库表还是按照数据库范式设计吧,根据需求选择合适的范式
至于使用key-value结构,应该也是当前一些网站对于高并发、高性能的数据库解决方案的需求,如“Cassandra使用了Google BigTable的数据模型,与面向行的传统的关系型数据库不同,这是一种面向列的数据库,列被组织成为列族(Column Family),在数据库中增加一列非常方便。对于搜索和一般的结构化数据存储,这个结构足够丰富和有效。”
【 在 FadeToBlack 的大作中提到: 】
: 数据库表设计要考虑哪些因素,比如一个表一般多少列合适?
: 另外现在似乎有很多数据库表的设计都是倾向于<id, value>的形式,这个有什么讲究吗?听别人说因为有些数据库太大需要分库,设计成<id, value>的形式利于分布式查询。
: --
: ...................
关系数据库一般还是根据业务需求,按范式设计,某些高并发网站为了减轻数据库联表查询压力,会数据冗余,反范式设计。
分库分表也很少用到那种多表映射查询,一般也就是垂直、水平分加上数据库集群等。
至于你说的<key,value>设计是基于目前的BerkyDB,MongoDB等文档数据库。