zoukankan      html  css  js  c++  java
  • 数据库(database)介绍

    0、数据定义:除了文本类型的数据,图像、音乐、声音都是数据。

      数据分类:结构化数据、非结构化数据。
    1、数据库定义:“电子化的文件柜”,“数据仓库”。数据库是一个按数据结构(自我理解:即数据字段之间的关系)来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:

           (1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。

           (2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。

    2、数据库模型定义:在数据库中结构化数据(规定了数据如何被描述(例如树、表等))和操纵数据(规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等)的方法。
       数据库模型分类:(1)概念模型 (2)层次模型(3)网状模型 (4)关系模型(5)面向对象模型

    3、数据库查询语言:SQL(Structured Query Language 结构化查询语言)、XQuery

    4、数据库管理系统DBMS(DataBase Management System)定义:为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。
       数据库管理系统分类:
      (1)可以依据它所支持的数据库模型来作分类,例如关系式、XML
      (2)或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;
      (3)或依据所用查询语言来作分类,例如SQLXQuery
      (4)或依据性能冲量重点来作分类,例如最大规模、最高运行速度;
      (5)亦或其他的分类方式。
      (6)不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。

      数据库管理系统是数据库系统的核心组成部分,主要完成对数据库的操纵与管理功能,实现数据库对象的创建、数据库存储数据的查询、添加、修改与删除操作和数据库的用户管理、权限管理等。它的安全直接关系到整个数据库系统的安全,其防护手段主要有:
    (1)使用正版数据库管理系统并及时安装相关补丁。
    (2)做好用户账户管理,禁用默认超级管理员账户或者为超级管理员账户设置复杂密码;为应用程序分别分配专用账户进行访问;设置用户登录时间及登录失败次数限制, 防止暴力破解用户密码。
    (3)分配用户访问权限时,坚持最小权限分配原则,并限制用户只能访问特定数据库,不能同时访问其他数据库。
    (4)修改数据库默认访问端口,使用防火墙屏蔽掉对 外开放的其他端口,禁止一切外部的端口探测行为。
    (5)对数据库内存储的重要数据、敏感数据进行加密存储,防止数据库备份或数据文件被盗而造成数据泄露。
    (6)设置好数据库的备份策略,保证数据库被破坏后能迅速恢复。 
    (7)对数据库内的系统存储过程进行合理管理,禁用掉不必要的存储过程,防止利用存储过程进行数据库探测与攻击。 
    (8)启用数据库审核功能,对数据库进行全面的事件跟踪和日志记录。 

    5、关系型数据库定义:存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。

         常见的关系型数据库:有MysqlSqlServer(Microsoft SQL Server)等。 Microsoft Access(够友好、够简单)、Oracle、Postgresql(阿里开源关系型数据库)

      在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。

         虽然关系型数据库有很多,但是大多数都遵循SQL(结构化查询语言,Structured Query Language)标准。
      关系型数据库对于结构化数据的处理更合适,如学生成绩、地址等,这样的数据一般情况下需要使用结构化的查询,例如join,这样的情况下,关系型数据库就会比NoSQL数据库性能更优,而且精确度更高。由于结构化数据的规模不算太大,数据规模的增长通常      也是可预期的,所以针对结构化数据使用关系型数据库更好。关系型数据库十分注意数据操作的事务性、一致性,如果对这方面的要求关系型数据库无疑可以很好的满足。                             

    6、基于NoSQL(not_only_sql)技术的分布式数据库:

    非关系型数据库(NoSQL)

    Hbase、MongoDB、Redis、Elasticsearch(Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,支持实时GET请求,适合作为NoSQL数据存储,但缺少分布式事务)等
    指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。所谓CAP理论,简单来说就是一个分布式系统不可能满足可用性、一致性与分区容错性这三个要求,一次性满足两种要求是该系统的上限。而一致性哈希算则指的是NoSQL数据库在应用过程中,为满足工作需求而在通常情况下产生的一种数据算法,该算法能有效解决工作方面的诸多问题但也存在弊端,即工作完成质量会随着节点的变化而产生波动,当节点过多时,相关工作结果就无法那么准确。这一问题使整个系统的工作效率受到影响,导致整个数据库系统的数据乱码与出错率大大提高,甚至会出现数据节点的内容迁移,产生错误的代码信息。但尽管如此,NoSQL数据库技术还是具有非常明显的应用优势,如数据库结构相对简单,在大数据量下的读写性能好;能满足随时存储自定义数据格式需求,非常适用于大数据处理工作。

    7、类数据库【我自己定义的,因为,脚本语法很相近】:
    Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive是十分适合数据仓库的统计分析和Windows注册表文件。

  • 相关阅读:
    sklearn使用高斯核SVM显示支持向量
    决策树和随机森林分类
    线性回归曲线和过拟合判断
    wave数据集的回归曲线
    用KNN实现iris的4分类问题&测试精度
    pandas绘制矩阵散点图(scatter_matrix)的方法
    6种字符串数组的java排序 (String array sort)
    Spring中Quartz的配置
    jquery easyui datagrid js获取记录数 页数 当前页
    EasyUI的treegrid组件动态加载数据问题的解决办法
  • 原文地址:https://www.cnblogs.com/Formulate0303/p/11404626.html
Copyright © 2011-2022 走看看