热门文章> 数据库是什么? >

数据库是什么?

36氪企服点评小编
2021-04-20 19:15
660次阅读

   在工业自动化领域,大家经常会接触到主机软件,比如我们常用的WinCC,IFix,FactoryTalkView,WiSCADA,这些软件都会涉及历史数据的存储,用于历史趋势,历史警报,报表显示,许多公司都推出了自己的实时数据库软件,如GE的ProficyHistorian,Wonderware的Historian,Honeywell的PHD等等,但这些软件价格昂贵,通用性不强,对IT人员来说也不太适合。那什么是数据库呢?以下就由小编带给你什么是数据库的相关介绍。

一、什么是数据库?

当我们谈论数据库时,我们谈论什么

数据库,是你和数据打交道的媒介,你的所有对数据的操作,都会通过「数据库」来实现。

于是,从「使用角度」,我再给数据库下另一个通俗的定义:

数据库,是你访问数据的中间件。

选择哪个中间件,取决于你的使用场景;而选择哪种数据库,则取决于你对数据的使用场景:

  • 如果你需要数据安全可靠,最好是用 Mysql 这样的关系型数据库;
  • 如果你只是缓存一些临时数据,需要快速查询,不妨用 Redis 这样的 Key-Value 内存数据库;
  • 如果你想放一些文档,并且还可以支持「相关性搜索」,那像 Elasticsearch 这样的搜索引擎,则是你的首选。

数据库是什么?数据库是什么?

二、如何学习一个数据库

接上面一节给数据库下的定义,我尝试给数据库学习分三个层级:

  • 接触:了解这个数据库的使用场景,为什么需要它,在什么场合下使用它
  • 使用:如何通过这个数据库操控数据,了解它的 API/Command/DSL
  • 深入理解:它是如何存储和索引数据的?它是如何做集群和分布式的?还有什么其他让它高性能高可靠的隐藏技能?

随便找几个数据库验证上面的学习模型:

Zookeeper:

为什么需要 Zookeeper?

如何往 ZK 里插入数据、查找数据、更新数据 ……

ZK 是如何存储数据、如何查找数据的?ZK 集群中各个节点如何配合?

Redis:

  • Redis是做缓存的,这个基本都知道,于是你可以了解下什么时候要用到缓存,它相比其他缓存中间件具有的优势
  • 如何往 Redis 插入数据、更新数据、查询数据 ……
  • Redis 各种数据类型的数据都是怎么存储的?为什么可以那么快找到数据?Redis 的分片和主从是如何实现的?Redis

Elasticsearch:

  • 为什么需要 Elasticsearch ?什么情况下需要用到搜索引擎?
  • 如何往 Elasticsearch 插入数据、搜索数据、分析数据?
  • Elasticsearch 如何存储数据?如何索引?集群结构长什么样?

实际使用中,经常会遇到的问题是:

到底用哪一种数据库?

通常我们会在「关系型数据库」和各种各样的「Nosql」之间纠结。

其实在关系型数据库(Relational Database)出现之前,还出现过层次结构(hierarchical)和网络结构(network)数据库。

从数据库的起源讲起,一直聊到各种 Nosql,这样就弄明白到底要怎么选数据库,为什么会有 Nosql了。

篇幅有限,下回再讲。

ps:下回已更 -> 柳树:如何选择数据库

三、数据库学习参考?

  • 《数据库系统概念》
  • 关系数据库概述 - 廖雪峰
  • 为什么需要数据库
  • Mysql 索引简明教程
  • Hierarchical Network and Relational Database Model
  • 为什么需要 Elasticsearch
  • 聊聊 Elasticsearch 的倒排索引
  • 为什么需要 Zookeeper

   在自动化领域我们常用的数据库一般有三种:微软的SQL Server,甲骨文的 Oracle和MySQL,这三种都是关系型数据库,当然也有人说为什么不提Microsoft Access,大家可以自行搜索它与其他三种的区别就知道为什么了,当然对于关系型数据库还有DB2,PostgreSQL等。对于非关系型数据库目前自动化领域使用较少。

以上三种关系型数据库:Oracle价格最高,性能更好,MySQL免费,SQL Server价格适中。

那么为什么我们选用SQL Server呢?

微软可以提供较好的技术支持,多种文档可以学习,

而且它提供了免费的报表服务器(SSRS)。
为什么特别提这一点呢?
可以回顾一下大家在做上位机系统时,很多客户是否都提出了报表的需求,而且报表的需求也越来越复杂?甚至有的客户想要通过网页形式访问这些报表,可以自由保存为常用的数据格式,比如WORD,Excel,PDF等?

针对以上问题,相信很多人感到头疼。不过这些都不是最重要的,学习数据库的主要需求是为了以下几点:

实现数据的存储,增删改查等基本功能;

保证数据的唯一性,完整性,一致性;

实现海量数据的并发读取,写入等操作;

保证数据访问的安全性;

实现数据的备份,恢复,容灾等;

实现海量数据挖掘/数据分析/数据查询;

为其他管理系统提供数据接口;

允许多用户同时访问;

跨平台,跨硬件等。

   数据库能够覆盖了高可用性集群,平台化运营管理,监控报警,自动部署等综合解决方案。确保数据库运行环境满足核心数据库的要求,当数据库出现故障时不间断地提供服务;统筹操作管理。通过管理平台对整个数据库资源进行统一运营管理,大大降低了IT管理者和运营人员的技能要求,降低了数据库使用门槛,提高了运营效率,提高了运营数据库服务的响应时间和质量,为以后数据库服务的规划、扩展奠定了基础; 以上就是小编为您介绍的数据库是什么,希望对您有所帮助。

[免责声明]

文章标题: 数据库是什么?

文章内容为网站编辑整理发布,仅供学习与参考,不代表本网站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时沟通。发送邮件至36dianping@36kr.com,我们会在3个工作日内处理。

相关文章
最新文章
查看更多
关注 36氪企服点评 公众号
打开微信扫一扫
为您推送企服点评最新内容
消息通知
咨询入驻
商务合作