《七周七数据库》是一本遵循《七周七语言》写作风格的书籍,通过分章介绍了7种热门的开源数据库,带领读者学习和了解这些数据库。本书在简单介绍之后,通过清晰的章节安排和详细的讲解,帮助读者逐步了解不同数据库的特点和使用方法。对于想要深入学习数据库的小伙伴们,这本书是一个很好的参考资料。无论是初学者还是有一定经验的读者,都能从中获得实用的知识和技能。不仅如此,通过本书还能了解到当令最热门的开源数据库,帮助读者跟上技术的最新发展。这本书是一本有趣而实用的数据库指南,值得推荐。
七周七数据库电子书封面
读者评价
hbase/cassandra和neo4j都值得深入看看和使用。riak的N/W/R机制很有意思
科普书,提供了七种很有特点的数据库的介绍和简单使用方法,挺好的
这里PostgreSQL的cube扩展模块不是OLAP cube。而是hyper cube,高维空间查询,处理vector用的。
企业版集群是通过zookeeper做的HA,支持AP,提供了高可用性和对应密集读操作的能力,但是,这种实现机制每个instance都要有完整的图数据 All instances in the cluster have full copies of your data in their local database files 也就是说写数据只会比单机的更慢 Bulk Load : 否 分片: 否 结论: 性能不能满足大量写/更新
内容介绍
如今,我们要面对和使用的数据正在变得越来越庞大和复杂。如果说数据是新的石油。那么数据库就是油田、炼油厂、钻井和油泵。作为一名现代的软件开发者,我们需要了解数据管理的新领域,既包括rdbms,也包括nosql。
《七周七数据库》遵循《七周七语言》的写作风格和体例,带领你学习和了解当令最热门的开源数据库。在简单的介绍之后,本书分章介绍了7种数据库。这些数据库分别属于5种不同的数据库风格,但每种数据库都有自己保存数据和看待世界的方式。它们依次是postgresql、riak、apache hbase、mongodb、apache couchdb、neo4j和redis。本书将深入每一种数据库,介绍它们的优势和不足,以及如何选取一种最符合你的应用需求的数据库。
《七周七数据库》适合数据库架构师、数据库管理员,以及想要了解和学习各种nosql数据库技术的程序员阅读。本书将帮助读者了解、选择和应用这些数据库,从而更好地发挥日益增长的大数据的能力。
《七周七数据库》适用于数据库架构师、想要学习nosql数据库技术的程序员、数据库管理员。
目录
- 第1章概述1
- 第2章postgresql7
- 第3章riak48
- 第4章hbase90
- 第5章mongodb129
- 第6章couchdb170
- 第7章neo4j211
- 第8章redis254
- 第9章结束语299
- 附录a数据库概述表305
- 附录bcap定理307
当前我们各种高并发的时代下,NoSql正以大规模侵袭的状态下入侵SQL界,我们现在很普及的关系数据库如mysql、oracle、DB2、Microsoft的SQL Server等 而我们的Nosql 有MongoDB(文档)、Redis(内容缓存)、Neo4J(图形)等数据库。 首先来说我们的关系型数据库,既然称为关系型数据库,肯定围绕关系二字,即建立在关系型模型基础上的数据库,借助集合代数数学概念方法处理的数据,那什么事关系模型呢?关系模型是指代一个二维表格模型(就是一张二维表Table,简称他为表,由行和列组成),表的每一行视为一个元组(即记录),每一列视为一个属性(字段),就是我们的普通数据库了,如mysql,如图 一个元组中有一个标识此组的属性字段,成为关键字,就是我们的主键,还有一个最重要的名为关系,每个关系都有一个类似的关系名,就是我们俗称的表名,知道了这些,那么关系模式就好懂了,关系名(属性1,属性2.....)就是我们的关系模式,也称为表结构了 说了这么多,那么关系型数据库有什么优点呢 1)易理解:二维的数据表很贴近我们的逻辑,层次等很容易使我们理解,比如我们看表结构很轻松的就看懂了 2)通用SQL:关系数据库的sql语言都大同小异,我们使用起来很方便 3)成熟性:关系型数据库发展多年,bug、事务等方面做的很完善 NoSql: 在互联网2.0时代的来临,我们的传统数据库显出了不足,尤其是对大规模和高并发的方案,而此时,非关系型数据库出现,并且得到了迅速发展,非关系型数据库很好理解,而且分为四大类: 1 Key-Value型,如我们的Redis,主要用来处理大数据和缓存等 2 列存储型,有Cassandra, HBase,用来做分布式的文件系统居多 3 文档型,时下很出名的MongoDB就是文档型,其实文档型与key-value型类似,只不过他的value变成了结构化而已 4 图形数据库,Neo4J,常用于及时通信等 Nosql之所以推广如此迅速,离不开他的简单部署(只需简单压缩,配置路径就可以),开源免费,结构简单以及试用的场景(适用于高并发),nosql数据常存储在缓存中,当然持久化也可以,相对于关系型数据库从硬盘读取文件来说,速度会更快 当然,nosql也有不足,因为nosql发展迅速,不成熟,相应的文档和参考资料要少。nosql没有sql语法,也没有事务化的处理。 关系型数据库和非关系型数据库都是为了适应更好的场景而生,没有谁比谁更好,只要满足满足于我们的生产环境,它就是更好的。
关系型数据库的优缺点 关系型数据库优势: 1)保持数据的一致性; 2)由于以标准为前提,数据更新的开销小(相同的字段基本都是只有一处); 3)可以进行join等复杂查询; 4)存在很多实际成果和专业技术信息(成熟的技术)。 不擅长的处理 : 1)大量数据的写入处理; 2)为有数据更新的表做索引或表结构变更; 3)字段不固定时的应用; 4)对简单查询需要快速返回结果的处理。