开发者社区> 异步社区> 正文

《七周七数据库》一一2.5 总结

简介:
+关注继续查看

本节书摘来自异步社区出版社《七周七数据库》一书中的第2章,第2.节,作者: 【美】Eric Redmond,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.5 总结

七周七数据库
如果你没有接触过太多关系数据库的话,在决定放弃它而采用新类型的数据库之前,我们强烈建议更深入地学习PostgreSQL,或其他关系数据库。在过去的40多年里,关系数据库是大量学术研究和业界改进的重点,PostgreSQL是受益于这些进步的顶级开源关系数据库之一。

2.5.1 PostgreSQL的优点
和所有关系模型一样,PostgreSQL的优势很多:多年的研究,几乎每个计算领域的实践使用,灵活的查询能力,非常一致和持久的数据。在大多数编程语言中,都有经过实战考验的Postgres驱动程序。许多编程模型,如对象关系映射(Object-Relational Mapping,ORM),假定依赖关系数据库存储。问题的关键是联接带来的灵活性。你不必知道如何针对模型进行查询,因为你总是可以执行一些联接、过滤、视图和索引,很可能总有办法提取想要的数据。

PostgreSQL很适用于“Stepford数据”(命名来自《贤妻》(The Stepford Wives),一个关于邻里的故事,在那里几乎每个人都保持风格和内容的一致),即数据同质,且数据很好遵从于结构化的数据定义。

此外,PostgreSQL还提供一般的开源RDBMS产品没有的功能,例如,提供强大的约束机制。你可以写自己的语言扩展,自定义索引,创建自定义的数据类型,甚至重写对传入查询的解析。另外,其他的开源数据库可能有复杂的许可协议,但PostgreSQL采用的是最纯粹的开源方式。没有任何人拥有代码,任何人都可以对该项目做他们希望的任何事情(追究作者的责任除外)。开发和发布完全是社区支持的,如果你是一个自由软件的忠实支持者,或者有很长的浓密的胡子,你应该尊重他们,他们拒绝通过一个了不起的产品赚钱。

image

2.5.2 PostgreSQL的缺点

关系数据库是多年来最成功的数据库类型,尽管这一点无可否认,但在某些情况下,它可能不是非常适合。

对于PostgreSQL这样的关系数据库来说,分区不是强项。如果需要水平扩展而不是垂直扩展(多个并行的数据库而不是单个强大的机器或集群),可能最好寻找别的解决方案。如果数据要求过于灵活,不是很容易融入关系数据库严格的数据模式要求,或者不需要一个完整的数据库功能带来的开销,需要进行非常大量的键值对读写操作,或只需要存储二进制大对象数据,那么其他的数据存储技术可能更好。

2.5.3 结束语

关系数据库对于灵活查询是一个很好的选择。虽然PostgreSQL需要提前设计数据,但它不假设如何使用这些数据。只要数据模式设计相当规范,没有数据重复并且不存储可被计算出来的值,基本上就准备可以应付所有可能需要的查询。如果使用了合适的模块,调优好,建好索引,它只需消耗很少的资源就能惊人地处理几个TB的数据。最后,对于极度重视数据安全的人来说,PostgreSQL的事务符合ACID,确保你的提交是完全原子的、一致的、隔离的和持久的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库静默安装总结
在学习数据库的时候,不知道dbca的命令用了多少遍,但是越是安装也是觉得自己会的越少,因为图形界面的清晰直白反而不知道哪些准备工作是需要特别准备的,如果在远程支持的环境中,图形界面就会受到网络带宽的影响,如果在本地的环境中学习的时候,总是提示少这个包,那个包的。
883 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
30121 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
21206 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23629 0
冬季实战营第三期:MySQL数据库进阶实战学习总结
冬季实战营第三期:MySQL数据库进阶实战学习总结
51 0
数据库技术:关系型数据库设计总结
关系型数据库简介 关系数据库由由埃德加·科德(IBM)在1969年左右提出。自推出后就成为商业应用的主要数据库模型(与其他数据库模型,如分级、网络或对象模型相比)。
1155 0
近期处理的Oracle数据库问题总结
最近帮一些朋友处理了一些Oracle的问题,也从中发现了一些潜在的问题,索性总结出来作为借鉴。为了保证信息的敏感,里面的问题描述可能和真实情况不符,但是问题的处理方式是真实的。
1281 0
mysql 数据库导入\导出(总结备忘)
<div style="font-family:'lucida Grande',Verdana,'Microsoft YaHei'; font-size:14px; line-height:23.8px"> <div class="showContent" style="padding:0px; margin:20px 15px 8px; line-height:2; border-bo
3815 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载