2012.4.16 微博热报:Web 开发新趋势、11 个数据库设计规则

阅读数:4860 2012 年 4 月 16 日 00:53

专注于 HTML5 领域的开发者 @尤小右在其微博中谈到了最近 Web 开发的几个思想趋势,包括全部 JavaScript 化、自动实时同步等。另外在 @开源中国 的微博上谈到了 11 个重要的数据库设计规则,包括弄清楚开发的应用程序是 OLTP 还是 OPAP、把重复和不统一的数据当成最大的敌人等。

现在身居美国,也是在两天内用 HTML5 实现 Clear 大部分功能的 @尤小右,在自己的微博上提到“Web 开发的几个思想趋势:1. 全部 JavaScript;2. 前后端打通,或者后端完全抽象化;3. 自动实时同步。近来值得关注的例子有 Meteor.js、Derby.js、Firebase(backend-as-a-service),以及 Yahoo 前段时间开源的 Mojito。另外还可以参考 Asana 的 Lunascript。”

也有一些朋友提出了反对意见, @limodou

如果是 JavaScript 的天下我倒是不这么想。因为 Web 开发可不只是前端,像后端也未必就要 JS 一统天下。Web 开发的概念还是很广的。以 Node.js 为代表的新兴开发模式的确很 Cool,不过别的语言或框架未必就不行,特别是对一些传统的业务模式。如果把它们的一些好的想法在其它框架实现也不错。

@黄智 KG 则提到 JavaScript 繁荣背后,可能带来的混乱现象

如何规范化 JavaScript 开发很重要啊,JavaScript 这两年出现很多多框架和库,大有前几年服务端 MVC 框架井喷之势。但繁荣的同时,这么多轮子,就显得有点混乱了,这么多框架,谁能成为类似 JQuery 在 DOM 操作领域一样的江湖地位呢?

@开源中国在他们的官方微博上发布了一个针对数据库设计相关的内容,提到了“ 11 个重要的数据库设计规则”,原作者在文章中也到自己并不是一个数据库设计领域的大师其所列出的 11 点规则,是自己在平时项目实践和阅读中学习到的经验总结出来的个人见解。他也提到这些规则对他的数据库设计提供了很大的帮助:

我之所以写下这篇这么完整的文章是因为,很多开发者一参与到数据库设计,就会很自然地把 “三范式” 当作银弹一样来使用。他们往往认为遵循这个规范就是数据库设计的唯一标准。由于这种心态,他们往往尽管一路碰壁也会坚持把项目做下去。

……这篇文章的用意不是叫大家不要遵循范式,而是叫大家不要盲目地遵循范式。根据你的项目性质和需要处理的数据类型来做出正确的选择。

文章中提到的 11 个规则包括如下:

  • 规则 1:弄清楚将要开发的应用程序是什么性质的(OLTP 还是 OPAP)?
  • 规则 2:将你的数据按照逻辑意义分成不同的块,让事情做起来更简单
  • 规则 3:不要过度使用 “规则 2”
  • 规则 4:把重复、不统一的数据当成你最大的敌人来对待
  • 规则 5:当心被分隔符分割的数据,它们违反了“字段不可再分”
  • 规则 6:当心那些仅仅部分依赖主键的列
  • 规则 7:仔细地选择派生列
  • 规则 8:如果性能是关键,不要固执地去避免冗余
  • 规则 9:多维数据是各种不同数据的聚合
  • 规则 10:将那些具有“名值表”特点的表统一起来设计
  • 规则 11:无限分级结构的数据,引用自己的主键作为外键

推荐微博 @limodou ,I'm a Pythoner。我正在开发 Uliweb ——一款 Python Web Framework


欢迎读者关注 @InfoQ 官方微博,推荐热门话题,可私信 @InfoQ ,同时请您说明推荐理由。

评论

发布