架构架构设计师备考第32天——数据库交互NoSQL

news/2025/9/25 18:59:21/文章来源:https://www.cnblogs.com/yfceshi/p/19111791

一、 应用程序与数据库的交互

1 库函数级别访问接口

核心机制

考点:OCI的适用场景与局限性。
考题示例
Q:Oracle的OCI接口属于哪种数据交互方式?其最大缺点是什么?
A:库函数级别访问;强数据库依赖性。


2 嵌入式SQL访问接口

核心机制

  • 将SQL语句嵌入高级语言源码(如C、Java),凭借预编译器转换为纯宿主语言代码。
  • 技术挑战与解决方案
    问题解决方案
    编译器不识别SQL预编译器转换SQL为函数调用
    程序与DBMS数据传递函数库实现数据传递
    数据类型不匹配预编译器处理类型转换
  • 扩展语法:宿主变量声明、游标操作等。

考点:嵌入式SQL的预编译过程、宿主语言概念。


3 通用数据接口标准

代表技术

  1. ODBC(开放数据库连接)
    • 原理:应用程序 → ODBC API → DBMS驱动程序 → 数据库。
    • 优势:统一访问异构数据库(如SQL Server、Oracle)。
    • 流程:注册数据源 → ODBC建立连接 → 执行SQL。
  2. JDBC(Java数据库连接)
    • Java专属API,支持跨数据库SQL执行(如MySQL、PostgreSQL)。
  3. ADO.NET
    • .NET框架的类库,支持关系数据、XML及应用程序交互。

考点:ODBC/JDBC的跨数据库原理、数据源注册机制。
考题示例
Q:ODBC如何建立对不同数据库的统一访问?
A:通过DBMS专属驱动程序屏蔽底层差异。


4 ORM访问接口

核心机制

  • 对象与关系数据库的映射(如Java的Hibernate、MyBatis)。
  • 工作流程
    程序对象 → ORM框架 → 生成SQL → 数据库操作。
  • 优势
    • 降低SQL依赖,提升研发效率(程序员专注对象而非SQL)。
  • 框架对比
    框架类型特点
    Hibernate全自动能力强但复杂笨重
    MyBatis半自动灵活度高,SQL可控

考点:ORM解决“对象-关系阻抗不匹配”的原理、框架选型依据。


二、 NoSQL数据库

1 分类与特点

四大类型

  1. 键值存储(如Redis):高性能读写,适用缓存、会话存储。
  2. 文档数据库(如MongoDB):JSON/BSON格式,灵活模式。
  3. 列族数据库(如Cassandra):分布式存储,高扩展性。
  4. 图数据库(如Neo4j):高效处理实体关系(如社交网络)。

核心特点

  • 无固定模式:动态数据结构。
  • 分布式架构:水平扩展,容错性强。
  • 最终一致性:替代ACID,保障高可用。
2 体系框架

典型架构对比

类型数据模型适用场景
键值库Key-Value实时计数器、配置存储
文档库Document内容管理、用户画像
列族库Wide Column日志分析、时序数据
图数据库Graph推荐系统、欺诈检测

嵌入式架构):

考点:NoSQL分类及适用场景、CAP定理(一致性/可用性/分区容忍性权衡)。


本章核心考点总结

技术类别核心概念典型考题方向
库函数接口OCI强依赖性适用场景分析
嵌入式SQL预编译机制宿主语言作用
通用接口ODBC跨库原理JDBC与Java整合
ORM对象-关系映射Hibernate vs MyBatis
NoSQL分类与CAP定理嵌入式架构特点

附:高频考题

  1. Q:ORM框架如何解决对象与数据库的异构性问题?
    A:借助元数据映射对象属性与表字段,自动生成SQL。
  2. Q:NoSQL中“最终一致性”适用于什么场景?
    A:高并发读写且允许短暂数据不一致的平台(如社交平台点赞)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

交互:在终端中输入用户信息

交互:在终端中输入用户信息Python可以允许用户在终端中输入一些信息。 Input功能 接受输入字符串 # -*- coding: utf-8 -*- name = input("Please input your name:") print("Hello " + name + &…

传奇三端互通新开服网站百度非企推广开户

这个算法来自LINUX的源码,下面带有大神的解析,自己在RTC实验中也使用了,不用月份表,润平年的处理,几行就可得出结果,以下是程序和大神的解析Linux源码中的mktime算法解析我们知道,从CMOS中读出来…

php网站开发系统wordpress 引用网页

近日,紫光云技术有限公司在天津举行主题为“产业城市 擎领未来”的IMPACT2019紫光云峰会,深度阐释打造产业数字引擎的理念和实践,并为unI X云创中心揭牌,发布紫光云芯片产业数字引擎。 天津市人民政府副秘书长杨明远为大会致辞会上…

爱站网关键字挖掘wordpress 小组

Java中new一个对象时,JVM到底做了什么? 在Java编程中,new关键字是我们创建对象的最常用方式。但你是否想过,当你写下new MyClass()时,Java虚拟机(JVM)到底在背后做了哪些工作?今天&…

电脑迁移技巧:适用于 Windows 10/11 的免费磁盘克隆优秀的工具

