目录:
- MongoDB由包含“集合”的数据库组成。 “集合由”文档“组成,每个文档由字段组成。就像在关系数据库中一样,您可以为一个集合建立索引。这样做会提高数据查找的性能。但是,与其他数据库不同的是,MongoDB返回一个称为“游标”的东西,作为指向数据的指针。这是一个非常有用的功能,因为它提供了对数据进行计数或分类的选项,而不用提取数据。从本质上讲,MongoDB支持BSON,即JSON文档的二进制实现。
- 数据库被压缩以消除当达到某种程度的空虚时浪费的空间。这有助于提高性能和效率。
视频: Lesson 4 Fastai 2019 NLP; Tabular data; Collaborative filtering; Embeddings(中文字幕) 2024
您可以找到两种大数据项目的文档数据库。其中一个经常被描述为完整的文档样式内容的存储库。另一个是用于存储永久存储的文档组件作为静态实体或动态组装文档各部分的数据库。文档及其部分的结构由JavaScript对象表示法(JSON)和/或二进制JSON(BSON)提供。
<!文档数据库是非常有用的,当你必须产生大量的报告,他们需要从经常变化的元素动态组合。 JSON是一种数据交换格式,基于JavaScript编程语言的一个子集。虽然是编程语言的一部分,但它本质上是文本的,并且非常容易读写。它还具有易于电脑处理的优点。 JSON中存在两个基本结构,即使不是所有的现代编程语言也支持它们。
第一个基本结构是名称/值对的集合,它们以编程方式表示为对象,记录,键控列表等。第二个基本结构是有序的值列表,它们以编程方式表示为数组,列表或序列。 BSON是JSON结构的二进制序列化,旨在提高性能和可伸缩性。 MongoDB的大数据
MongoDB是“hu(mongo)us数据库”系统的项目名称。它由一个名为10gen的开源公司维护,可以在GNU AGPL v3下免费获得。 0许可证。完全支持的商业许可证可从10gen获得。
MongoDB由包含“集合”的数据库组成。 “集合由”文档“组成,每个文档由字段组成。就像在关系数据库中一样,您可以为一个集合建立索引。这样做会提高数据查找的性能。但是,与其他数据库不同的是,MongoDB返回一个称为“游标”的东西,作为指向数据的指针。这是一个非常有用的功能,因为它提供了对数据进行计数或分类的选项,而不用提取数据。从本质上讲,MongoDB支持BSON,即JSON文档的二进制实现。
MongoDB也是一个由以下元素组成的生态系统:用于在本地和广域网上扩展的高可用性和复制服务。
基于网格的文件系统,通过将大型对象分割为多个文档来实现存储。MapReduce支持不同集合/文档的分析和聚合。
在单个或多个数据中心内的服务器集群中分布单个数据库的分片服务。该服务由分片键驱动。分片键用于跨多个实例智能地分发文档。
支持即席查询,分布式查询和全文搜索的查询服务。
-
有效的MongoDB实现包括
-
大容量内容管理
-
社交网络
-
存档
-
实时分析
大数据的CouchDB
-
另一个非常流行的非关系数据库是CouchDB。和MongoDB一样,CouchDB也是开源的。它由Apache Software Foundation维护,并在Apache License v2下提供。与MongoDB不同,CouchDB被设计为在各个方面模仿网页。例如,CouchDB对网络丢失具有适应性,并且在网络连接不稳定的地区将继续保持良好的运行状态。这也是在家里的智能手机或数据中心。这一切都带来了一些权衡。由于潜在的网络模仿,CouchDB是高延迟导致本地数据存储的首选。 CouchDB不适合较小的实现。您必须确定在开始执行大数据时,这些权衡是否可以忽略。
-
CouchDB数据库由字段和附件组成的文档以及由系统自动维护的元数据形式的文档“描述”组成。底层技术具有所有ACID功能。与CouchDB相比,CouchDB的优势在于数据被打包并准备好进行操作或存储,而不是分散在行和表中。
-
CouchDB也是一个具有以下功能的生态系统:
-
压缩:
数据库被压缩以消除当达到某种程度的空虚时浪费的空间。这有助于提高性能和效率。
查看模型:
使用一组定义的过滤,组织和报告数据的机制,这些定义作为文档存储在数据库中。您可以找到数据库与视图之间的一对多关系,因此您可以创建许多不同的方式来表示“切片和切块”的数据。 “
复制和分布式服务:
文档存储旨在提供双向复制。可以维护部分副本以支持基于标准的分发或迁移到连接受限的设备。本地复制是基于对等的,但您可以实现主/从,主/主和其他类型的复制模式。
有效的CouchDB实现包括
-
大容量内容管理 从智能手机扩展到数据中心
-
网络连接受限或缓慢的应用程序