七周七数据库-读书笔记1
来源:互联网 发布:创建网络连接快捷方式 编辑:程序博客网 时间:2024/06/11 04:17
数据库按类型可分为关系型,键-值型,多列型,面向文档型和图型。
关系数据库管理系统(RDBMS)是以集合理论为基础的系统,实现为具和列的二维表。与它打交道使用结构化查询语言(SQL)。数据值具有类型,可以是数字、字符串、日期、未解释的二进制大对象,或其它类型。这种表结构可以联接并转化为新的、更复杂的表,因为它们的数学基础士关系(集合)理论。常用的开源数据库有MySQL,PostgreSQL,H2,HSQLDB,SQLite等。
键-值(Key-Value,KV)数据库是最简单的模型。KV数据库将键与值配对,类似于编程语言里的映射(或哈希表)。某些KV实现允许复杂的值类型,如哈希或者列表。。一些 KV 实现提供了一种迭代遍历键的方式,但这也是额外的好处。如果你将文件的路径视为键而将文件内容作为值,文件系统也可以看成是键-值存储库。KV存储库对资源的要求就非常少,有时候有极高的性能,但是当涉及到复杂的查询和聚合需求时,一般不会有帮助。常用的数据库有memcached(及相关的memcachedb和membase),Voldemort,Redis和Riak。
列型(面向列的)数据库的命名源自于其设计的一个重要方面,即来自一个给定的(在二维表的意义上)的数据存放在一起。在面向列的数据库中,添加列是相当简易的,而且是逐行完成的。每一行可以有一组不同的列,或完全没有,允许表保持稀疏(sparse),而不会产生空值的存储成本。在结构方面,列型数据库大约介于关系数据库和键-值存储库之间。在列型数据库市场中,竞争相比关系数据库或键-值存储较少。三种最流行的产品是HBase,Cassandra和Hypertable。
面向文档的数据库存储的就是文档。简而言之,文档就像是哈希,具有一个独一无二的标示符(ID)字段和值,值可能是任何类型,包括更多的哈希。文档可以包含嵌套的结构,因此,它们表现出了高度的灵活性,允许有可变域。该系统对输入的数据很少有限制,只要它满足基本要求,可以表示为一个文档。在建索引、自由定义的查询,复制、一致性及其他设计决策等方面,不同的文档数据库采取了不同的方法。需要了解这些差异,及其对特定使用场景的影响,才能在它们之间做出明智地选择。文档数据库市场中的两大开源产品是MongoDB和CouchDB。
图数据库是一种不太常用的数据库类型,图数据库善于处理高度互联的数据。图数据库包含节点及节点之间的关系。节点和关系可以有一些属性(一些键-值对),用来存储数据。图数据库的真正实力是按照关系遍历节点。现在最流行的图数据库Neo4j。
- 七周七数据库-读书笔记1
- 学校时的分布式数据库读书笔记(1)
- 读书笔记(1)---ADO.NET与数据库
- 数据库管理系统--读书笔记(1)
- 数据库基本概念-《数据库系统概论 王珊》读书笔记1
- [读书笔记] 数据库设计基础
- 读书笔记 《海量数据库解决方案》
- 读书笔记(4) 数据库
- MongoDB数据库读书笔记
- [读书笔记]数据库-初识MongoDB
- 数据库系统概述读书笔记
- 数据库系统概念读书笔记(1)——引言
- NOSQL数据库读书笔记(基础知识)
- 数据库系统概念-读书笔记-大纲
- 读书笔记:MySQL数据库 数据类型优化
- 读书笔记:Oracle数据库之【分区】
- 读书笔记1
- 读书笔记1
- 九度oj-1020-最小长方形
- 【HDU 1890】Robotic Sort(Splay)
- pico与nano文本编辑器的使用方法
- 塞尔维亚胜法国进决赛 巴图姆砍35分狂飚8三分
- GoF23种设计模式
- 七周七数据库-读书笔记1
- CHM文件出现的常见错误及解决办法
- 的感情和国外的情感和违法
- Maven Nexus配置
- matlab中fft的简单应用
- 设计模式之-命令模式(Command Pattern)
- 红黑树创建
- UVA10382
- python爬虫