|数据库有哪些分类?应该怎样选择?终于有人讲明白了( 二 )
在文档数据库中可能很难使用多对多关系 , 但是在关系型数据库中这非常简单 。 如果应用的数据具有很多关系 , 尤其是有事务处理的需求 , 那么这些数据库可能很合适 。
04 图数据库
图数据库存储两种类型的信息:边和节点 。 边定义了节点之间的关系 , 你可以把节点看作实体 。 节点和边都具有属性 , 其中存储了该节点或边的一些信息 。 边通常会定义关系的方向或性质 。
图数据库可以很好地分析实体之间的关系 。 图数据也可以存储在任何其他数据库中 , 但是当图的遍历变得越来越复杂时 , 其他类型的存储可能很难满足图数据对性能和伸缩性的需求 。
本文插图
05 列族数据库
列族数据库(column family database)将数据组织成行和列 , 乍一看可能与关系型数据库非常相似 。 你可以将列族数据库视为行和列组成的表格数据 , 但是列被分了组 , 称为列族 。
每个列族包含了一组逻辑上相关的列 , 通常被作为一个单元进行检索或操作 。 能被单独访问的数据可以存储在单独的列族中 。 在一个列族中 , 可以动态添加新列 , 并且行可以是稀疏的(也就是说 , 行不需要在每个列下面都有值) 。
06 时序数据库
时序数据库是针对时间进行优化的数据库 , 可根据时间来存储值 。 这些数据库通常需要支持大量的写操作 。 它们通常被用于从大量数据源实时收集大量数据 。 这些数据很少更新 , 删除操作通常是批量进行的 。 写入时序数据库的记录通常很小 , 但记录的量很多 。
时序数据库非常适合存储遥测数据 。 流行的用途包括物联网(IoT)传感器或应用程序/系统的计数器 。 时序数据库通常会提供数据保持、下采样以及根据数据使用模式的配置将数据保存到其他存储中的功能 。
本文插图
07 搜索引擎
搜索引擎数据库通常用于搜索保存在其他存储和服务中的数据 。 搜索引擎数据库可以对大量的数据建立索引 , 并提供近实时的索引查询 。
除了搜索像网页这样的非结构化的数据 , 许多应用程序还使用它为其他数据库中的数据提供结构化和即时搜索功能 。 有一些数据库也能提供全文索引功能 , 但是搜索数据库还具备通过词干和泛化将单词缩减为词根的功能 。
关于作者:鲍里斯·肖勒(Boris Scholl)是Azure计算团队的产品架构师 , 专注于下一代分布式系统平台和应用程序模型的研究 , 拥有多项有关云计算与分布式系统的专利 。
特伦特·斯旺森(Trent Swanson)是专注于云和边缘技术的软件架构师 。 他帮助了不少微软的大客户把应用迁移上云 , 或在云中构建应用 。
彼得·加索维奇(Peter Jausovec)是一名软件工程师 , 在软件开发和技术领域有10多年的经验 。 近年来 , 他一直致力于开发分布式系统上的云原生解决方案 。
本文摘编自《云原生:运用容器、函数计算和数据构建下一代应用》 , 经出版方授权发布 。
本文插图
【|数据库有哪些分类?应该怎样选择?终于有人讲明白了】
延伸阅读《云原生》
推荐语:本书首先介绍一些分布式系统的基本原理及其与云原生应用的关系 , 然后再进一步介绍容器和函数等相关技术 , 接着 , 本书会介绍服务间的通信模式、服务的弹性和数据模式 , 并讨论在什么情况下应该使用这些技术 , 最后会总结一些经验性的东西 , 例如如何结合DevOps方法 , 怎么兼顾可移植性 , 以及一些最佳实践 。
推荐阅读
- 技术编程|如何利用数据库进行世界史研究
- 群众网|还有哪些互联网最初的记忆在逐渐淡出大众的视线,你还记得吗
- 科技零接触|出差旅游必备的哪些数码设备,你一般都带哪些出门?
- 互联网|跨境电商运营具体都做哪些工作
- 编辑器|PDF编辑器有哪些文本工具?分别有什么作用?
- 修养|一个好文案有哪些专业修养?
- 数据库|面试官:说说MySQL数据库分库分表,并且会有哪些问题?
- 科学|蛇最长可活40年?中国十大毒蛇有哪些?
- 拍照摄影|关于手机摄影,有哪些外置设备?该如何选择合适的外置摄影设备?
- 小蚁爆款文案|和日常的内容选题相比,追热点有哪些附加的价值 ?