电脑迁移技巧:适用于 Windows 10/11 的免费磁盘克隆优秀的工具pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

详细介绍:Windows安装PostgreSQL入门操作手册

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

主播网站建立商务网站管理的主要内容数据管理

最近在微调 ChatGLM3-6b 时,训练好模型之后,调用inference_hf.py函数验证模型的时候报了如下错误,下面是解决方案。 我在训练时使用的是ptuning_v2.yaml配置文件,训练运行代码如下: CUDA_VISIBLE_DEVICES1 python fi…

东莞市公租房申请网站-建设网微信积分商城

Apache Doris 在查询优化方面通过结合 RBO 和 CBO,实现了对简单和复杂查询的高效优化。RBO 负责处理常量折叠、子查询改写和谓词下推等基础优化操作,而 CBO 则在 Join Reorder 等复杂场景中发挥作用。这种结合策略使得 Apache Doris 能够在面对各种查询场景时,既能保证优化过…

Java学习日记9.18

9.18 数据类型 整数扩展 进制 二进制: ob 十进制: 没有 八进制: 0 十六进制: 0x int i = 10 int i1 = 010 int i2 = 0x10输出结果将会是 10 8 16浮点数拓展 float 定义的小数必须在后边加一个f或F (因为小数默认的…

在PVE中实现宿主机与虚拟机同网段通信的配置方案

在PVE中实现宿主机与虚拟机同网段通信的配置方案本文内容由笔者根据遇到的问题口述,并通过ai整理而成供,遇到同样问题的同学参考。问题背景 在配置PVE服务器的过程中发现,当网络环境使用VLAN时,如果PVE宿主机的管理…

一种CDN动态加速首次访问加速方法

本文分享自天翼云开发者社区《一种CDN动态加速首次访问加速方法》.作者:蒋辉 具体方案如下: 1. 对于全站加速,节点内部的探测采用的非请求触发式探测(已实现),在首次访问时,使用配置的顶层父方案作为回源节点回源…

CF1716题解

CF1716A 不难发现,只保留一个1即可,其余的怎么变都可以,所以变成k个后,直接取max在序列中有1的情况下必然可以构造出来点击查看代码 #include<bits/stdc++.h> using namespace std; const int N=55; int t,n…

使用vosk模型进行语音识别

模型分享: 通过网盘分享的文件:vosk-model-small-cn-0.22.zip链接: https://pan.baidu.com/s/1FEH1xwDucdC3cEZSAyDOwQ?pwd=k8p5 提取码: k8p5 通过网盘分享的文件:vosk-model-cn-0.22.zip链接: https://pan.baidu…

国外 网站设计中国住房和城乡建设部网站资质查询

文章目录 前言一、技术是推动社会发展的基本动力1.人为什么能成为万物之长呢&#xff1f;2.人为什么要发明工具&#xff0c;进行进化呢&#xff1f;3.人是如何发明工具的&#xff1f;4.为什么要有不同的岗位和行业&#xff1f; 二、计算机(操作系统)发展的基本脉络1.第一台计算…

网站做实名验证成都广告设计培训班

世界上只有一种英雄主义&#xff0c;就是看清生活的真相之后依然热爱生活。对于 Lombok 我相信大部分人都不陌生&#xff0c;但对于它的实现原理以及缺点却鲜为人知&#xff0c;而本文将会从 Lombok 的原理出发&#xff0c;手撸一个简易版的 Lombok&#xff0c;让你理解这个热门…

AI Agent如何重塑人力资源管理?易路iBuilder平台实战案例深度解析

来源|商学院9月刊 文|吕笑颜 ID | BMR2004 导读:本文深度报道了易路iBuilder作为国内首个HR垂直AI Agent操作系统,如何通过39个智能体全面重构人力资源管理价值链。文章基于对易路CEO王天扬的专访,系统阐述了iBui…

docker-compose + macvlan + Elasticsearch - 9.1.4 + Kibana - 9.1.4

操作过程创建工作目录mkdir -p /opt/porsCloud/24-elastic进入工作目录cd /opt/porsCloud/24-elastic创建必要的目录mkdir es_conf es_data es_logs es_plugins kibana_conf kibana_data赋予权限chown -R 1000:0 es_co…

WinForm 计时器 Timer 学习笔记

1. Timer 是干啥的? 就是个“自动闹钟”: 你设定每隔多少毫秒(比如 1000 毫秒 = 1 秒),它就自动执行一段代码。 常见用途:实时显示时间 倒计时 定时刷新数据 轮询状态2. 怎么用?三步搞定(WinForm 拖控件方式)…

RocketMQ入门:基本概念、安装、本地部署与集群部署 - 详解

RocketMQ入门:基本概念、安装、本地部署与集群部署 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consol…

重庆制作网站公司简介梵克雅宝五花手链

React中的“端口&#xff08;Portals&#xff09;”是一种将子节点渲染到DOM****树以外的部分的技术。在React应用中&#xff0c;通常情况下组件的渲染是遵循DOM的层次结构&#xff0c;即子组件会渲染在父组件的DOM节点内部。然而&#xff0c;有些情况下&#xff0c;开发者可能…