学习NoSQL数据库知识:
=====================================================================================================
数据量一大,必须切分,分布式存储,所以现在的Nosql数据库都是基于这些思想
=====================================================================================================
1.数据量大,单一文件系统存储不下,所以多个节点存储—-导致分布式(数据切分存储其实就是为了在多个存储上同时读取,这样速度就快了,当然了多个节点存储容量大)
2.对于用户来说基本没什么影响,对于开发人员来说也没什么,他们就认为是一单一存储—-导致需要一个中间层
3.多节点的存储文件如何通信,交互,与开发人员,客户如何通信。————–特殊的文件系统
4.为了安全,最好备份恢复,这样就有存储冗余,这样如何实现。—————–大的数据怎么切分,切分以后如何存储,如何获取查询
5.如何查询,(数据分布到多个节点,如何组织起来)
6.需要集群,怎么实现
=====================================================================================================
常见的:Mongodb,Redis等。
场景:
之前项目中有一些文档资源,比如在医院的系统中,一些病程记录文件(比如术前讨论,主任查房记录,首次病程记录,日常病程记录),这些文件一般没有存储在数据库里面,一班存储在FTP服务器里面,数据库里面存储FTP文件路径,就是索引数据库。
但是如果文件有许多,数据非常大,这时候文件服务器中检索文件不是很容易,这时候我们就要使用分布式的文件系统进行文件存储,这可以备份,容灾,高可用,对于这种场景,我们可以采取Nosql数据对这些文件进行存储。
这样我们就可以把我们的文件(图片资源,视频资源,文档资源)存储到数据库,使用时我们可以采用SQL进行查询,相比文件需要,他查询,安全性好,具有事物能力,快照机制
(本质就是读取日志文件构造数据)。
背景知识:
文件系统:通过文件系统,我们可以对磁盘进行操作,但是目前的文件系统比较多,每个文件系统的实现机制都是不一样,都有不同的使用场景。个人觉得可以这么理解,文件系统就是硬盘的软件模拟,解决文件如何存储,如何检索(重点),常见的有NFS,FAT32,NTFS,HDFS,GridFS文件系统。
=====================================================================================================
1.去年听见一个人说,对于文件存储采取的是MongDB
2.来到北京,再次听说,对于数据量很的的分析,他们采取的也是Mongdb
所以,下来又想学习一下这个Nosql数据库。
=====================================================================================================
文件系统:
在以前仅仅在操作系统里面接触到文件系统,了解文件系统是对存储器进行管理的软件,比如存取,文件的索引(文件如何快速的查找),文件的删除以及文件的修改操作,文件数据到磁盘上的物理存储快如何关联起来这些东西,最近学习数据库以及一些NoSQL数据库,发现他们都是特制的文件系统。
文件系统=就是软件和存储之间的纽带,所以单一存储的文件系统可能和多存储的文件系统不一致,所以需要定制这样的文件系统,这样文件的访问,存储才可以对于我们开发人员来说可以。
=====================================================================================================
感悟:
数据量一大的话,单一的存储可能速度慢,同时也没有足够大的空间,即使有足够的空间,多个并发操作对单一存储效率也不高,所以就应该做存储的集群,这样数据被分割存储在不同的未知,同时数据有备份,多个线程并发效率也高,但是这样读取可能麻烦一样,因此需要特殊的文件系统。所以出现了DFS,GridFS,NFS等文件系统。所以为了提高并发与分布式场景的业务,多数系统采用自己的文件系统(一种更高级别的文件封装)进行处理,支持rollback操作,事物机制,感觉更像数据库,更加安全,对于事务,恢复有更高的要求。
=====================================================================================================