选择一个SQL数据库正确的原因
每一种技术都有它的优点和缺点,现在我们看看为什么SQL几乎是每个web应用程序的正确选择。
1. 生态系统
你不能击败SQL的生态系统。SQL是自1974就存在的一种语言,时间超过40年。背后有大量的工具和服务。
SQL在世界各地每一个计算机学院教授。所有的云提供商提供SQL数据库作为一种服务,你可以零付出使用(例如Amazon的RDS,谷歌云SQL和SQL Azure数据库)
这可能听起来不是很重要,但软件的进步和演化有一个基础理念,不重复发明轮子,使用他人提供的解决方案解决常见问题的。
2. 事务和ACID
SQL提网站生产运行的可靠保障。这是因为在市场上几乎每一个SQL解决方案都可以组合你多个SQL查询变成一个ACID单元,这称为事务。
在实践中,这意味着你可以在你的数据库组合多个改变为一个事务,你可以提交确认和回滚,这些能够保证你交易的原子性,一致性,隔离和耐久性。
简单的说;SQL你可以100%保证意图确切反映到数据库中。
3. 存储
SQL数据库系统为生产应用中非常重要的另一个重要的“特征”是:它可以节省您的存储。
此功能是免费的,因为SQL需要预定义的表结构(schema)才能存储数据。这允许磁盘只能存储每行的列内容。相反,NoSQL解决方案必须存储整个文件(所有的键和值)在磁盘上,因为没有预先定义的存储结构文件。
随着数据集的增长,问题变得更大,你会很容易有许多 NoSQL的GB级别数据,如果在SQL数据库系统可能用不到一半。
结论
本文不是对NoSQL数据存储的否定。市场上最著名的NoSQL数据存储都是伟大的解决方案,都是为生产环境Web应用准备的。
Redis可能是唯一的一个特殊NoSQL数据存储,它没有试图要求从SQL数据库迁移出来,这就是为什么它受到普遍赞扬且能繁荣发展的原因。
Choose SQL
来源: http://www.jdon.com/48784