2-了解DBMS

1.DB,DBS,DBMS的区别是什么?
    1.1 DB 就是数据库,数据库是存储数据的集合,可理解为多个数据表
    1.2 DBS 数据库系统,包括数据库,数据库管理系统和数据库管理人员DBA
    1/3 DBMS 数据库管理系统,可对多个数据库进行管理 ,DBMS = 多个数据库(DB) + 管理程序,如Oracle,MySQL等。
2.数据库类型(模式)--关系型数据库SQL和非关系型数据库NOSQL
    2.1 关系型数据库是DBMS的主流,使用最多的DBMS主要是Oracle,MySQL和SQL Server。
    2.2 非关系型数据库包括键值型数据库,文档型数据库,搜索引擎和列存储,以及图形数据库
        2.2.1 键值型数据库-经过Key-Values键值的方式来存储数据,其中Key和Values能够是简单的对象,也能够是复杂的对象。Key做为惟一的标识符,优势是查找速度快,在这方面明显优于关系型数据库,同时缺点也很明显,它没法像关系型数据库同样自由使用条件过滤,若是你不知道去哪里找数据,就须要遍历全部的键,这就会消耗大量的计算键值型数据库最典型的应用场景就是做为内容缓存,如Redis。
        2.2.2 文档型数据库-用来管理文档,数据库中文档做为处理信息的基本单位,一个文档就至关于一条记录,如MongoDB。
        2.2.3 搜索引擎-常见的全文搜索引擎有Elasticsearch,Splunk和Solr。虽然关系型数据库采用了索引提高了检索效率,可是针对全文索引效率却比较低;搜索引擎的优点在于采用了全文搜索的技术,核心原理在于“倒排索引”。
        2.2.4 列式数据库-相对于行式存储的数据库,Oracle/MySQL/SQL Server等数据库都是采用的行式存储(Row-based),而列式数据库是将数据按照列存储到数据库中,这样作的好处是能够大量下降系统的I/O,适用于分布式文件系统,不足在于功能有限。
                    列式数据库将数据按照列进行存储,由于每列的数据格式是相同的,在存储过程时,可使用有效的压缩算法进行压缩存储,在读取时,能够只读取须要的列到内存中,但若是是行式数据库,就须要将整行数据读入内存中,因此说列式数据库按照列式存储数据会大量下降系统的IO。
        2.2.5 图形数据库,利用了图这种数据结构存储了实体(对象)之间的关系。最典型的例子就是社交网络中人与人的关系,数据模型主要是以节点和边(关系)来实现,特色在于能高效地解决复杂的关系问题。
3.SQL与NoSQL
        3.1 NoSQL的分类不少,刚才提到的键值型、文档型、搜索引擎、列式存储和图形数据库等都属于 NoSQL
相关文章
相关标签/搜索