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, 比较容易映射复杂值的环境。

相关推荐
iAm_Ike4 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt4 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
tongluowan0075 小时前
MySQL中列数量及长度
数据库·mysql
-liming-6 小时前
单片机设计_串口调试工具
数据库·单片机·mongodb
鹿角片ljp6 小时前
从告警检测到智能研判:SQL 注入研判模型的设计与实践
数据库·sql
小新同学^O^7 小时前
简单学习 --> Spring事务
数据库·学习·spring
前进的李工7 小时前
MySQL慢查询日志优化实战
数据库·mysql·性能优化
KaMeidebaby8 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博
ECT-OS-JiuHuaShan8 小时前
彻底定理化:从量子纠缠到量子代谢
数据库·人工智能·学习·算法·生活·量子计算