作者: Fenng | 可以转载, 转载时务必以超链接形式标明文章原始出处和作者信息及版权声明
网址: [url]http://www.dbanotes.net/database/mysql_comment.html [/url]
前两天在上海参加技术研讨,讨论了关于 MySQL 的一些面向企业级应用的思路,今天和几位同事开会,也谈及了能否用 MySQL 替代当前 Oracle 的问题。干脆整理一下思路,算是做个备忘。
首先说明一点的是,我不是说 MySQL 没有大企业级的应用,事实上,可以看到越来越多的成功布署 MySQL 的应用,但是,还不够多,还有许多大企业的关键应用还不敢用 MySQL。或许这篇小文能和大家一起探讨一些比较"虚"的东西。
存储引擎
由于 MySQL 自己一直没有一个成熟可靠的存储引擎,估计这让他们深感痛处(尤其是目前最成熟的事务型引擎 InnoDB 又在 Oracle 手里)。MySQL 寄予厚望的 Falcon 在开发了两年多之后,建树不大,而该项目带头人 Jim Starkey 前不久又离开了 MySQL,陋屋偏逢连夜雨。
Sun 会给 MySQL 一个稳健的引擎么? 我看短时间内未必能达到。除非,Sun 从 Oracle 手里把 InnoDB 买回来。
如果进行大企业级应用,考虑到引擎本身的稳定性,似乎可选的也只有 InnoDB 了,但 InnoDB 的备份工具又是收费的。至于 MyISAM ,尽管有人的确喜欢用,但对于并发能力要求稍微严格一点,MyISAM 根本不行。
在线 DDL 锁表问题
MySQL 中,在线对表对象做 DDL 操作是要锁表的,对于可用性要求比较高,而应用变化又比较频繁的环境,这是个非常很糟糕瓶颈。没想到有什么好的办法,除非,像大家开玩笑说的,把所有的表都预留出足够的空闲列,减少类似增加列的变更麻烦。
这个 MySQL 天生的缺陷在 PostgreSQL 中是不存在的,比如创建索引,可以用CREATE INDEX CONCURRENTLY 的方式来减小影响。(MySQL 后续的版本中在逐渐改善这个问题:添加了 ONLINE 关键字)
这个看似是个小问题,但实际上却是对很多人最为困扰的。
在线备份问题
谢天谢地,MySQL 6.0 后终于具备在线备份的能力了。但现在,恐怕比较激进的用户也只能用版本 5 而已。
很多 MySQL 资深用户能够根据自己应用的特点布署适合自己的备份方式(尽管可能也会有缺陷,比如基于时间点的恢复)。
至于另一个常用来衡量 DB 可扩展性的特性:分区,现在 MySQL 已经能够支持了,尽管实现的的确有点晚。而使用 MySQL 的用户,一般都采取 Sharding 的策略对数据进行切分,所以,分区的问题倒似乎并不是最为关键的。
因为是整理思路,这算是这个系列的第一篇。
分享到:
相关推荐
J2EE(Java 2 Platform, Enterprise Edition)是用于构建企业级应用的成熟框架,提供了丰富的组件和服务,保证了系统的可移植性、安全性和可重用性。MySpl(可能是MySQL的误写)将作为数据库管理系统,MyEclipse6.5...
文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用...
- Spring框架提供了一个分层架构,简化了企业级应用的开发。 4. **经济可行性**: - 利用学生身份获取免费的阿里云服务器,降低初期投入。 - 通过免费试用模式吸引用户,后续可通过在线广告等途径获得收入。 5....
文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用...
文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用...
文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用...
### 《软件工程》Look for jobs系统可行性分析 #### 一、引言 ##### 1.1 编写目的 本文旨在对“Look for jobs”系统进行全面的可行性分析,探讨该系统是否具备实施的可能性,包括经济、操作、技术、运行及社会法律...
* 可行性分析:对企业级工位管理系统的可行性进行分析和研究,了解系统的可行性和可扩展性。 五、数据库设计 企业级工位管理系统的数据库设计是指对企业级工位管理系统的数据库结构和数据模型进行设计和实现。...
文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用...
文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本企业级工位管理系统管理员和员工。管理员功能有个人中心,部门信息管理,工位信息管理,使用...
本文主要介绍了基于J2EE的在线考试系统的设计与实现,涵盖了系统的需求分析、技术可行性分析、操作可行性分析、经济可行性分析、法律可行性分析、系统性能分析、系统功能分析等方面的知识点。 Java 简介 Java是一...
Spring框架是一个开源的Java框架,提供了一个灵活的架构,能够帮助开发者快速构建企业级应用程序。SpringMVC是一个基于Java的Web应用程序框架,提供了一个强大的MVC架构,能够帮助开发者快速构建Web应用程序。...
企业级工位管理系统-企业级工位管理系统的设计与实现代码-java-springboot-基于springboot的企业级工位管理系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,...
2. **系统开发流程**:课程设计报告需要包括可行性研究、系统分析、系统设计、主要代码和主要运行界面、工作总结等部分,这涵盖了软件开发生命周期的主要阶段,如需求分析、设计、实现和测试。 3. **系统功能设计**...
企业级工位管理系统的设计与实现代码-java-springboot-基于springboot的企业级工位管理系统项目-代码-源码-项目-系统-毕设-网站 1、技术栈:java,springboot,vue,ajax,maven,mysql,MyBatisPlus等 2、系统的实现...
软件可行性分析是软件项目开发中的关键环节,旨在评估一个软件项目在技术、经济、法律和操作层面上是否可行。本文将以一个名为“通达大学生实习在线项目”的案例来阐述如何进行这样的分析。 1. **项目概述** 该...
此JAVA人事管理系统论文详细描述了一个完整的开发流程,从前期的需求分析到后期的系统实现,展现了JAVA在企业级应用中的应用实力。通过这个系统,可以有效提升企业的人力资源管理效率,同时,也为其他类似项目的开发...
5. **Spring框架**:Spring是一个全面的企业级应用开发框架,由Rod Johnson创立,以分层架构著称,允许开发者选择使用哪些组件。Spring提供了依赖注入、AOP(面向切面编程)、事务管理等功能,广泛应用于J2EE应用中...