NoSQL入门学习
来源:互联网 发布:linux jdk版本降级 编辑:程序博客网 时间:2024/06/04 16:21
前段时间简单学习了一下NoSQL的基础入门,对面向列的数据库(columnar database)尤其有兴趣,稍作整理,如下。
普通的关系型数据库(RDBMS)都是以行为单位来存储数据的,擅长进行以行为单位的读入处理,最简单最常见的就是特定条件数据的获取。某一个体(一条记录)的一行数据,会记录和该个体的各项属性值,因此,关系型数据库也被成为面向行的数据库(MySQL, Oracle等);但是,面向列的数据库是以列为单位来存储数据的,擅长以(竖)列为单位读入数据。值得一提的是这里说的“面向行”、“面向列”并不仅仅是想象中的一个二维表格,一个横向,一个纵向。如图
这里的行和列是对于存储上来说,上面两个表中的数据,都得由数据库把这个二维表存储到一系列一维的“字节”中,再由操作系统写到内存或硬盘中。
行式数据库把一行中的数据值串在一起存储起来,然后再存储下一行的数据,依次类推。
1,张三,男,252,李四,女,263,王五,女,25
列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。
<pre name="code" class="html">
1,2,3张三,李四,王五男,女,女25,26,25
尽管这样看起来可能第一堆数据还能直观的表现出一些意义,但是第二堆数据就显得杂乱五脏了;不过没有关系,这样的一堆不是给我们看的,只要我们的硬盘能识别就OK~ 列式数据库数据的存储是按照列进行的,每一列单独存放,数据即是索引,因此也就很明显在单独查询某一列做筛选时,只访问查询涉及的列,大大降低了系统的I/O,列式数据库便可以更迅速的查询数据,优势也凸显出来。
行式数据库数据按记录存储,如果要查询一条记录的某一个属性值,需要先读取整条记录的数据,没有索引的查询更会耗费大玲的I/O,建索引或聚合表需要花费大量的时间和资源,真遇到这样的需求,数据库必须被大量膨胀才能满足性能要求。
0 0
- NoSQL入门学习
- 《NoSQL入门》关于NoSQL
- 01-NoSql入门和概述学习笔记
- Nosql入门
- NoSQL入门
- NoSQL学习
- NOSQL学习
- 学习NoSQL
- Nosql学习
- nosql 学习
- NoSql数据库MongoDB学习(三)MongoDB入门
- 学习Redis第一课(Nosql入门和概述)
- Nosql入门知识
- NoSQL入门文章推荐
- MongoDB(NoSQL) 入门
- Nosql入门知识
- NoSQL数据库入门
- [NOSQL] Memcache入门
- 第二章第十一题
- sizeof详解,与strlen区别
- 查看服务是否启动以及杀掉进程,再启动进程的小技巧
- C++Primer新笔记之----容器和算法
- oracle中使用物化视图实现表的同步
- NoSQL入门学习
- layoutsubviews什么时候会被调用
- 数据结构之栈的基本操作
- 分页技术
- 搞技术还是要扎扎实实
- ASP在 Web.config 中创建数据库连接字符串
- 【spring框架】AOP的XML实现(必须掌握)
- android 彻底退出应用程序在不同API下需要调用的方法
- !POJ 2488 dfs--按顺序搜索