关于数据库的类型

我自己总结了一下数据库服务的区别。
虽然我对AWS服务的了解还不够深入,但我将其作为备忘录写成了一篇文章。
如果你想在想起数据库的区别时参考一下,请阅读此文。

数据库的类型 (Databases’ classifications/types)

数据库类型可以大致分为两种。
一种是通过定义数据之间的关系来使用的关系型数据库。
另一种是没有数据之间关系的数据库,使用键值对(Key, value)的NoSQL数据库(非关系型数据库)。

无SQL的类型

NoSQL有四种类型,
NoSQL有四种类型可供选择。

タイプ特徴キーバリューストアキーに対してバリューを入れる単純な構造。データ読み込みが高速。高速なパフォーマンスと分散型拡張に優れている。ワイドカラムストア列指向とも呼ばれ、キーを利用するがデータはカラムに格納する。非機能データを大規模に格納するのが目的ドキュメントデータベースJSONやXMLなどのデータを格納。複雑なデータ構造を扱うアプリで生産性高く柔軟に開発するグラフデータベースデータ同士の関係をグラフで相互に結びついた要素で構成される。RDBと比較して高速横断検索が可能。

关于各种类型的数据库

关系数据库

    概要

企業用的数据库,基本上是关系型数据库。
可通过SQL进行数据操作。

    アーキテクチャ

在数据模型中定义了表之间的关系。

    利用ケース

会计数据等业务结构化数据 huà

オンプレAWSサービスMySQL、OracleなどRDS

数据仓库 (DWH)

    概要

使用结构化数据的企业分析数据库。
专注于数据读取和汇总的BI数据分析数据库。
预先设计所要读取的数据结构,经过加工后储存利用文的数据。
注重响应速度,数据提取和汇总快,但更新和事务较慢。

* 架构

将数据进行分区,并从多个磁盘中读取

    利用データ

将会计数据和其他业务结构化数据进行加工,以便进行商业智能分析。包括KPI测量、竞争对手分析、访问分析等。

オンプレAWSサービスOracle Exadata, VERTICA,TERADATAなどRedshift

分布式数据库和数据湖

    概要

将大数据和物联网数据积累起来,以实现快速处理的数据库和存储组合。
专注于数据提取。
分布式存储数据,适用于大数据的快速处理。

    アーキテクチャ

SQL类似的查询操作是可行的
没有INSERT、UPDATE或DELETE操作
也没有事务支持
只能通过批量加载数据或全部删除来进行数据写入

    利用データ

大数据

オンプレAWSサービスImpala,HDFSなどS3

KVS:键值对存储模式

    概要

通过简单的数据结构,实现了高速处理的数据库。

    アーキテクチャ

以牺牲强大的整合性为代价,采用结果为导向的整合性
采用面向分布式数据模型和查询
不支持事务、聚合、JOIN等操作

    利用データ

大規模的網站後端數據(包括使用者會話、使用者屬性、預先計算的資料快取)
訊息傳遞系統的數據
需要大量寫入的物聯網感測器數據

オンプレAWSサービスradis,riakElastiCache,DynamoDB

宽型衣领

    概要

宽列是一种可以对键进行大规模注册的列型数据库,并且可以执行分布式且简单的操作以提高执行速度。为了在获取数据时不需要进行数据合并,尽可能地将多个数据保留在同一行中。

    • アーキテクチャ

 

    • 結果結合性を採用

 

    • キースペース、カラムファミリ、ロウ、カラムの入れ子構造

 

    • SQLライクなデータ操作が可能

 

    • データの更新は挿入による上書き

 

    利用データ

社交媒体数据的地理位置数据存储
实时分析
数据挖掘处理

オンプレAWSサービスHBASE,cassandraDynamoDB

文件数据库

    概要

可以使用基于文档的数据库来混合保存各种数据结构的文档。

    アーキテクチャ

将JSON/CML用作数据模型
适合小规模数据的同步汇总处理,但不适合批处理
可进行类似SQL的数据操作,比KVS更丰富的查询使操作更容易
通过Sharding实现数据库的分散化

    利用データ

半结构化数据(XML/JSON)
大规模网络日志补全等
在线游戏数据
目录管理

オンプレAWSサービスmongoDB,MarkLogic,CouchDB,CouchbaseAmazon DocumentDB, mongoDB

内存数据网格

    概要

在多台服务器的内存上分散管理大量数据,可以实现毫秒级的快速相应处理。

    アーキテクチャ

通过将数据存放在内存中,实现快速数据访问。
通过在多个服务器上进行数据分布式管理。

    利用データ

在金融交易处理数据中实现毫秒以下的响应时间。

オンプレAWSサービスGEODE,ORACLE,hazelcast,Ignite,InfinisponRedis ElastiCache, Memcached ElastiChache

全搜索引擎×分散式数据库

    概要

使用全文搜索引擎,与分布式数据库协同构建搜索数据库,提取相关度较高的数据并返回。

    アーキテクチャ

Elasticsearch是用于全文搜索的库。它利用了Apache Lucene作为数据存储。它具有高度灵活性和速度的分析能力,可以轻松构建分析、存储和可视化环境。

    利用データ

半结构化数据(XML/JSON)
高可用全文搜索引擎
在网站内进行数据搜索
实时可视化设备注册状态和发布状态等实时搜索要求/搜索行为的可视化

オンプレAWSサービスelasticsearch,kibanaElasticsearch Service

图数据库

    概要

在专注于图形运算的数据库中,利用数据之间的连接方式进行搜索和可视化。

    アーキテクチャ

由于采用了图形数据结构,无法像关系型数据库那样进行横向扩展。
随着记录数量的增加,搜索所需的时间和难度也增加。
它保证了ACID特性,并且能够简单地表达对象之间的关联。

    利用データ

最短路径探索
金融交易的欺诈检测
借助社交网络的关系计算

オンプレAWSサービスneo4jAmazon Neptune

分散的在线事务处理

    概要

全球分散且统一合成的数据库。

    アーキテクチャ

关系型数据库和非关系型数据库具备分布式可扩展性,实现高可用性、高性能的事务和强制合成。

    利用データ

大规模的业务数据处理

オンプレAWSサービス
Amazon aurora

汇总

如果数据结构简单且易于使用,可以使用NoSQL的键值存储(KVS),宽列存储和文档数据库。
如果需要复杂的数据库处理,则可以使用关系型数据库(RDB)或图数据库。
如果想要专注于搜索功能,则可以使用ElasticSearch。
如果想要将其用作数据仓库(DWH),可以使用Redshift。
如果想要将其用作数据湖,则可以使用S3。

广告
将在 10 秒后关闭
bannerAds