zoukankan      html  css  js  c++  java
  • MySQL 数据库初识

    一、数据库概述 (详情参考:https://www.cnblogs.com/clschao/articles/9907529.html

      1、概念:存储数据,共享数据

        数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除
    等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

      2、数据管理系统(英语:Database Management System,简称DBMS)保证数据安全,提高数据存储传输效率,备份导入导出。

    二、数据库的分类

      1、关系型数据库(RDBMS)

        关系型数据库模型就是把复杂的数据节后归为简单的二元关系.(类似excel)

      2、常见的关系型数据库

    1、oracle数据库:前身 SDL、 
            创始人:Larry Ellisson 甲骨文公司
            影响力:全球最大的数据库软件公司;
            主要应用范围:传统大企业,大公司、政府、金融、证券等;
            版本:Oracle8i,Oracle9i,Oracle10g,Oracle11g,Oracle12g
    
    2、 MySQL数据库
            影响力:广泛应用于internet 上的大中小型网站中.
            特点:体积小、速度快、总体拥有成本低。
    
    3、MariaDB数据库
            由来:甲骨文公司收购了MySQL后,有MySQL闭源的潜在风险,因此MySQL开元社区采用分支的方式来避开这个
    风险。 与mysql 类似。
    4、SQL Server数据库 创始:微软公司开发的大型关系数据库系统 windows使用性能很好,但是仅仅适用与windows。 5、Access数据库 定位:入门级小型桌面数据库,性能安全性都很一般 6、PolarDB数据库 定位:阿里云ApsaraDB数据库团队研发的基于云计算架构的下一代关系型数据库

      3、非关系型数据库

        解释:非关系型数据库也被成为NoSQL数据库,NOSQL的本意是“Not Olnly SQL” 

        非关系型数据库是对关系型数据库的一种有效补充,NOSQL数据库在特定的场合可以发挥出难以想象的高效率和高性能。

        非关系型数据库实现机制

    (1)键值(Key-Value)存储数据库
            
            键值数据库就类似传统语言中使用哈希表,可以通过key来添加、查询或删除数据,因为使用key主键访问,所以
    会获得很高的性能及扩展性 键值(Key
    -Value)数据库主要是使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。
    Key/value模型对于IT系统来说的优势在于简单、易部署、高并发 . k1—>数据 k2—>数据 典型产品:Memcached、Redis、MemcacheDB、BerkeleyDB (2)列存储(Column-oriedted)数据库 ======>了解即可,一般公司用不到 这部分数据库通常用来分布式存储的海量数据,键仍然存在,但是他们的特点是指向了多个列。 典型产品:Cassandra,HBase (3)面向文档(Document-Oriented)数据库 面向文档数据库会将以文档的形式存储。每个文档都是自包含的数据单元,是一系列数据项的集合。
    每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串、数字和日期等;也可以是复杂的类型,
    如有序列表和关系对象。数据存储的最小单位是文档,同一个表中存储的文档属性可以是不同的,数据可以使用
    XML、JSON或者JSONB等多种形式存储 典型产品:MorgoDB、CouchDB (
    4)图形(Graph)数据库

      常见的非关系型数据库

     1、memcachedb(key-value)
            定位:开源的、高性能的、具有分布式内存对象的缓存系统。
            特点:存于内存,一旦重启所有数据都会丢失。
      Memcached小结: 
          1、key-value行数据库 
          2、纯内存数据库 
          3、持久化memcachedb(sina)
    
    2、 Redis(key-value)
            定位:高性能的key-value数据库。弥补了memcachedb存储的不足
            特点:  
                1)支持内存缓存,这个功能相当于memcached 
             2)支持持久化存储,这个功能相当于memcachedb,ttserver 
             3)数据库类型更丰富。比其他key-value库功能更强 
             4)支持主从集群、分布式 
             5)支持队列等特殊功能     
    
    3、MongoDB(Document-oriented)
          特点: 
        高性能、易部署、易使用、存储数据非常方便 
          主要功能特性: 
    
        1.面向集合存储,易存储对象类型的数据 
        2.“面向集合”(Collenction-Orented)意思是数据库被分组存储在数据集中,被称为一个
    集合(Collenction)每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档,集合的概念类似
    关系型数据库(RDBMS)里的表(table)不同的是它不需要定义任何模式(schema)     
    3.模式自由       模式自由(schema-free)意为着存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。     4.支持动态查询     5.支持完全索引,包含内部对象     6.支持查询     7.支持复制和故障恢复     8.使用高效的二进制数据存储,包括大型对象     9.自动处理碎片、以支持云计算层次的扩展性
    4、Cassandra(Column
    -oriented)   Apache Cassndra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于存储特别大的数据。
    Facebook目前在使用此系统。 主要特点:   
    1.分布式   2.基于column的结构化   3.高伸展性   4.Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成一个分布式网络服务,
    对Cassandra的一个写操作,会被复制到其他节点上去,对Cassandra的读操作。也会被路由到某个节点上面去读取。   Cassandir是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomie
    (分布式的key
    -value存储系统)更丰富,Cassandra最初由Facebook开发,后转变成了开源项目。

      

  • 相关阅读:
    3-2
    3-1
    2-11
    2-10
    2-7
    2-9
    springboot 使用undertow代替tomcat容器提高吞吐量
    springboot—JVM性能参数调优
    springbootDay3
    springboot_Mybaits_PageHelper
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/10109226.html
Copyright © 2011-2022 走看看