AICon全球人工智能与机器学习技术大会8折特惠,购票立减¥960! 了解详情
写点什么

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

2012 年 4 月 16 日

专注于 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 ,同时请您说明推荐理由。

2012 年 4 月 16 日 00:534998

评论

发布
暂无评论
发现更多内容

Linux之cp命令

入门小站

Linux

WICC 2021来袭 融云领衔探索互联网通信云技术新方向

融云 RongCloud

Android快速转战Kotlin教程,附详细答案

欢喜学安卓

android 程序员 面试 移动开发

这是一场按下播放键就停不下来的冒险

脑极体

在线URL转sitemap工具

入门小站

Linux

我用来阻止你摸鱼看直播、知乎和微博的Chrome插件

OBKoro1

chrome 效率工具 前端 工作效率 chrome扩展

一步一步实现 Vue 3 Reactivity

pingan8787

JavaScript Vue 响应式 Vue 3

Rust从0到1-自动化测试-运行测试

rust 自动化测试 Automated Tests 运行测试

怎么办,linux的常用命令就是记不住?于是每天推一些linux指令实践总结

我是阿沐

操作系统 大厂面试 linux运维

听说一代数据库大侠都是这样练成的?

华为云数据库小助手

数据库 GaussDB 华为云数据库

电梯“惊魂”事故频频发生,可视化全平台覆盖,远程值守高效监控

一只数据鲸鱼

数据可视化 智慧城市 智慧园区 智慧电梯

真的了解 HDFS 的 SecondaryNameNode 是干什么的?

云祁

react源码解析20.总结&第一章的面试题解答

全栈潇晨

React

英特尔拥抱开源,岂能没有杀手锏?

新闻科技资讯

自动驾驶产业进入“两条腿”时代:车路协同的中国式飞跃

脑极体

好忙

IT蜗壳-Tango

6 月日更

基于朴素ML思想的协同过滤算法(十七)

数据与智能

推荐算法

云小课 | MRS基础入门之HDFS组件介绍

华为云开发者社区

hadoop hdfs 分布式文件系统 MapReduce服务 数据读写

ECMAScript 2021 (ES12)通过,正式写入 ECMAScript 标准

清秋

ecmascript 新闻资讯 ES2021 ES12 标准

oneAPI开启新征程 英特尔拥抱开源打造软件生态

新闻科技资讯

JavaScript 学习(八)

空城机

JavaScript 前端 6月日更

大白话彻底搞懂 HBase Rowkey 设计和实现方式

云祁

大数据 HBase

华为云数据库GaussDB(for Cassandra)揭秘:内存异常增长的排查经历

华为云开发者社区

nosql 云原生 Cassandra 华为云数据库 GaussDB(for Cassandra)

这是一场按下播放键就停不下来的冒险

白洞计划

今天带你详细了解各组件原理!面试建议

欢喜学安卓

android 程序员 面试 移动开发

什么是SSD Sanitize数据擦除技术?

怀瑾握瑜

存储 SSD 数据保护 备份 删除

用超出行业平均薪资招人?

石云升

职场经验 管理经验 6月日更

数据仓库常见建模方法与大数据领域建模实例综述

云祁

数据仓库 数据建模 维度建模

深入了解JAVA线程篇

邱学喆

线程 线程池 线程间通信 线程回调

云管理平台建设,这项功能必不可缺 ↓

BoCloud博云

云管理平台

JAVA 面向对象 (十二)-- 关键字this

加百利

Java 关键字 this 6 月日更

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