首页 > 语言 > 关键词   >  NoSQL最新资讯  > 正文

NoSQL数据库技术特性解析之文档数据库

2012-08-22 10:30 · 稿源:MSDN

示例代码3 包含字符串数据、数字和数组的简单结构。还可在对象内嵌入对象,以获得更复杂的文档结构。

{
  "BlogPostTitle”: “LINQ Queries and RavenDB”,
  "Date":"\/Date(1266953391687+0200)\/",
  "Content":”Querying RavenDB is very familiar for .NET developers who are already
    using LINQ for other purposes”,
  "Comments":[
             {
             "CommentorName":"Julie",
             "Date":"\/Date(1266952919510+0200)\/",
             "Text":"Thanks for using something I already know how to
               work with!",
             "UserId":"users/203907"             
             },
  ]
}

唯一键

所有数据库都需要键。如果不提供键系统则会自动在内部创建一个键。键对于数据库的索引功能至关重要。自身域中要求有已知键,在上面的示例代码中存在对“users/203907”的引用。这正式RavenDB利用键值并允许用户定义文档间关系的方式。

以JSON格式存储数据

共同点都是使用JSON存储器数据。事实上,CouchDB和RavenDB(以及其他许多数据库)均采用JSON格式存储数据。MongoDB对JSON使用称之为“二进制JSON”(BSON)的转换,以便能够执行二进制序列化。BSON是数据的内部表现形式,从编程的角度看开发者不会发现有任何区别。

JSON的简洁性使其很容易将几乎所有语言的对象结构转换为JSON。 因此,开发者可在应用程序中定义对象,然后将其直接存储在数据库中。这使得开发人员不需要使用对象关系映射程序 (ORM) 不断在数据库架构和类/对象架构之间进行转换。

MongoDB BSON API的数据类型和约定列表添加了一种数据类型及其他一些数据类型,以便充实JSON中的可用内容。而在一个单元中存储和检索相关数据可提供显著的性能和可伸缩性的优势。数据库不必四处查找常用的相关的数据,因为数据都存储在相同的位置。

类型的集合

与数据库交互时,应用程序如何知道哪一项代表学生,哪一项代表书,以及哪一项代表博客文章? 数据库使用集合这一概念解决了这一问题。 对于与特定集合(如学生集合)关联的任何文档(无论其架构如何)都可在从该集合请求数据时对其进行检索。使用字段来指示类型也十分常见。这只是使搜索过程更加轻松,但哪些内容应进入集合,哪些不应进入集合,由开发者的应用程序决定。

架构灵活的数据库

前面介绍的“示例代码1”包含自己的架构。 每个记录负责自己的架构,甚至负责单个数据库或集合中包含的架构。并且一个学生记录并不需要与另一学生记录相匹配。开发者只需利用此灵活性来提高效率。例如,为什么存储 null 值? 您可以在属性(如“most_repeated class”)不具有值时执行以下操作:

"name" : "Jim",
"scores" : [ 75, 99, 87.2 ]
"name" : "Julie",
"scores" : [ 50, 40, 65 ],
"most_repeated_class" : "Time Management 101"

文档数据库和领域驱动开发

规划域类(可能成为数据库中的文档)时,开发者可查找通常最为独立的数据(例如具有其明细项的订单),并将其作为单个数据结构加以关注。在订购系统中,可能还有客户和产品。但或许会在不需要订单的客户信息的情况下访问该订单,并且可能会在不需要访问使用产品的订单的情况下使用该产品。这意味着,尽管会发现许多机会来包含独立数据结构(如具有其明细项的订单),但这并不表示在某些情形下可以不必或者不通过外键联接数据。

每个数据库都提供各种可用模式的指南,并为用户指明使用哪些模式可以获得最大成功。 例如MongoDB文档讨论称为“上级数组”的模式,它可加快在联接文档时对相关数据的访问速度。

在关系数据库中,重复数据是个错误。 对数据库进行标准化可确保不出现此情况。 使用NoSQL数据库(尤其是分发数据库)时,对数据进行逆规范化是必要且可接受的。

查询和更新

每个数据库都附带用于查询和更新的API。尽管它们可能不是核心API的一部分,但多语言API是通过加载项提供的。其他查询依赖预定义的视图和称为Map/Reduce的模式。此过程的映射阶段使用这些视图,并且各个数据库的映射职责是不同的。映射还使数据库能够跨多个处理器分发查询处理。化简阶段可获取映射查询(如果已分发,则为多个查询)的结果,并将数据聚合到要返回到客户端的结果中。

尽管CouchDB要求开发者通过预定义的Map/Reduce视图进行查询,但MongoDB(也使用视图和Map/Reduce)另外提供执行临时查询的功能。RavenDB允许使用预定义索引进行查询,但也支持临时查询,并将根据开发者的实际运行时查询自动为其创建索引。但在大多数时候,当不采用SQL数据库的已知架构和关系本质时,开发者会丢失的一个功能是执行临时查询的功能。通过严格控制查询,文档数据库能够实现其快速性能。

数据库变革

有许多非关系数据库都不属于NoSQL范畴。但既然这扇门已经敞开,就会鼓舞更多人去探索其可用的功能,并考虑如何改进它。

原文链接:MSDN  编译:李智

