个人理财 文档大数据环境中的数据库 - 傻瓜

文档大数据环境中的数据库 - 傻瓜

目录:

视频: Lesson 4 Fastai 2019 NLP; Tabular data; Collaborative filtering; Embeddings(中文字幕) 2025

视频: Lesson 4 Fastai 2019 NLP; Tabular data; Collaborative filtering; Embeddings(中文字幕) 2025
Anonim

您可以找到两种大数据项目的文档数据库。其中一个经常被描述为完整的文档样式内容的存储库。另一个是用于存储永久存储的文档组件作为静态实体或动态组装文档各部分的数据库。文档及其部分的结构由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实现包括

  • 大容量内容管理 从智能手机扩展到数据中心

  • 网络连接受限或缓慢的应用程序

文档大数据环境中的数据库 - 傻瓜

编辑的选择

记录您的思科网络配置与CDP - 傻瓜

记录您的思科网络配置与CDP - 傻瓜

记录思科网络配置有时没有思科发现协议)可能需要花费数小时在布线室跟踪电缆和记录端口。在某些情况下,配线室是一个真正的老鼠的电缆巢,并且可能需要几个小时的导航才能找出哪些交换机连接到哪个交换机,哪些路由器,...

以太网通道诊断信息收集 - 虚拟

以太网通道诊断信息收集 - 虚拟

诊断思科网络中的以太网通道问题,您首先必须能够收集您的交换机及其配置。为了执行这个任务,你一如既往地依靠Show和debug命令。首先,简要介绍一下show命令的内容。 Switch1> enable Switch1#configure terminal Switch2#show EtherChannel ...

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL) - 虚拟

扩展访问控制列表(ACL)允许您允许拒绝来自特定IP地址的流量到特定的目标IP地址和端口。它还允许您指定不同类型的流量,如ICMP,TCP,UDP等。不用说,它非常细化,可以使您非常具体。如果...

编辑的选择

电子项目计划步骤1:设想您的电子项目 - 傻瓜

电子项目计划步骤1:设想您的电子项目 - 傻瓜

设计和建立你的电子项目的细节,你应该退后一步,看看大局。首先,你需要确保你有一个坚实的想法为您的项目。你为什么要建立它?它会做什么,谁来使用它,为什么? ...

电子项目计划步骤4:构建您的电路 - 傻瓜

电子项目计划步骤4:构建您的电路 - 傻瓜

而且你对它的操作感到满意,你可以建立一个永久版本的电路。虽然有几种方法可以做到这一点,但最常见的是在印刷电路板(也称为PCB)上构建电路。请注意,在PCB上组装电路...

电子项目计划步骤3:原型电路 - 假人

电子项目计划步骤3:原型电路 - 假人

永久的电路板,你会想确保它的工作。最简单的方法就是在无焊面包板上构建电路。无焊料面包板可以让您快速组装电路元件而不需要焊接任何东西。相反,您只需将其裸露在外...

编辑的选择

如何替换R中的文本 - 虚拟变量

如何替换R中的文本 - 虚拟变量

R中的sub()函数在文本模式,并用替换文本替换此模式。你使用sub()来替代文本文本,并使用其表兄gsub()来替换所有出现的模式。 (gsub()中的g表示全局。)假设你有句子He ...

中如何成功地遵循命名惯例在R - 傻瓜

中如何成功地遵循命名惯例在R - 傻瓜

R是非常自由的,对象和功能。这个自由是一个很大的祝福,同时也是一个很大的负担。没有人不得不遵循严格的规则,所以在R中编程的人基本上可以按照自己的意愿去做。如何选择一个正确的名字...

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

中使用函数在R中创建并转换脚本后,如何使用R - dummies中的函数

再次使用前面显示的Source()命令将其加载到控制台中。现在你看...什么也没有。 R并不让你知道它已经加载了这个函数,但它已经在工作空间中了,你可以检查一下...