NoSQL数据库-体系框架

NoSQL整体框架分为4层,由下至上分为数据持久层(Data Persistence)、 数据分布层 (Data Distribution Model)、 数据逻辑模型层 (Data Logical Model) 和接口层 (Interface), 层次 之间相辅相成,协调工作。

(1)数据持久层定义了数据的存储形式,主要包括基于内存、硬盘、内存和硬盘接口、订 制可插拔4种形式。基于内存形式的数据存取速度最快,但可能会造成数据丢失;基于硬盘的 数据存储可能保存很久,但存取速度慢于基于内存形式的数据;内存和硬盘相结合的形式,结 合了前两种形式的优点,既保证了速度,又保证了数据不丢失;订制可插拔则保证了数据存取 具有较高的灵活性。

(2)数据分布层定义了数据是如何分布的,相对于关系型数据库, NoSQL可选的机制比较 多,主要有3种形式:一是CAP支持,可用于水平扩展;二是多数据中心支持,可以保证在横 跨多数据中心时也能够平稳运行;三是动态部署支持,可以在运行着的集群中动态地添加或删 除结点。

(3)数据逻辑层表述了数据的逻辑表现形式。

(4)接口层为上层应用提供了方便的数据调用接口,提供的选择远多于关系型数据库。接 口层提供了5种选择:Rest、Thrift、Map/Reduce、Get/Put、 特定语言API, 使得应用程序和数 据库的交互更加方便。

NoSQL分层架构并不代表每个产品在每一层只有一种选择。相反,这种分层设计提供了很 大的灵活性和兼容性,每种数据库在不同层面可以支持多种特性。

NoSQL数据库在以下这几种情况比较适用:

●数据模型比较简单;

●需要灵活性更强的IT系统;

●对数据库性能要求较高;

●不需要高度的数据一致性;

对于给定key, 比较容易映射复杂值的环境。

相关推荐
probex_3 小时前
从 ByConity 到 VictoriaMetrics:一次指标数据迁移引发的四种存储对比
数据库
Patrick在香港3 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
这个DBA有点耶3 小时前
自增主键用尽了怎么办?INT溢出、在线迁移与预防策略全解析
数据库·mysql·代码规范
老纪的技术唠嗑局4 小时前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
Data_Journal4 小时前
使用 AutoScraper 进行网页抓取:分步教程
大数据·开发语言·数据库·python·scrapy
白远山5 小时前
健身场馆无人自动化解决方案:从架构到落地实践
java·开发语言·数据库·数据挖掘·需求分析
虎虎(_ _)。゜zzZ5 小时前
SQLAlchemy入门教程
数据库·后端·python·sql·ai·sqlalchemy
Data_Journal6 小时前
如何将网页抓取用于机器学习
大数据·开发语言·数据库·python·scrapy
Lyra_Infra6 小时前
从 MySQL 到达梦:一次信创隔离环境里的数据库迁移踩坑实录
数据库·后端·mysql
数据工匠老o6 小时前
sysbench/TPC-C/自定义脚本:数据库压测工具对比与实战流程
数据库·测试