举报

  • 相关推荐
  • 大家在看
  • AI驱动全域进化,金仓数据库以“融合”重构数据基座

    7月15日,电科金仓在京举办"融合进化+智领未来"主题产品发布会,推出多款AI时代数据库产品:KES V92025融合数据库具备多语法体系兼容、多集群架构等特性,性能提升30%;KEMCC统一管控平台实现跨云环境数据库管理;云数据库AI版集成高性能硬件与AI大模型;KFS Ultra智能数据集成平台支持百种数据源。中国人民大学教授王珊指出,数据库与AI深度结合已成释放数据价值关�

  • O域核心!金仓数据库支撑海南移动核心故障管理系统升级上线

    中国移动海南公司成功升级国产化核心故障管理系统"O域",采用金仓数据库技术支持。该系统创新构建五位一体监控体系,实现故障处理效率指数级提升。通过全栈国产化突破,采用分布式数据核心架构,实现99.999%高可用性和毫秒级响应。在2024年超强台风"摩羯"登陆期间,系统凭借同城双中心灾备架构稳定运行,保障了通信命脉。金仓数据库通过PLSQL优化、固定缓冲池等核心技术,使系统性能显著提升:告警分析速度提升450%,拓朴查询效率跃升644%,历史数据清理效率提高7倍,存储空间降低12%。

  • 金仓数据库26周年|淬火砺重器,万里再扬帆

    金仓数据库26年发展历程:从萨师煊教授70年代引入数据库概念,到王珊教授团队1999年创立金仓公司实现产业化突破,见证了中国数据库从无到有的发展。金仓坚持自主创新,打造KES融合数据库产品体系,拥有700多项专利,服务金融、能源等国家重点行业,装机量超百万套。公司构建产学研生态,培养数万名专业人才,推动国产数据库生态建设。站在新起点,金仓将继续以自主可控技术支撑千行百业数字化转型,助力数字中国建设。

  • AIbase完整评测:20,000+AI工具库深度解析

    AIbase是一个强大的AI工具导航平台,收录超过2万个AI工具并每日更新。它通过智能搜索、精准分类和用户友好界面,帮助开发者、设计师、营销人员和普通用户快速找到适合的AI工具。平台提供写作助手、视频编辑、代码生成等各类工具,并支持多语言访问。AIbase的核心优势在于庞大的数据库和高效更新机制,解决了用户在AI工具海洋中筛选的痛点。虽然存在用户深度评价不足�

  • AIbase完整评测:20,382+AI工具库背后的秘密

    AIbase.com是一个强大的AI工具发现平台,拥有超过20,382个AI工具的庞大数据库,每日持续更新。平台通过智能搜索和15+分类体系(如AI写作、视频编辑、代码生成等)帮助用户快速定位所需工具。作者通过实际案例展示了AIbase如何提升工作效率300%,包括快速找到社交媒体文案生成器、视频编辑工具和代码生成器等。平台优势在于工具数量庞大、分类精准、搜索高效,但也存在用户

  • 在质疑声中前行:谢海玉用数据回应所有偏见

    谢海玉在科研困境中坚持探索的故事。他连续37天熬夜实验却数据不理想,向海外学者求助只得到过时数据。面对质疑和团队危机,他通过上万组数据验证猜想,最终将冷门领域变成显学。2019年实验平台突发故障时,他独自排查三天找到问题,带领团队通宵补救并发现新方法。如今他仍保持泡实验室的习惯,常对学生说科研就像在黑暗中挖隧道,每挖一厘米就更接近光明。

  • 硬盘丢失了数据怎么恢复?硬盘数据恢复的6种方法

    文章分析了硬盘数据丢失的常见原因及恢复方法。数据丢失主要源于人为误操作、硬件故障、软件系统问题和环境因素四类。针对不同情况,介绍了6种恢复方法:回收站还原、系统版本回退、备份还原、Mac系统的TimeMachine、命令行操作以及专业数据恢复软件。其中专业软件如转转大师能深度扫描硬盘,支持多种文件格式恢复,操作简便且成功率高。文章强调数据丢失后应避免写入操作,根据实际情况选择合适恢复方式,并建议做好日常备份预防数据丢失。

  • 2025年国外AI工具排名TOP10|全球热门AI工具全面解析 + 最全AI工具库推荐

    文章介绍了2025年国外AI工具Top10榜单,包括ChatGPT(对话生成)、Claude(长文本处理)、Midjourney(图像生成)、Gemini(多模态生成)、GitHub C opilot(编程辅助)、Notion AI(知识管理)、Perplexity AI(智能搜索)、Runway ML(视频编辑)、ElevenLabs(语音合成)和Descript(音视频编辑)。推荐使用AIbase平台一站式查找和管理AI工具,该平台收录上千款工具,支持智能搜索分类,提供中文界面和实时更新。建议用户关�

  • 融合数据中台与动态调度:林剑峰在共享出行智能算法开发中的技术探索

    本文讲述了林剑峰在智能出行领域的十年深耕历程。作为系统工程师,他主导构建了融合数据、算法与规则引擎的智能调度体系,通过动态聚类和路径规划模型显著提升了共享单车调度效率。其创新包括分级围栏模型、嵌入式调度判断模块等专利技术,实现了跨区域精准调度和系统自主运行能力。数据显示,他推动的系统使车辆调度效率提升37.38%,异常识别准确率显著提高。林剑峰的工作体现了"技术+业务"的系统设计理念,为城市智能交通建设提供了可借鉴的技术范式。

  • 还在搜“最新AI产品”?这个AI产品库让你领先99%的人!

    文章介绍AIbase产品库,这是一个专注于AI工具导航的平台。它通过每日更新全球最新AI产品、精准分类(如写作、绘画、视频生成等)、多维度筛选(价格、功能、平台)和真实用户评价,帮助用户高效发现优质AI工具。平台覆盖办公提效、创意设计、编程开发等场景,解决信息过载问题,让用户能快速找到适合自己需求的AI解决方案。

这篇文章对你有价值吗?

今日大家都在搜的词: