精华内容
下载资源
问答
  • 中国工业企业数据库 access版 从1998年至最近拥有的数据
  • 常用数据库有哪些

    千次阅读 2019-09-20 09:09:28
    表 1 所示列出了每一类数据库的前 3~5 ...表 1 各类数据库排名 大类 类别 前3~5名 说明 SQL 关系数据库 Oracle、MySQL/MariaDB、SQL Server、PostgrcSQL、 DB2 遵循“表一记录”模型。按行存...

    表 1 所示列出了每一类数据库的前 3~5 名,排名会不断变化,实时的排名参见 http://db-engines.com/en/ranking 网站。
     

    表 1 各类数据库排名
    大类类别前3~5名说明
    SQL关系数据库Oracle、MySQL/MariaDB、SQL Server、PostgrcSQL、 DB2遵循“表一记录”模型。按行存储在文件中(先第 1 行,然后第 2 行……)
    NoSQL时序数据库InfluxDB、RRDtool、Graphite、OpcnTSDB、Kdb+   存储时间序列数据,每条记录都带有时间戳。如存储从感应器采集到的数据
    键/值数据库Redis、Memcached、Riak KV、Hazelcast、Ehcache 遵循“键——值”模型,是最简单的数据库管理系统
    文档数据库MongoDB、Couchbase、Amazon DynamoDB、CouchDB、MarkLogic无固定结构,不同的记录允许有不同的列数和列类型。列允许包含多值,记录允许嵌套
    图数椐库Neo4j、OrientDB、Titan、Virtuoso、ArangoDB    以“点——边”组成的网络(图结构)来存储数据
    搜索引擎Elasticsearch、Solr、Splunk、MarkLogic、Sphinx 存储的目的是为了搜索,主要功能是搜索
    对象数据库Caché、db4o、Versant Object Database、ObjcctStore、Matisse 受面向对象编程语言的启发,把数据定义为对象并存储在数据库中,包括对象之问的关系,如继承
    宽列数据库Cassandra、HBase、Accumulo按照列(由“键——值”对组成的列表)在数据文件中记录数据,以获得更好的请求及遍历效率。一行中的列数允许动态变化,且列的数目可达数百万,每条记录的关键码不同,支持多值列。

    下面对排名靠前的开源数据库做一些简单介绍。

    1. MySQL/MariaDB

    2008 年美国 Sun 公司花费 10 亿美元收购 MySQL,一年后 Oracle 公司又花费 60 亿美元收购了 Sun 公司,从此 Sun 公司的服务器、操作系统、MySQL 等产品线全部归属 Oracle 公司。

    拉力·艾立森奉行的经营哲学是“竞争不过它,我就买了它”。竞争不过,说明竞争对手的产品更具优势,所以收购它,从而变成自己的优势。几十年来,Oracle 从一家小型数据库公司变成今天覆盖硬件、平台软件、数据库、中间件、应用软件各个层次产品线的 IT 巨无霸,靠的就是美国的良好环境和总裁奉行的收购策略。

    MySQL 数据库占据中小型数据库应用市场的半壁江山,在这块市场,Oracle 数据库明显占下风,巅峰时世界上超过 70% 的网站后台都采用 MySQL 数据库。但是自从被 Oracle 公司收购后,MySQL 发展明显趋缓,是继续开源还是闭源,Oracle 公司一直没下定论。于是 MySQL 的原班人马陆续离开 Oracle 公司,另立炉灶,推出了 MariaDB 开源数据库。

    MariaDB 继承了 MySQL 小巧精悍、简洁高效、稳定可靠的特征,并与 MySQL 保持兼容。时至今日,已有 Google、Facebook 等知名企业把应用从 MySQL 切换到了 MariaDB 上,各种 Linux 发行版的操作系统默认数据库都开始采用 MariaDB;而 Apple 公司反应更快,当 Oracle 公司收购 Sun 公司时,就切换到了 PostgreSQL 数据库。

    截至 2014 年年末的数据库综合排名,MySQL 继续位居第二名,但是其表现出来的颓势较明显,而 MariaDB 却具备强劲的生命力。

    MariaDB 是一个开源的免费的关系数据库,截至发稿前的最新版本是 10.0.15,安装包可从 https://downloads.mariadb.org 网站下载。整个安装包大约 200MB,几乎能在所有的操作系统上安装和运行,与 Oracle 数据库、SQL Server、DB2 等商业数据库动辄好几张光盘相比,算是短小精悍了。

    另外,也可以从这个网站下载数据库的源代码。对于非数据库型的 SaaS 云提供商来说,云端采用 MariaDB 是最好的选择,而且可以轻松搭建数据库集群。

    2. PostgreSQL

    PostgreSQL 能被苹果公司大量使用并替换早期的 MySQL 数据库,说明其一定有不俗的表现。在 2014 年年末的数据库排行榜上,PostgreSQL 位居第四位,号称世界上最先进的、最安全的开源数据库,也是面向对象的关系数据库。

    华为内部局域网接入控制系统 SPES 也采用 PostgreSQL 数据库,在 Linux 操作系统上运行,极少出问题。经过十多年的磨砺,如今 PostgreSQL 数据库具备如下特点:

    • 面向对象,安全性极高,能运行在全部主流的操作系统上,完全 ACID 兼容。
    • 支持外键、连接、视图、触发器和存储过程(多语言)。
    • 支持最新的 SQL 2008 标准的数据类型,包括整型、数字型、字符型、布尔型、可变字符型、日期型、时间戳、自增长型以及各种二进制对象(如图片、声音和视频等)。
    • 提供了各种流行语言的编程接口,如 C/C++Java、.NET、Perl、Python、Ruby、Tcl、ODBC 等。


    PostgreSQL 数据库同时具备很多众多令人振奋的优点,比如在线备份、数据域、表分区、表空间、嵌套事务、时刻点恢复、两段式提交、多版本并发控制、子查询等。

    在 PostgreSQL 中,数据库大小没有限制,表大小上限为 32TB,一条记录的大小上限为 1.6TB,字段大小上限是 1GB,一个表包含的记录数没有限制,一条记录的字段数上限为 1600 个,一个表上创建的索引数目没有限制。

    另外,SQLite 是一个非常小型的 ACID 兼容的关系数据库,适合嵌入式系统。

    3. InfluxDB

    InfluxDB 是一个开源的时间序列数据库,能应付极高的写和查询并发数,主要用于存储大规模的时间戳数据(每条记录自动附加时间戳),如 DevOps 监控数据、应用系统运行指标数据、物联网感应器采集的数据及实时分析的结果数据等。InfluxDB 具备如下特征:

    • 全部用 Go 语言编写,并被编译成单一运行程序,无须第三方依赖。
    • 简洁、高效地写和查询 HTTP(S)编程接口(API)。
    • 通过插件能与其他的数据采集工具集成,如 Graphite、collectd、OpenTSDB。
    • 可以搭建高可用性的 InfluxDB 环境。
    • 量身定制化的类-SQL 语言。
    • 允许给序列数据附加标签来创建索引,以便快速高效查询。
    • 通过定义策略轻松实现自动失效过时的数据。
    • 基于 Web 的管理界面。


    对于一个具体的时间序列应用来说,除存储外,还需要集成数据采集、可视化和告警功能。为此,InfluxData 社区相应提供了 Telegraf(数据采集)、Chronograf(数据可视化)、Kapacitor(告警)三个开源项目,再加上 InfluxDB,能部署成一个完整的时间序列应用系统(简称为 TICK)。这四者的关系如图 1 所示。

    数据采集示意图
    图 1  数据采集示意图

    4. Redis

    Redis 是遵循 BSD 开源协议的存储系统,数据存储在内存中,因此具备极高的性能,可用作数据库、缓存和消息中间件。Redis 支持多种类型的数据结构,如字符串、哈希、列表、集合、带范围查询的有序集合、位图、hyperloglogs 和带半径查询的地理空间索引。

    Redis 内置了复制、脚本语言编程、最近最少使用(LRU)淘汰、事务以及不同级别的磁盘持久化等功能,通过 Redis Sentinel 和集群自动分区机制实现高可用性。Redis 采用 C 语言编写,能运行在 Windows、MacOS X、Linux、Solaris 等操作系统上,不过 Linux 是其最佳的运行平台,无须第三方依赖,它提供了最广泛的编程语言接口。

    5. MongoDB

    MongoDB 是排名第一的文档数据库,属于 NoSQL 大类,诞生于 2009 年,正好是云计算兴起的前夜。MongoDB 采用 C++ 语言开发,能运行在 Windows、MacOS X、Linux、Solaris 操作系统上,提供了绝大部分计算机语言的编程接口。保存在 MongoDB 中的一条记录称为一个文档,类似 JSON 语法,例如:

    从上面的例子可以看出,一个文档就是“键:值”对的集合。

    MongoDB 的主要优势包括:高性能、富查询语言(支持 CRUD、数据聚合、文本搜索和地理空间查询)、高可靠性、自动伸缩架构、支持多存储引擎。MongoDB 适合文档存储、检索和加工的应用场合,如大数据分析。

    6. Neo4j

    Neo4j 是一个用 Java 语言开发的图数据库,它将结构化数据存储在由“点—边”组成的网络(数学术语叫“图”)上而不是表中。与关系数据库相比,图数据库擅长处理大量复杂、互连接、低结构化的数据。这些数据变化迅速,需要频繁查询,如果使用关系数据库,那么这些查询会导致大量的表连接,因此会产生性能上的问题。

    Neo4j 重点解决了拥有大量连接的传统关系数据库在查询时出现的性能衰退问题。Neo4j 还提供了非常快的图算法、推荐系统和 OLAP 风格的分析,而这一切在目前的关系数据库系统中都无法实现。Neo4j 提供了广泛使用的 REST 接口,能够方便地集成到基于 Java、PHP、.NET 和 JavaScript 的环境里。

    Neo4j 使用 Cypher 语言进行增删改操作,例如:

    创建了两个节点:变量“e1”和“e2”,标签“员工”,属性“{……}”。

    创建了一条边,最终形成下图,如图 2 所示。

    最终形成
    图 2  最终形成

    7. Elasticsearch

    Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,用于存储、搜索和近乎实时地分析大规模数据。Elasticsearch 常被人们用于构建具备复杂搜索功能的应用系统,比如维基百科和优步的搜索,再比如网店中搜索商品、商业智能、日志收集与分析、价格告警等。利用 Elasticsearch 实现的数据采集、存储和可视化套件 ELK(Elasticsearch、Logstash、Kibana)在日志分析领域应用最为广泛。

    8. Caché

    大概 20 年前,人们提出了后关系型数据库的概念,目前已有不少产品,其中由 InterSystems 公司开发的 Caché 是后关系型数据库中的领头羊,它提供 3 种方式访问数据:对象访问、SQL 访问、直接对多维数据数组访问,而且 3 种访问方式能够并发访问同一数据。多维数据结构和多种数据库访问方式构成了后关系型数据库的基础。

    Caché 数据库具备如下一些特点:

    1)速度快

    Caché 数据库在同等条件下查询相同数据,比 Oracle 等普通数据库要快 7~20 倍。

    2)节省存储空间

    存储空间可能节省 2/3,而基于 Caché 的应用程序,比原来基于关系型数据库的应用程序运行有可能快 20 倍。

    3)使用简单

    Caché 数据库支持标准 SQL 语句,因此不太熟悉 M 语言的用户依然可以轻松对数据库中的数据进行操作。

    4)接口容易

    Caché 数据库支持 ODBC 标准接口,因此在与其他系统进行数据交换时非常容易,同时 Caché 亦可以将数据输出为文本文件格式,以供其他系统访问调用。

    5)真正的三层结构

    Caché 数据库能够在真正意义上实现 3 层结构,实现真正的分布式服务,便于做横向扩张。

    6)对象型编辑

    Caché 数据库是真正的对象型数据库,开发时用户可直接用数据库定义自己想要的对象,然后再在其他开发工具中调用该对象的方法和属性即可完成开发工作,非常方便。

    7)支持 Web 开发

    Caché 数据库提供自带的 Web 开发工具,使用、维护非常方便,符合当今软件业发展的趋势。

    8)价格便宜

    Caché 数据库的价格比 Oracle 数据库要便宜很多。

    Caché 数据库在欧美的医疗系统使用最为普遍,被医疗界公认为首选的数据库,国内中山大学第三附属医院、深圳南山医院、北京安贞医院等也采用 Caché 数据库

    9. Cassandra

    Cassandra 是在 Google 的 Bigtable 基础上发展起来的 NoSQL 数据库,由脸谱于 2008 年用 Java 语言开发,目前被贡献给 Apache 基金会。Cassandra 被称为“列数据库”,这里的“列”不是指关系数据库中一个表中的列,而是由“键—值”对组成的列表(语法与 Python 语言中的列表相同),如:

    Cassandra 中一行数据语法是“一行的键={列,列,…}”,一行可包含上百万列,比如:

    Cassandra 中的列族(ColumnFamily)格式是“列族名={若干行}”,一个列族可包含几十亿行,例如:

    一个 Cassandra 运行实例管理很多键空间(Keyspace),Keyspace 相当于关系数据库管理系统中的数据库,一个键空间包含很多列族。键空间、列族、行、列的关系如图 3 所示。

    键空间、列族、行、列的关系
    图 3  键空间、列族、行、列的关系


    所以,Cassandra 中的寻址是一个四维或者五维哈希表:

    比如:

    返回广东理工职业学院(gdpi)计算机系(computer)张三(zsan)这个学生的年龄。

    OpenStack 生态中的 HBase 也是列数据库,目前排名第二。

    展开全文
  • 常见的非关系型数据库有哪些

    千次阅读 2020-06-02 16:04:57
    Redis作为一个内存数据库,具有如下特点: 性能优秀, 数据在内存中, 读写速度非常快, 并支持10W QPS(每秒查询效率). 单进程单线程, 是线程安全的. 非阻塞I/O多路复用机制, 因为是但线程的,通过跟踪每个I/O流的状态,...

    1. 什么是非关系型数据库

    • 什么是关系型数据库
      关系型数据库就是需要依赖现实生活的具体模型来创建的数据库, 比如具体的人, 事物, 能表示多个表之间一对一, 一对多, 多对多的关系. 而且支持事务.
      常见的Mysql, Oracle都是关心型数据库.
    • 什么是非关系型数据库
      非关系型数据库就是不需要依赖现实生活中的具体模型就可以出数据库及表. 比较灵活便利.

    2. 为什么要用非关系型数据库

    • 关系型数据库具有数据安全且容易理解的优点, 但是随着互联网的发展,数据存储越来越多, 对于并发的要求也越来越高,项目中单纯使用关系型数据库已经无法满足这些要求, 于是应运而生了非关系型数据库.
    • 非关系型数据库具有格式灵活, 成本低, 查询快, 高性能, 高扩展的优点.
    • 实际开发中通常将关系型数据库和非关系型数据库结合使用, 不同非关系型数据库具体应用场景不同.

    3. 常用的非关系型数据库有哪些

    3.1 键值对key-value型

    • key-value数据库的主要特点是具有极高的并发读写性能
    • Key-value数据库是一种以键值对存储数据的一种数据库, 类似Java中的map. 可以将整个数据库理解为一个大的map, 每个键都会对应一个唯一的值.
    • 主流最常用的代表就是Redis等
      在这里插入图片描述

    3.2 文档型

    文档型按照功能划分又分为基于海量数据存储的和基于搜索内容存储的搜索引擎,数据结构可以理解为Json格式的文档类型.

    3.2.1 基于海量数据存储

    • 这类数据库的主要特点是在海量的数据中可以快速的查询数据
    • 文档存储通常使用内部表示法, 可以直接在应用程序中处理, 主要是JSON. JSON文档也可以作为纯文本存储在键值存储或关系数据库系统中.
      主流代表为MongoDB等
      在这里插入图片描述

    3.2.2 搜索引擎

    • 搜索引擎是专门用于搜索数据内容的NoSQL数据库管理系统。
    • 主要是用于对海量数据进行近实时的分析处理,可用于机器学习和数据挖掘
    • 主流代表为Elasticsearch, Solr等.

    3.3 列式数据库

    • 这类数据库的主要特点是具有很强的可拓展性
    • 关系型数据库都是以行为单位来存储数据的, 擅长以行为单位的读入处理, 比如特定条件数据的获取. 因此, 关系型数据库也被成为面向行的数据库。相反,面向列的数据库是以列为单位来存储数据的,擅长以列为单位读入数据。
    • 这类数据库想解决的问题就是传统数据库存在可扩展性上的缺陷,这类数据库可以适应数据量的增加以及数据结构的变化,将数据存储在记录中,能够容纳大量动态列。由于列名和记录键不是固定的,并且由于记录可能有数十亿列,因此可扩展性存储可以看作是二维键值存储。
    • 主流代表为HBase等.
      在这里插入图片描述

    3.4 图数据库

    • 将数据库图形化,数据结构是图结构,
      在这里插入图片描述

    4. 几种非关系型数据库对比

    RedisMongoDBElasticSearchHbaseNeo4J
    数据结构键值对的key-value形式Json文档格式Json文档格式列簇式存储,将同一列数据存到一起图结构
    典型应用场景缓存和并发数据库1. 做缓存数据库 2. 海量数据且对允许少许数据丢失, 例如用户评论数据, 点赞数据等海量数据进行搜索应用, 例如网站搜索页面的数据大数据分布式系统,海量数据且数据比较分散社交网络,推荐系统等
    优点1. 数据存在内存中 2. 线程安全 3. 读写效率高1. 存储海量数据 2. 表结构可变数据量大,基于Lunence倒排索引原理,能实现海量数据分词搜索1.高扩展性 2. 海量数据利用图结构相关算法,符合人的思维
    缺点1.数据无结构化 2. 存储少量数据读写效率不如Reids读写效率不如Redis优点也是缺点, 没有太多花哨的功能不好做分布式系统

    真实开发也是多种数据库结合使用, 如图下图所示:
    在这里插入图片描述

    展开全文
  • 一、数据库种类有哪些 早期较为时兴的数据库种类三种,分别是层次式数据库、网络式数据库和关系型数据库。而在如今的互联网中,最常见的数据库种类主要2种,即关系型数据库和非关系型数据库。 二、层次数据库...

    一、数据库种类有哪些

    早期较为时兴的数据库种类有三种,分别是层次式数据库、网络式数据库和关系型数据库。而在如今的互联网中,最常见的数据库种类主要有2种,即关系型数据库和非关系型数据库。

    二、层次数据库介绍

    层次数据库是最开始研制的数据库系统软件,它把数据根据层次构造(树结构)的方法呈现。层次数据库以前是非常热门的数据库,但伴随着关系数据库的逐渐流行,如今早已非常少应用了。

    较为具备象征性的层次数据库是IMS(Information Management System)数据库,由IBM企业研发。

    三、关系型数据库详细介绍

    网络数据库和层次数据库在数据独立性和抽象性级別上有所欠缺,用户开展存储时,需要声明数据的存储结构和相对路径。而关系数据库就可以较切实解决这种问题。

    和Excel工作簿一样,关系型数据库也选用由列和行构成的二维表来管理数据,简单易懂。另外,它还利用SQL(Structured Query Language,结构化查询语言)对数据开展实际操作。

    更多关系数据库知识点请见:树懒学堂_关系数据库与非关系数据库

    四、非关系型数据库详细介绍

    伴随着互联网技术Web2.0的兴起,传统关系型数据库在应对大数据量,比如大规模和高并发的微博、微信或者SNS类型的web2.0动态网页时,已经有些力不从心,曝露了许多难以克服的难题。因此出现了针对大规模数据量场景,以性能卓越和应用便捷为目的的的数据库产品——NOSQL数据库。

    非关系型数据库主要是根据“非关系实体模型”的数据库,也称之为NoSQL数据库,NOSQL的原意是“Not only SQL”,而不是“NoSQL”的含意,因而,NoSQL的出现并不是要完全否认关系型数据库,只是做为传统关系型数据库的一个合理补充。NOSQL数据库在特殊的情景下能够充分发挥出无法想象的高效率和卓越性能。

    非关系型数据库还能够细分化为四个小项:

    • 键值(Key-Value)储存数据库;
    • 列储存(Column-oriedted)数据库;
    • 面向文本文档(Document-Oriented)数据库;
    • 图型(Graph)数据库。

    更多非关系数据库知识点请见:树懒学堂_关系数据库与非关系数据库

    五、不同种类数据库应用领域区别

    在数据库应用角度来区分的话,数据库还可以分为面向操作型和面向数据分析型,以下是根据实际应用场景的不同对数据库的简单的介绍。

    1.面向操作的关系型数据库

    • 典型性应用领域:ERP,CRM,信用卡交易,中小型电商
    • 数据储存方法:表格
    • 流行厂商:Oracle Database,Microsoft SQLServer,IBM DB2,EnterpriseDB(PostgreSQL),MySQL
    • 优点:完善的生态环境保护,事务保证/数据一致性
    • 缺点:严苛的数据模型界定,数据库拓展限制,和非结构型的结合应用较难。

    2.面向数据分析的关系型数据库

    • 典型性应用领域:数据仓库,商务智能,数据科学研究
    • 数据储存方法:表格
    • 流行厂商:Oracle Exadata,Oracle Hyperion,Teradata,IBM Netezza,Google BigQuery
    • 优点:信息内容和计算的一致性
    • 缺点:必须由数据库技术专业的IT工作人员维护保养,数据相应通常是分钟级

    3.面向操作的非关系型数据库

    • 典型性应用领域:Web,mobile,and IoT applications,social networking,user recommendations,shopping carts
    • 数据储存方法:有很多存储结构(document,graph,column,key-value,time series)
    • 流行厂商:MongoDB,Amazon DynamoDB,Amazon,Redis
    • 优点:便捷性,协调能力(不用预定义的方式),水平伸缩(适应大规模数据量),成本低(开源系统)
    • 缺点:欠缺事务保证

    4.面向数据分析的非关系型数据库

    • 典型性应用领域:索引数以百万计的数据点,预测分析,诈骗检验
    • 数据储存方法:Hadoop不用原有的数据构造;数据能够跨好几个服务器存储
    • 流行厂商:Cloudera,Hortonworks,MapR,MarkLogic,Snowflake,DataBricks,ElasticSearch
    • 优点:适用批量处理,并行处理文件;主要是开源的,资金投入较低
    • 缺点:迟缓的响应速度;不宜迅速检索或高速更新

    文章转载自:https://www.shulanxt.com/doc/dbdoc/db-type

     

    展开全文
  • 如今,数据作为生产要素重要性已不言而喻,数据能力成为企业必不可少的核心能力之一,作为企业数字化转型重要的一环,我们依然迫切需要数据库来帮助存储和操作这些数据,充分有效地管理和利用各类数据资产。...

    引言

    如今,数据作为生产要素重要性已不言而喻,数据能力成为企业必不可少的核心能力之作为企业数字化转型重要的一环,我们依然迫切需要数据库来帮助存储和操作这些数据,充分有效地管理和利用各类数据资产。数据存储和操作是以业务连续性为目标,包括存储数据的设计、实现和支持活动,以及在整个数据生命周期中,从计划到销毁的各种操作活动。

    在互联网时代背景下,传统单一的数据库的时代已经过去,对于数据库的新需求在不断出现,随着这些新的需求越来越广泛地被提出,越来越多的企业意识到,采用传统的数据库应对不同需求这种一刀切的方式已经不再奏效。

    本文首先阐述了数据库和数据库管理系统的概念,并对目前常见的几种数据库进行了介绍,分析了专用数据库相比于传统数据库的优势所在,然后重点对满足不同应用场景的8种专用数据库进行了详细说明,最后分享了传统数据库向专用数据库迁移的案例,旨在帮助读者在设计应用时选择正确的数据库。

    什么是数据库?

    1.1

    数据库概念

    维基百科上对数据库的定义:以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间构成。

    百度百科上对数据库的定义:是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

    数据库(Database,英文简称 DB)是一个以某种有组织的方式存储的数据集合。可以理解为是一个存放计算机数据的仓库,这个仓库按照一定的数据结构(即数据的组织形式或数据之间的联系)来对数据进行组织和存储,我们可以通过数据库提供的多种方法来管理其中的数据。

    1.2

    数据库管理系统

    数据库管理系统(Database ManagementSystem,英文简称DBMS)是为管理数据库而设计的电脑软件系统,是一种系统软件,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务。数据库管理系统是数据系统的核心,主要功能有:数据模式定义、数据存取的物理构建、数据操纵、数据的完整性、安全性定义和检查、数据库的并发控制与故障恢复、数据的服务。我们常见的数据管理系统如:Oracle、SQL Server、MySQL、Accees、Sybase、DB2等。

    1.3

    数据库和数据库管理系统的关系

    数据库和数据库管理系统在IT软件中扮演着不可或缺的角色。比如某公司建设了员工管理系统,员工的信息都会存放在数据库中。当登录员工管理系统查询某员工的工资信息时,部署在服务器上的程序会连接数据库管理系统进行查询,并从数据库中取出该员工的工资数据,最后显示到前端系统页面上。

    查询数据的过程

    数据库种类及应用场景介绍

    一般来说,数据库按照组织式分为两大类:关系型数据库和非关系型数据库。

    1.关系型数据库是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过这些关联的表格分类、合并、连接或选取等运算来实现数据的管理。

    2.非关系型数据库又称NoSQL,由于数据类型多种多样,关系型数据库并不适用于所有的数据,因此针对不同的数据类型,出现了不同的 NoSQL,NoSQL的产生并不是要彻底否定关系型数据库,而是作为传统数据库的有效补充。

    关系型SQL与非关系型NoSQL对比表

    注:关系型数据库的ACID:

    A (Atomicity) 原子性:就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转5元至B账户,分为两个步骤:从A账户取5元;存入5元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了5元。

    C (Consistency) 一致性:一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。例如现有完整性约束a+b=10,如果一个事务改变了a,那么必须得改变b,使得事务结束后依然满足a+b=10,否则事务失败。

    I (Isolation) 独立性:是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未提交,它所访问的数据就不受未提交事务的影响。例如:现有有个交易是从A账户转5元至B账户,在这个交易还未完成的情况下,如果此时B查询自己的账户,是看不到新增加的5元的。

    D (Durability) 持久性:指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。

    CAP理论的C就是一致性(Consistency),A就是可用性(availability),可以理解为是否可获取数据,以及获取数据的速度;P就是分区容忍度(partion tolerance),指的是系统中的数据分布性的大小对系统的正确性,性能的影响(一定程度上就是可扩展性)。

    2.1

    关系数据库

    关系数据库是使用最广泛的数据库,采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。主要结构为:库+表+表之间的关系+字段。

    关系数据库表示例表

    关系数据库把复杂的数据结构归结为简单的二元关系(二维表),如上图所示是一个二维表的示例,通常该表第一行为字段名称,描述该字段的作用,下面是具体的数据。在定义该表时需要指定字段的名称及类型。目前主流的关系型数据库有OracleL、SQL Server、DB2、MySQL、PostgreSQL等。

    2.2

    非关系数据库

    常见的非关系型数据库有键值数据库、列存储数据库、文档数据库、图数据库、时序数据库、搜索引擎数据库等,这些常见数据库的主要特点及应用场景如下表所示。

    几种常见非关系数据库的主要特点及应用场景

    2.2.1 键值数据库

    键值数据库可以被看作一个非常大的哈希表,该表在唯一的键下存储了一些值。存储的值可以通过键或者部分键高效地检索到。键值数据库使用简单的键值方法来存储数据。键值数据库将数据存储为键值对集合,其中键作为唯一标识符。键值数据库中的键可以包含多个元素,甚至可以排序以提高查询效率。一些键值数据库允许使用键的前缀进行查找,从而可以使用复合键。 

    例如,我们将客户ABC的订单存储在键/值数据库中,可以使用客户ID作为键的前缀,结合订单号组成键“ABC-001”来存储订单。可以使用整个键来检索特定的订单,也可以使用“ABC”前缀检索客户ABC的所有订单。

    2.2.2 列存储数据库

    列存储数据库又被称为面向可扩展性的分布式数据库,它反转了传统的行存储数据库,将数据存储存在列族中,一个列族存储经常被一起查询的相关数据。如下表所示为人员信息表:

    对于行存储数据库,表中的数据是以行为单位逐行存储在磁盘上的;而对于列存储数据库,表中的数据则是以列为单位逐列存储在磁盘中。下图是传统行数据库和列数据库表中数据在磁盘上的存储形式的差异对比。

    列存储解决的主要问题是数据查询问题,这部分数据库通常用来应对分布式存储的海量数据,典型的产品应用如Hbase。

    2.2.3 文档数据库

    文档数据库是一种非关系数据库,将半结构化数据存储为文档,其中文档包括 XML、YAML、JSON、BSON、office 文档等不同格式。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。

    简而言之,就是将数据保存到以上类似格式的文档中,数据库中的每个记录都是以文档形式存在的,相互之间不再存在关联关系。文档数据库所存放的文档,就相当于键值数据库所存放的“值”。

    2.2.4 图数据库

    图数据库顾名思义,就是一种存储图形关系的数据库,而图模型是图数据库中的重要概念。图模型由两个要素组成:节点和边,每个节点代表一个实体(人、地点、事物等),每条边代表两个节点之间的连接,这种通用结构可以对各种场景进行建模,如社交网络以及由关系定义的任何其他事物。

    如下所示的图模型中包含 3个节点:中国、北京、长城。其两条边分别是:长城是北京的著名景点、北京属于中国。

    从上面的图模型可以看出,图数据库的目标就是基于图模型以一种直观的方式模拟这些关系,可以很好地分析实体之间的关系。

    2.2.5 时序数据库

    在介绍时序数据库前先了解下时序数据,时序数据是按照时间顺序记录系统、设备状态变化的数据,普遍存在于IT基础设施、运维监控系统和物联网中。在有时间的坐标中将这些数据点连成线,往前看可以做成多纬度报表,揭示其趋势性、规律性、异常性;往后看可以建立数学模型、做统计分析,预测事物发展趋势。

    时序数据库就是存放时序数据的数据库,并且需要支持时序数据的快速写入、持久化、多纬度的聚合查询等基本功能。相比于传统数据库仅仅记录了数据的当前值,时序数据库则记录了所有的历史数据。同时时序数据的查询也总是会带上时间作为过滤条件。

     

    下面对时序数据库的数学模型做下简单介绍:

    • metric:度量的数据集,类似于关系型数据库中的table

    • point:一个数据点,类似于关系型数据库中的row

    • timestamp:时间戳,表征采集到数据的时间点

    • tag:维度列,代表数据的归属、属性,表明是哪个设备/模块产生的,一般不随着时间变化,供查询使用

    • field:指标列,代表数据的测量值,随时间平滑波动,不需要查询

    时序数据库基本概念图

    如上表中,度量为Wind,每一个数据点都具有一个timestamp,其中有两个field:风向、速度,两个tag:设备编号、城市。根据表中第一行和第三行的数据可知,存放的都是sensor号码为95D8-791的设备,属性城市是北京。随着时间的变化,风向和风速都发生了变化,风向从24.2变成25.6,风速从3.6变成了3.3。

    2.2.6 搜索引擎数据库

    搜索引擎数据库通常用于搜索保存在其他存储和服务中的数据。搜索引擎数据库可以对大量的数据建立索引,并提供近实时的索引查询。搜索引擎数据库是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样在检索的时候才能保证性能最优。

    搜索引擎数据库除了搜索像网页这样的非结构化的数据,许多应用程序还使用它为其他数据库中的数据提供结构化和即时搜索功能。有一些数据库也能提供全文索引功能,但是搜索数据库还具备通过词干和泛化将单词缩减为词根的功能。

    三 为什么越来越多的企业选择专用数据库?

    “原来数据库分发方式是怎么样的?一家企业要买数据库,比如Oracle,首先要买一年或者两年的授权,第二要买跑数据库的硬件,第三还得买数据库相关的服务,包括固件更新、维护升级等等。传统的数据库购买流程是一个非常沉重的过程,投入会非常大”,相信很多IT从业人员对这句话深有感触。传统商用数据库是集中式架构,在扩展性和灵活上先天不足,比如传统的商业数据库可能仅仅软件安装就需要一整天的时间,需要配置各种补丁等,需要有专业的DBA(数据库管理员)来完成这样的服务,如果需要扩展通常只能是纵向扩展,为此需要购买昂贵的设备,投资不菲。

    传统数据库架构面向早期业务模型,包括传统数据库的售卖方式、使用方式、服务方式,在数字化的背景和海量数据存储的诉求下,已经不能满足大多数企业的诉求。从技术角度来看,云计算已经发展到非常成熟的阶段,并且被广泛认可,云计算由量变到质变的过程,给数据库带来了颠覆,核心是云计算彻底改变了数据库的分发方式。

    专用数据库相比于传统数据库在成本、安全性、操作及效率4个方面具有更适应现代IT技术快速发展的优势:

    传统数据库VS专用数据库

    可以看到,在实际业务运营过程中有各种不同的数据管理需求的时候,就需要迁移到专用的数据库来。自我管理的这些数据库和分析服务,因为耗时、管理起来复杂性很高,尤其是硬件、软件的安装,同时数据库的性能、可用性又遇到很多的挑战,又不像在云上那么容易的进行扩展。那么迁移到专用数据库有什么好处呢?下图为在AWS上的全托管服务和自己管理的区别。

    自我管理与AWS完全托管的区别

    全托管的服务之下,对于用户来说,只需要去关注几个事情:应用层的架构设计、采用什么样的数据库、解决什么样的场景问题、查询构造、怎么去优化SQL查询语句或是NoSQL的查询方式。剩下的与数据库本身相关的工作,比如故障的转移、备份和恢复、隔离和安全、行业合规、补丁修复、监控、维护等,都可以交给AWS来做。这样一来,用户可以更加专注于业务本身的创新,而不是把时间浪费在数据库这种非常耗时、耗精力的基本维护上。

    展开全文
  • 流行的数据库有哪些

    千次阅读 2020-09-09 10:05:42
    是最挣钱的数据库,出自甲骨文公司,市场占有率非常高,功能非常强大,被一些大型企业,电信,银行,证券公司所使用 MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL ...
  • 比较常见的数据库系统都有哪些

    千次阅读 2018-11-22 11:10:00
    Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。2. Oracle能在所有主流平台上运行(包括 ...
  • 十大企业数据库

    千次阅读 2010-06-14 09:48:25
    企业数据库市场中,诸如热备份和高可用等先进技术已经成为各大数据库竞争的焦点,这些数据库既免费的开源数据库,也许可费高达数千美元的商业数据库,截至目前为止,市场上出现了形形×××的数据库,但没有...
  • python内置库有哪些 重点 (Top highlight)Photo by mcmurryjulie on Pixabay 照片由mcmurryjulie在Pixabay上发布 您知道Python内置数据库吗? (Do You Know Python Has A Built-In Database?) Python内置库简介—...
  • 点击上方「蓝字」关注我们前言随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数...
  • 数据库的优势具体有哪些

    千次阅读 2019-11-05 15:32:51
    关于数据库,很多企业和个人开发者仍习惯于使用自建开源数据库,但自建开源数据库却十分依赖专业DBA和数据库技术人员等手工下载版本、补丁、分析Bug情况,然后人工安装部署,面临各种运维难题。 除了自建开源数据库...
  • 中国工业企业数据库

    千次阅读 2018-05-22 13:11:09
     fileName = '中国工业企业数据库'+ str(start) +'-'+ str(end) +'.xls'  book.save(u"%s" % fileName) if __name__ == "__main__":  print "*********************Chinese industrial ...
  • 数据库备份的方式有哪些

    千次阅读 2020-05-12 10:52:28
    这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但它需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。 2、事务日志备份 事务日志是一个...
  • 数据库常见的安全问题有哪些

    千次阅读 2019-03-04 16:13:45
    数据库已经成为黑客的主要攻击目标,因为它们存储着大量价值和敏感的信息。 这些信息包括金融、知识产权以及企业数据等各方面的内容。网络罪犯开始从入侵在线业务服务器和破坏数据库中大量获利,因此,确保数据库...
  • 中国工业企业数据库stata处理

    千次阅读 2020-05-22 10:38:47
    一、数据导入 1,利用odbc命令将access格式文件导入stata11 简书的这篇文章讲的很仔细 https://www.jianshu.com/p/d48d7f25cb1c 再结合这一篇 ...2,将stata11转换为stata15需要解决中文乱码问题 命令为: ........
  • 5月10日,由中国科学院主管、科学出版社主办的商业期刊《互联网周刊》发布2021年度信创产业分类排行名单,巨杉数据库作为信创生态中领先的国产分布式数据库,在本次信创数据库企业排行中位列Top5, 充分肯定了巨杉...
  • 做为中小站长来说,一般购买了云服务器之后,可以自己在云服务器ECS上搭建数据库,并不需要另外购买云数据库。但是当网站的数据量规模已经大到一定程度之后,这种应用与数据库不分离的模式就会显露弊端了,会出现...
  • 企业级 MySQL数据库的搭建及管理

    千次阅读 2018-11-29 19:16:27
    数据库(英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象...
  • 连接oracle数据库工具有哪些

    千次阅读 2016-11-19 13:17:57
    对于Oracle数据库管理:Oracle自带的套件里pl/sql plus,基于命令行的;企业管理器,基于GUI/WEB UI(在11g中)的。第三方工具有pl/sql Developer,容易上手,但不能完成一些非常底层的管理功能;Toad for oracle,...
  • 数据库的种类有哪些?区别是?

    千次阅读 2014-12-04 11:08:14
    大型数据库有:Oracle、informix、DB2 中型数据库有:SQL server 、Sybase 小型数据库有:Access、MySQL等。 一、开放性 1. SQL Server 只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是...
  • 介绍几个国产数据库

    千次阅读 2021-03-01 13:49:46
    软件名称:达梦数据库(DM)。 开发商:武汉bai华工达梦数据库有限公司。 软件描述: 达梦数据库具有如下技术特色:支持多个平台之间的互联互访、高效的并发控制机制、有效的查询优化策略、灵活的系统配置...
  • 本课程系列通过对Mysql数据库的当前业界应用情况和未来发展应用前景的分析作为切入点,结合Mysql企业应用的热点关键功能,尽量用通俗易懂的方式讲给大家。本课程是作者收集了大量资料,参考很多讲师的精华内容,坚持...
  • 大数据常用数据库汇总

    千次阅读 2020-05-12 10:58:24
    通常数据库分为关系型数据库和非关系型数据库,关系型数据库的优势到现在也是无可替代的,比如MySQL、SQL Server、Oracle、DB2、SyBase、Informix、PostgreSQL以及比较小型的Access等等数据库,这些数据库支持复杂的...
  • 网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立性和抽象级别上仍很大欠缺。用户在对这两种数据库进行存取时,仍然需要明 确数据的存储结构,指出存取路径。而后来出现的关系数据库...
  • 这里是附下载链接,因为源码中包含很多jar包,所以比较大,请通过链接去下载吧!含基本的人事管理的档案管理、员工管理、部门管理等乱七八糟的,还附加了发送邮件,群聊,生成...含源码,数据库数据库在db目录里面。
  • 天津南大通用数据技术股份有限公司成立于2004年,是国家规划布局内重点软件企业,专注于数据库领域,公司以“软件发掘数据价值”为愿景,以为用户提供好用的数据库产品和优质的技术服务为使命,从成立之日起一直坚持...
  • 企业ERP管理系统源码下载(含数据库和文档) 企业ERP管理系统源码下载(含数据库和文档)
  • 带你发现新大陆!什么是图数据库以及简单入门!

    万次阅读 多人点赞 2018-01-17 21:16:24
    一、关系型数据库的不适性 在众多不同的数据模型里,关系数据模型自20世纪80年代就处于统治地位,而且出现了不少巨头,如Oracle、MySQL,它们也被称为:关系数据库管理系统(RDBMS)。然而,随着关系数据库使用范围...
  • 常用内存数据库介绍

    万次阅读 2018-07-09 23:18:55
    1. 内存数据库简介 1.1 概念 一、什么是内存数据库 传统的数据库管理系统把所有数据都放在磁盘上进行管理,所以称做磁盘数据库(DRDB:Disk-Resident Database)。磁盘数据库需要频繁地访问磁盘来进行数据的操作,...
  • 数据库有哪些种类

    千次阅读 2014-05-05 08:44:24
    用dBASEII建立起来的一个关系称为一个数据库(或称数据库文件),而把对应多个关系建立起来的多个数据库称为数据库系统。dBASEII的另一个重要功能是通过建立命令文件来实现对数据库的使用和管理,对于一个数据库系统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 636,108
精华内容 254,443
关键字:

企业数据库有哪些